![]()  | 
  
    Jolt Physics
    
   A multi core friendly Game Physics Engine 
   | 
 
#include <TriangleSplitterFixedLeafSize.h>
  
Public Member Functions | |
| TriangleSplitterFixedLeafSize (const VertexList &inVertices, const IndexedTriangleList &inTriangles, uint inLeafSize, uint inMinNumBins=8, uint inMaxNumBins=128, uint inNumTrianglesPerBin=6) | |
| Constructor.  More... | |
| virtual void | GetStats (Stats &outStats) const override | 
| Get stats of splitter.  More... | |
| virtual bool | Split (const Range &inTriangles, Range &outLeft, Range &outRight) override | 
  Public Member Functions inherited from TriangleSplitter | |
| TriangleSplitter (const VertexList &inVertices, const IndexedTriangleList &inTriangles) | |
| Constructor.  More... | |
| virtual | ~TriangleSplitter ()=default | 
| Virtual destructor.  More... | |
| virtual void | GetStats (Stats &outStats) const =0 | 
| Get stats of splitter.  More... | |
| Range | GetInitialRange () const | 
| Range of triangles to start with.  More... | |
| virtual bool | Split (const Range &inTriangles, Range &outLeft, Range &outRight)=0 | 
| const VertexList & | GetVertices () const | 
| Get the list of vertices.  More... | |
| const IndexedTriangle & | GetTriangle (uint inIdx) const | 
| Get triangle by index.  More... | |
  Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete | 
Additional Inherited Members | |
  Protected Member Functions inherited from TriangleSplitter | |
| bool | SplitInternal (const Range &inTriangles, uint inDimension, float inSplit, Range &outLeft, Range &outRight) | 
| Helper function to split triangles based on dimension and split value.  More... | |
  Protected Attributes inherited from TriangleSplitter | |
| const VertexList & | mVertices | 
| Vertices of the indexed triangles.  More... | |
| const IndexedTriangleList & | mTriangles | 
| Unsorted triangles.  More... | |
| Array< Float3 > | mCentroids | 
| Unsorted centroids of triangles.  More... | |
| Array< uint > | mSortedTriangleIdx | 
| Indices to sort triangles.  More... | |
Same as TriangleSplitterBinning, but ensuring that leaves have a fixed amount of triangles The resulting tree should be suitable for processing on GPU where we want all threads to process an equal amount of triangles
| JPH_NAMESPACE_BEGIN TriangleSplitterFixedLeafSize::TriangleSplitterFixedLeafSize | ( | const VertexList & | inVertices, | 
| const IndexedTriangleList & | inTriangles, | ||
| uint | inLeafSize, | ||
| uint | inMinNumBins = 8,  | 
        ||
| uint | inMaxNumBins = 128,  | 
        ||
| uint | inNumTrianglesPerBin = 6  | 
        ||
| ) | 
Constructor.
      
  | 
  inlineoverridevirtual | 
Get stats of splitter.
Implements TriangleSplitter.
      
  | 
  overridevirtual | 
Split triangles into two groups left and right, returns false if no split could be made
| inTriangles | The range of triangles (in mSortedTriangleIdx) to process | 
| outLeft | On return this will contain the ranges for the left subpart. mSortedTriangleIdx may have been shuffled. | 
| outRight | On return this will contain the ranges for the right subpart. mSortedTriangleIdx may have been shuffled. | 
Implements TriangleSplitter.