Back to class index
Polyhedron[Class Summary]
v
f
ctor
NumVertices()[const]
NumFaces()[const]
NumEdges()[const]
VertexArrayPtr() (+1 overload)
Vertex(vertexIndex)[const]
Edge(edgeIndex)[const]
Edges()[const]
Faces()[const]
EdgeIndices()[const]
FacePolygon(faceIndex)[const]
FacePlane(faceIndex)[const]
FaceNormal(faceIndex)[const]
ExtremeVertex(direction)[const]
ExtremePoint(direction)[const]
ProjectToAxis(...)[const]
ConvexCentroid()[const]
ApproximateConvexCentroid()[const]
SurfaceArea()[const]
Volume()[const]
MinimalEnclosingAABB()[const]
MergeAdjacentPlanarFaces()
FaceIndicesValid()[const]
FlipWindingOrder()
OrientNormalsOutsideConvex()
RemoveRedundantVertices()
IsNull()[const]
IsClosed()[const]
IsConvex()[const]
EulerFormulaHolds()[const]
FacesAreNondegeneratePlanar(epsilon)[const]
ClipLineSegmentToConvexPolyhedron(...)[const]
NearestVertex(point)[const]
Contains(point)[const] (+7 overloads)
FaceContains(...)[const]
FaceContainmentDistance2D(...)[const]
ContainsConvex(point,epsilon)[const] (+2 overloads)
ClosestPoint(...)[const] (+2 overloads)
ClosestPointConvex(point)[const]
Distance(point)[const]
Intersects(lineSegment)[const] (+11 overloads)
IntersectsConvex(line)[const] (+2 overloads)
MergeConvex(point)
Translate(offset)
Transform(transform) (+3 overloads)
SetEquals(p2)
SwapVertices(i,j)
CanonicalizeFaceArray()
ContainsFace(face)[const]
FindClosestVertex(pt,outDistanceSq)[const]
Triangulate()[const]
ToString()[const]
ConvexHull(...)[static]
Tetrahedron(...)[static]
Octahedron(...)[static]
Hexahedron(...)[static]
Icosahedron(...)[static]
Dodecahedron(...)[static]

Polyhedron::Contains

Syntax

bool Polyhedron::Contains(const float4 &point) const; [75 lines of code]
bool Polyhedron::Contains(const LineSegment &lineSegment) const; [4 lines of code]
bool Polyhedron::Contains(const Triangle &triangle) const; [4 lines of code]
bool Polyhedron::Contains(const Polygon &polygon) const; [7 lines of code]
bool Polyhedron::Contains(const AABB &aabb) const; [8 lines of code]
bool Polyhedron::Contains(const OBB &obb) const; [8 lines of code]
bool Polyhedron::Contains(const Frustum &frustum) const; [8 lines of code]
bool Polyhedron::Contains(const Polyhedron &polyhedron) const; [9 lines of code]

Tests if the given object is fully contained inside this closed polyhedron.

This function treats this polyhedron as a non-convex object. If you know this polyhedron to be convex, you can use the faster ContainsConvex() function.

Note
This function assumes that this polyhedron is closed and its edges are not self-intersecting.

See Also

ContainsConvex(), ClosestPoint(), ClosestPointConvex(), Distance(), Intersects(), IntersectsConvex().

Work in progress:

Todo: in bool Polyhedron::Contains(const float4 &point) const:
Add Contains(Circle/Disc/Sphere/Capsule).