#include <GteMinimumVolumeBox3.h>
Classes | |
| struct | Box |
| struct | ExtrudeRectangle |
Public Member Functions | |
| std::vector< int > const & | GetHull () const |
| int | GetNumPoints () const |
| Vector3< InputType > const * | GetPoints () const |
| InputType | GetVolume () const |
| MinimumVolumeBox3 (unsigned int numThreads=1, bool threadProcessEdges=false) | |
| OrientedBox3< InputType > | operator() (int numPoints, Vector3< InputType > const *points, bool useRotatingCalipers=!std::is_floating_point< ComputeType >::value) |
| OrientedBox3< InputType > | operator() (int numPoints, Vector3< InputType > const *points, int numIndices, int const *indices, bool useRotatingCalipers=!std::is_floating_point< ComputeType >::value) |
Private Types | |
| typedef ETManifoldMesh::Triangle | Triangle |
Private Member Functions | |
| bool | ComputeAngles (Vector3< ComputeType > const &N, std::vector< int > const &polyline, ExtrudeRectangle const &rct, std::array< std::pair< ComputeType, int >, 4 > &A, int &numA) const |
| void | ComputeBoxForFaceOrderN (Vector3< ComputeType > const &N, std::vector< int > const &polyline, Box &box) |
| void | ComputeBoxForFaceOrderNSqr (Vector3< ComputeType > const &N, std::vector< int > const &polyline, Box &box) |
| void | ConvertTo (Box const &minBox, OrientedBox3< InputType > &itMinBox) |
| void | ProcessEdges (ETManifoldMesh const &mesh, Box &minBox) |
| void | ProcessFace (std::shared_ptr< Triangle > const &supportTri, std::vector< Vector3< ComputeType >> const &normal, std::map< std::shared_ptr< Triangle >, int > const &triNormalMap, ETManifoldMesh::EMap const &emap, Box &localMinBox) |
| void | ProcessFaces (ETManifoldMesh const &mesh, Box &minBox) |
| void | RemoveCollinearPoints (Vector3< ComputeType > const &N, std::vector< int > &polyline) |
| ExtrudeRectangle | SmallestRectangle (int i0, int i1, Vector3< ComputeType > const &N, std::vector< int > const &polyline) |
| std::array< int, 4 > | SortAngles (std::array< std::pair< ComputeType, int >, 4 > const &A, int numA) const |
| bool | UpdateSupport (std::array< std::pair< ComputeType, int >, 4 > const &A, int numA, std::array< int, 4 > const &sort, Vector3< ComputeType > const &N, std::vector< int > const &polyline, std::vector< bool > &visited, ExtrudeRectangle &rct) |
Private Attributes | |
| Vector3< ComputeType > const * | mComputePoints |
| ComputeType | mHalf |
| std::vector< int > | mHull |
| ComputeType | mNegOne |
| int | mNumPoints |
| unsigned int | mNumThreads |
| ComputeType | mOne |
| Vector3< InputType > const * | mPoints |
| bool | mThreadProcessEdges |
| std::set< int > | mUniqueIndices |
| bool | mUseRotatingCalipers |
| InputType | mVolume |
| ComputeType | mZero |
Definition at line 47 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 97 of file GteMinimumVolumeBox3.h.
| gte::MinimumVolumeBox3< InputType, ComputeType >::MinimumVolumeBox3 | ( | unsigned int | numThreads = 1, |
| bool | threadProcessEdges = false |
||
| ) |
Definition at line 181 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 1046 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 875 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 784 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 1208 of file GteMinimumVolumeBox3.h.
|
inline |
Definition at line 444 of file GteMinimumVolumeBox3.h.
|
inline |
Definition at line 431 of file GteMinimumVolumeBox3.h.
|
inline |
Definition at line 438 of file GteMinimumVolumeBox3.h.
|
inline |
Definition at line 451 of file GteMinimumVolumeBox3.h.
| OrientedBox3< InputType > gte::MinimumVolumeBox3< InputType, ComputeType >::operator() | ( | int | numPoints, |
| Vector3< InputType > const * | points, | ||
| bool | useRotatingCalipers = !std::is_floating_point<ComputeType>::value |
||
| ) |
Definition at line 198 of file GteMinimumVolumeBox3.h.
| OrientedBox3< InputType > gte::MinimumVolumeBox3< InputType, ComputeType >::operator() | ( | int | numPoints, |
| Vector3< InputType > const * | points, | ||
| int | numIndices, | ||
| int const * | indices, | ||
| bool | useRotatingCalipers = !std::is_floating_point<ComputeType>::value |
||
| ) |
Definition at line 353 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 549 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 653 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 457 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 752 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 978 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 1082 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 1138 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 154 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 176 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 157 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 176 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 148 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 144 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 176 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 149 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 145 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 163 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 167 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 172 of file GteMinimumVolumeBox3.h.
|
private |
Definition at line 176 of file GteMinimumVolumeBox3.h.