rendered paste bodypublic 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 ) );
}