Module |
|
Header |
/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ConvexHalfEdgeStructureData.h |
Include |
#include "Chaos/ConvexHalfEdgeStructureData.h" |
template<typename T_INDEX>
class TConvexHalfEdgeStructureData
Convex half-edge structure data. Uses indices rather than pointers. Supports different index sizes.
Name | Description | ||
---|---|---|---|
|
CanMake |
Return true if we can support this convex, based on number of features and maximum index size. |
|
|
FindVertexPlanes |
Fill an array with plane indices for the specified vertex. Return the number of planes found. |
|
|
GetEdgePlane |
Get a plane for the specified Edge ( edge index, not half-edge index) EdgeIndex must be in range [0, NumEdges()) EdgePlaneIndex must be 0 or 1 return value is in range [0, NumPlanes()) |
|
|
GetEdgeVertex |
Get a vertex in the specified Edge ( edge index, not half-edge index) EdgeIndex must be in range [0, NumEdges()) EdgeVertexIndex must be 0 or 1 return value is in range [0, NumVertices()) |
|
|
const FHalfE... |
GetHalfEdge ( |
|
|
FHalfEdgeDat... |
GetHalfEdge ( |
|
|
GetHalfEdgePlane ( |
HalfEdgeIndex must be in range [0, NumHalfEdges()) return value is in range [0, NumPlanes()) |
|
|
GetHalfEdgeVertex ( |
HalfEdgeIndex must be in range [0, NumHalfEdges()) return value is in range [0, NumVertices()) |
|
|
GetNextHalfEdge ( |
Get the next half edge on the same plane HalfEdgeIndex must be in range [0, NumHalfEdges()) return value is in range [0, NumHalfEdges()) |
|
|
const FPlane... |
GetPlane ( |
|
|
GetPlane ( |
||
|
GetPlaneHalfEdge |
The edge index of one of the bounding edges of a plane PlaneIndex must be in range [0, NumPlanes()) PlaneEdgeIndex must be in range [0, NumPlaneHalfEdges(PlaneIndex)) return value is in range [0, NumHalfEdges()) |
|
|
GetPlaneVertex |
Get the index of one of the vertices bounding the specified plane PlaneIndex must be in range [0, NumPlanes()) PlaneVertexIndex must be in [0, NumPlaneVertices(PlaneIndex)) return value is in [0, NumVertices()) |
|
|
GetPrevHalfEdge ( |
Get the previous half edge on the same plane HalfEdgeIndex must be in range [0, NumHalfEdges()) return value is in range [0, NumHalfEdges()) |
|
|
GetTwinHalfEdge ( |
HalfEdgeIndex must be in range [0, NumHalfEdges()) return value is in range [0, NumHalfEdges()) |
|
|
const FVerte... |
GetVertex ( |
|
|
FVertexData ... |
GetVertex ( |
|
|
GetVertexFirstHalfEdge ( |
VertexIndex must be in range [0, NumVertices()) return value is in range [0, NumHalfEdges()) |
|
|
IsValid() |
||
|
FConvexHalfE... |
MakePlaneVertices |
Initialize the structure data from the array of vertex indices per plane (in CW or CCW order - it is retained in structure) If this fails for some reason, the structure data will be invalid (check IsValid()) |
|
NumEdges() |
Number of unique half-edges (no half edge's twin is in also the list). Should be NumHalfEdges/2. |
|
|
NumHalfEdges() |
||
|
NumPlaneHalfEdges ( |
The number of edges bounding the specified plane. |
|
|
NumPlanes() |
||
|
NumPlaneVertices ( |
The number of vertices that bound the specified plane (same as number of half edges) PlaneIndex must be in range [0, NumPlaneHalfEdges(PlaneIndex)) |
|
|
NumVertices() |
||
|
Serialize ( |
||
|
SetPlaneVertices |
Initialize the structure data from the set of vertices associated with each plane. |
|
|
VisitPlaneEdges |
Iterate over the edges associated with a plane. |
|
|
VisitVertexHalfEdges |
Iterate over the half-edges associated with a vertex (leading out from the vertex, so all half edges have the vertex as the root). |
Name |
Description |
|
---|---|---|
|
FHalfEdgeData |
Every plane is bounded by a sequence of edges, and every edge should be shared by two planes. |
|
FPlaneData |
A plane of a convex hull. |
|
FVertexData |
A vertex of a convex hull. |
Name |
Description |
---|---|
FConvexHalfEdgeStructureData |
|
FIndex |
|
FIndexTraits |
Name |
Description |
---|---|
InvalidIndex |
|
MaxIndex |