24 const char * mSplitterName =
nullptr;
52 return Range(0, (
uint)mSortedTriangleIdx.size());
71 return mTriangles[mSortedTriangleIdx[
inIdx]];
#define JPH_EXPORT
Definition Core.h:227
unsigned int uint
Definition Core.h:439
#define JPH_NAMESPACE_END
Definition Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition Core.h:361
Array< Float3 > VertexList
Definition Float3.h:43
Array< IndexedTriangle > IndexedTriangleList
Definition IndexedTriangle.h:109
AllocateFunction Allocate
Definition Memory.cpp:59
std::vector< T, STLAllocator< T > > Array
Definition STLAllocator.h:81
Triangle with 32-bit indices and material index.
Definition IndexedTriangle.h:73
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11
A class that splits a triangle list into two parts for building a tree.
Definition TriangleSplitter.h:14
Array< Float3 > mCentroids
Unsorted centroids of triangles.
Definition TriangleSplitter.h:80
virtual ~TriangleSplitter()=default
Virtual destructor.
const VertexList & GetVertices() const
Get the list of vertices.
Definition TriangleSplitter.h:63
const VertexList & mVertices
Vertices of the indexed triangles.
Definition TriangleSplitter.h:78
virtual void GetStats(Stats &outStats) const =0
Get stats of splitter.
virtual bool Split(const Range &inTriangles, Range &outLeft, Range &outRight)=0
const IndexedTriangleList & mTriangles
Unsorted triangles.
Definition TriangleSplitter.h:79
Array< uint > mSortedTriangleIdx
Indices to sort triangles.
Definition TriangleSplitter.h:81
const IndexedTriangle & GetTriangle(uint inIdx) const
Get triangle by index.
Definition TriangleSplitter.h:69
Range GetInitialRange() const
Range of triangles to start with.
Definition TriangleSplitter.h:50
Helper struct to indicate triangle range before and after the split.
Definition TriangleSplitter.h:33
uint mEnd
Definition TriangleSplitter.h:46
Range(uint inBegin, uint inEnd)
Definition TriangleSplitter.h:36
uint Count() const
Get number of triangles in range.
Definition TriangleSplitter.h:39
uint mBegin
Start and end index (end = 1 beyond end)
Definition TriangleSplitter.h:45
Range()=default
Constructor.
Definition TriangleSplitter.h:23