hyades.physics.Body.GetClosestPoint C# (CSharp) 메소드

GetClosestPoint() 공개 메소드

public GetClosestPoint ( Vector2 point, Vector2 &closest, Vector2 &normal, int &pointA, int &pointB, float &edgeD ) : float
point Vector2
closest Vector2
normal Vector2
pointA int
pointB int
edgeD float
리턴 float
        public float GetClosestPoint(Vector2 point, out Vector2 closest, out Vector2 normal, out int pointA, out int pointB, out float edgeD)
        {
            closest = Vector2.Zero;
            pointA = -1;
            pointB = -1;
            edgeD = 0f;
            normal = Vector2.Zero;

            float closestD = 1000.0f;

            for (int i = 0; i < count; i++)
            {
                Vector2 tempHit;
                Vector2 tempNorm;
                float tempEdgeD;

                float dist = GetClosestPointOnEdge(point, i, out tempHit, out tempNorm, out tempEdgeD);
                if (dist < closestD)
                {
                    closestD = dist;
                    pointA = i;
                    if (i < (count - 1))
                        pointB = i + 1;
                    else
                        pointB = 0;
                    edgeD = tempEdgeD;
                    normal = tempNorm;
                    closest = tempHit;
                }
            }

            // return.
            return closestD;
        }