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::Point

Syntax

float4 Triangle::Point(const float3 &uvw) const; [4 lines of code]
float4 Triangle::Point(float u, float v, float w) const; [4 lines of code]

Returns the point at the given barycentric coordinates.

This function computes the vector space point at the given barycentric coordinates.

Parameters

const float3 &uvwThe barycentric UVW coordinate triplet. The condition u+v+w == 1 should hold for the input coordinate. If 0 <= u,v,w <= 1, the returned point lies inside this triangle.

Return Value

u*a + v*b + w*c.

Syntax

float4 Triangle::Point(const float2 &uv) const; [4 lines of code]
float4 Triangle::Point(float u, float v) const; [7 lines of code]

These functions are an alternate form of Point(u,v,w) for the case when the barycentric coordinates are represented as a (u,v) pair and not as a (u,v,w) triplet.

This function is provided for convenience and effectively just computes Point(1-u-v, u, v).

Parameters

const float2 &uvThe barycentric UV coordinates. If 0 <= u,v <= 1 and u+v <= 1, then the returned point lies inside this triangle.

Return Value

a + (b-a)*u + (c-a)*v.

See Also

BarycentricUV(), BarycentricUVW(), BarycentricInsideTriangle().