Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
TriangleSplitterLongestAxis Class Reference

Splitter using center of bounding box with longest axis. More...

#include <TriangleSplitterLongestAxis.h>

Inheritance diagram for TriangleSplitterLongestAxis:
TriangleSplitter

Public Member Functions

 TriangleSplitterLongestAxis (const VertexList &inVertices, const IndexedTriangleList &inTriangles)
 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 VertexListGetVertices () const
 Get the list of vertices. More...
 
const IndexedTriangleGetTriangle (uint inIdx) const
 Get triangle by index. More...
 

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 VertexListmVertices
 Vertices of the indexed triangles. More...
 
const IndexedTriangleListmTriangles
 Unsorted triangles. More...
 
Array< Float3mCentroids
 Unsorted centroids of triangles. More...
 
Array< uintmSortedTriangleIdx
 Indices to sort triangles. More...
 

Detailed Description

Splitter using center of bounding box with longest axis.

Constructor & Destructor Documentation

◆ TriangleSplitterLongestAxis()

JPH_NAMESPACE_BEGIN TriangleSplitterLongestAxis::TriangleSplitterLongestAxis ( const VertexList inVertices,
const IndexedTriangleList inTriangles 
)

Constructor.

Member Function Documentation

◆ GetStats()

virtual void TriangleSplitterLongestAxis::GetStats ( Stats outStats) const
inlineoverridevirtual

Get stats of splitter.

Implements TriangleSplitter.

◆ Split()

bool TriangleSplitterLongestAxis::Split ( const Range inTriangles,
Range outLeft,
Range outRight 
)
overridevirtual

Split triangles into two groups left and right, returns false if no split could be made

Parameters
inTrianglesThe range of triangles (in mSortedTriangleIdx) to process
outLeftOn return this will contain the ranges for the left subpart. mSortedTriangleIdx may have been shuffled.
outRightOn return this will contain the ranges for the right subpart. mSortedTriangleIdx may have been shuffled.
Returns
Returns true when a split was found

Implements TriangleSplitter.


The documentation for this class was generated from the following files: