Back to class index
Triangle[Class Summary]
a
b
c
ctor (+1 overload)
Translate(offset)
Transform(transform) (+3 overloads)
BarycentricUVW(point)[const]
BarycentricUV(point)[const]
Point(uvw)[const] (+3 overloads)
Centroid()[const]
CenterPoint()[const]
Area()[const]
Perimeter()[const]
VertexArrayPtr() (+1 overload)
Vertex(i)[const]
CornerPoint(i)[const]
Edge(i)[const]
PlaneCCW()[const]
PlaneCW()[const]
NormalCCW()[const]
NormalCW()[const]
UnnormalizedNormalCCW()[const]
UnnormalizedNormalCW()[const]
AnyPointFast()[const]
ExtremePoint(direction)[const] (+1 overload)
ToPolygon()[const]
ToPolyhedron()[const]
BoundingAABB()[const]
IsFinite()[const]
IsDegenerate(epsilon)[const]
Contains(...)[const] (+2 overloads)
Distance(point)[const] (+2 overloads)
DistanceSq(point)[const]
Intersects(...)[const] (+12 overloads)
ProjectToAxis(axis,dMin,dMax)[const]
UniqueFaceNormals(out)[const]
UniqueEdgeDirections(out)[const]
ClosestPoint(point)[const] (+3 overloads)
ClosestPointToTriangleEdge(...)[const] (+1 overload)
RandomPointInside(rng)[const]
RandomVertex(rng)[const]
RandomPointOnEdge(rng)[const]
ToString()[const]
SerializeToString()[const]
SerializeToCodeString()[const]
Equals(rhs,epsilon)[const]
BitEquals(other)[const]
NumFaces()[static]
NumEdges()[static]
NumVertices()[static]
BarycentricInsideTriangle(uvw)[static]
Area2D(p1,p2,p3)[static]
SignedArea(point,a,b,c)[static]
IsDegenerate(p1,p2,p3,epsilon)[static]
IntersectLineTri(...)[static]
FromString(str,outEndStr)[static] (+1 overload)

Triangle::ClosestPointToTriangleEdge

Syntax

float4 Triangle::ClosestPointToTriangleEdge(const Line &line, float *outU, float *outV, float *outD) const; [34 lines of code]
float4 Triangle::ClosestPointToTriangleEdge(const LineSegment &lineSegment, float *outU, float *outV, float *outD) const; [34 lines of code]

Computes the closest point on the edge of this triangle to the given object.

Parameters

float *outU [out]If specified, receives the barycentric U coordinate of the returned point (in the UV convention). This pointer may be null.float *outV [out]If specified, receives the barycentric V coordinate of the returned point (in the UV convention). This pointer may be null.float *outD [out]If specified, receives the distance along the line of the closest point on the line to the edge of this triangle.

Return Value

The closest point on the edge of this triangle to the given object.

See Also

Distance(), Contains(), Intersects(), ClosestPointToTriangleEdge(), Line::GetPoint.

Work in progress:

Todo: in float4 Triangle::ClosestPointToTriangleEdge(const Line &line, float *outU, float *outV, float *outD) const:
Add ClosestPointToTriangleEdge(Point/Ray/Triangle/Plane/Polygon/Circle/Disk/AABB/OBB/Sphere/Capsule/Frustum/Polyhedron).
Todo: in float4 Triangle::ClosestPointToTriangleEdge(const Line &line, float *outU, float *outV, float *outD) const:
Optimize!
Todo: in float4 Triangle::ClosestPointToTriangleEdge(const LineSegment &lineSegment, float *outU, float *outV, float *outD) const:
Optimize!