#include <GteETManifoldMesh.h>
Classes | |
class | Edge |
class | Triangle |
Public Types | |
typedef std::shared_ptr< Edge >(* | ECreator) (int, int) |
typedef std::map< EdgeKey< false >, std::shared_ptr< Edge > > | EMap |
typedef std::shared_ptr< Triangle >(* | TCreator) (int, int, int) |
typedef std::map< TriangleKey< true >, std::shared_ptr< Triangle > > | TMap |
Public Member Functions | |
bool | AssertOnNonmanifoldInsertion (bool doAssert) |
virtual void | Clear () |
ETManifoldMesh (ECreator eCreator=nullptr, TCreator tCreator=nullptr) | |
ETManifoldMesh (ETManifoldMesh const &mesh) | |
void | GetComponents (std::vector< std::vector< std::shared_ptr< Triangle >>> &components) const |
void | GetComponents (std::vector< std::vector< TriangleKey< true >>> &components) const |
EMap const & | GetEdges () const |
TMap const & | GetTriangles () const |
virtual std::shared_ptr< Triangle > | Insert (int v0, int v1, int v2) |
bool | IsClosed () const |
bool | IsOriented () const |
ETManifoldMesh & | operator= (ETManifoldMesh const &mesh) |
virtual bool | Remove (int v0, int v1, int v2) |
virtual | ~ETManifoldMesh () |
Protected Member Functions | |
void | DepthFirstSearch (std::shared_ptr< Triangle > const &tInitial, std::map< std::shared_ptr< Triangle >, int > &visited, std::vector< std::shared_ptr< Triangle >> &component) const |
Static Protected Member Functions | |
static std::shared_ptr< Edge > | CreateEdge (int v0, int v1) |
static std::shared_ptr< Triangle > | CreateTriangle (int v0, int v1, int v2) |
Protected Attributes | |
bool | mAssertOnNonmanifoldInsertion |
ECreator | mECreator |
EMap | mEMap |
TCreator | mTCreator |
TMap | mTMap |
Definition at line 19 of file GteETManifoldMesh.h.
Definition at line 24 of file GteETManifoldMesh.h.
typedef std::map<EdgeKey<false>, std::shared_ptr<Edge> > gte::ETManifoldMesh::EMap |
Definition at line 25 of file GteETManifoldMesh.h.
Definition at line 29 of file GteETManifoldMesh.h.
typedef std::map<TriangleKey<true>, std::shared_ptr<Triangle> > gte::ETManifoldMesh::TMap |
Definition at line 30 of file GteETManifoldMesh.h.
|
virtual |
Definition at line 13 of file GteETManifoldMesh.cpp.
Definition at line 17 of file GteETManifoldMesh.cpp.
ETManifoldMesh::ETManifoldMesh | ( | ETManifoldMesh const & | mesh | ) |
Definition at line 25 of file GteETManifoldMesh.cpp.
bool ETManifoldMesh::AssertOnNonmanifoldInsertion | ( | bool | doAssert | ) |
Definition at line 55 of file GteETManifoldMesh.cpp.
|
virtual |
Reimplemented in gte::VETManifoldMesh.
Definition at line 206 of file GteETManifoldMesh.cpp.
|
staticprotected |
Definition at line 354 of file GteETManifoldMesh.cpp.
|
staticprotected |
Definition at line 359 of file GteETManifoldMesh.cpp.
|
protected |
Definition at line 322 of file GteETManifoldMesh.cpp.
void ETManifoldMesh::GetComponents | ( | std::vector< std::vector< std::shared_ptr< Triangle >>> & | components | ) | const |
Definition at line 271 of file GteETManifoldMesh.cpp.
void ETManifoldMesh::GetComponents | ( | std::vector< std::vector< TriangleKey< true >>> & | components | ) | const |
Definition at line 293 of file GteETManifoldMesh.cpp.
ETManifoldMesh::EMap const & ETManifoldMesh::GetEdges | ( | ) | const |
Definition at line 45 of file GteETManifoldMesh.cpp.
ETManifoldMesh::TMap const & ETManifoldMesh::GetTriangles | ( | ) | const |
Definition at line 50 of file GteETManifoldMesh.cpp.
|
virtual |
Reimplemented in gte::VETManifoldMesh.
Definition at line 61 of file GteETManifoldMesh.cpp.
bool ETManifoldMesh::IsClosed | ( | ) | const |
Definition at line 212 of file GteETManifoldMesh.cpp.
bool ETManifoldMesh::IsOriented | ( | ) | const |
Definition at line 225 of file GteETManifoldMesh.cpp.
ETManifoldMesh & ETManifoldMesh::operator= | ( | ETManifoldMesh const & | mesh | ) |
Definition at line 30 of file GteETManifoldMesh.cpp.
Reimplemented in gte::VETManifoldMesh.
Definition at line 139 of file GteETManifoldMesh.cpp.
|
protected |
Definition at line 135 of file GteETManifoldMesh.h.
|
protected |
Definition at line 128 of file GteETManifoldMesh.h.
|
protected |
Definition at line 129 of file GteETManifoldMesh.h.
|
protected |
Definition at line 133 of file GteETManifoldMesh.h.
|
protected |
Definition at line 134 of file GteETManifoldMesh.h.