All pastes #737207 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-15 06:49 UTC
rendered paste body
public override void ConstrainTo( PointMass point )
        {
            Vector2 displacement = point.GetPos( ) - OwnerPoint.GetPos( );
            Vector2 halfDisplacement = ( point.GetPos( ) + OwnerPoint.GetPos( ) );
            halfDisplacement = new Vector2( halfDisplacement.X / 2, halfDisplacement.Y / 2 );

            if( displacement.Length( ) == 0f )
            {
                displacement = new Vector2( 1.0f, 0.0f );
            }

            //  Scale to required radius.

            displacement.Normalize( );
            displacement.Scale( Radius );

            //  displacement = new Vector2( displacement.X * Radius, displacement.Y * Radius );
            if( !point.GetPin( ) )
                point.SetPos( halfDisplacement + new Vector2( displacement.X / 2, displacement.Y / 2 ) );
            if( !OwnerPoint.GetPin( ) )
                OwnerPoint.SetPos( halfDisplacement - new Vector2( displacement.X / 2, displacement.Y / 2 ) );
        }