BEPUphysics.CollisionShapes.ConvexShapes.ConvexShape.GetExtremePoint C# (CSharp) Метод

GetExtremePoint() публичный Метод

Gets the extreme point of the shape in world space in a given direction with margin expansion.
public GetExtremePoint ( Vector3 direction, RigidTransform &shapeTransform, Vector3 &extremePoint ) : void
direction Vector3 Direction to find the extreme point in.
shapeTransform BEPUutilities.RigidTransform Transform to use for the shape.
extremePoint Vector3 Extreme point on the shape.
Результат void
        public void GetExtremePoint(Vector3 direction, ref RigidTransform shapeTransform, out Vector3 extremePoint)
        {
            GetExtremePointWithoutMargin(direction, ref shapeTransform, out extremePoint);

            float directionLength = direction.LengthSquared();
            if (directionLength > Toolbox.Epsilon)
            {
                Vector3.Multiply(ref direction, collisionMargin / (float)Math.Sqrt(directionLength), out direction);
                Vector3.Add(ref extremePoint, ref direction, out extremePoint);
            }

        }

Usage Example

Пример #1
0
 static void GetSweptExtremePoint(ConvexShape shape, ref Vector3 point, ref Vector3 sweep, ref Vector3 extremePointDirection, out Vector3 extremePoint)
 {
     shape.GetExtremePoint(extremePointDirection, ref Toolbox.RigidIdentity, out extremePoint);
     Vector3.Subtract(ref extremePoint, ref point, out extremePoint);
     float dot;
     Vector3.Dot(ref extremePointDirection, ref sweep, out dot);
     if (dot > 0)
     {
         Vector3.Add(ref extremePoint, ref sweep, out extremePoint);
     }
 }