Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
gte::ETManifoldMesh Class Reference

#include <GteETManifoldMesh.h>

Inheritance diagram for gte::ETManifoldMesh:
Inheritance graph
[legend]

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< TriangleInsert (int v0, int v1, int v2)
 
bool IsClosed () const
 
bool IsOriented () const
 
ETManifoldMeshoperator= (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< EdgeCreateEdge (int v0, int v1)
 
static std::shared_ptr< TriangleCreateTriangle (int v0, int v1, int v2)
 

Protected Attributes

bool mAssertOnNonmanifoldInsertion
 
ECreator mECreator
 
EMap mEMap
 
TCreator mTCreator
 
TMap mTMap
 

Detailed Description

Definition at line 19 of file GteETManifoldMesh.h.

Member Typedef Documentation

typedef std::shared_ptr<Edge>(* gte::ETManifoldMesh::ECreator) (int, int)

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.

typedef std::shared_ptr<Triangle>(* gte::ETManifoldMesh::TCreator) (int, int, int)

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.

Constructor & Destructor Documentation

ETManifoldMesh::~ETManifoldMesh ( )
virtual

Definition at line 13 of file GteETManifoldMesh.cpp.

ETManifoldMesh::ETManifoldMesh ( ECreator  eCreator = nullptr,
TCreator  tCreator = nullptr 
)

Definition at line 17 of file GteETManifoldMesh.cpp.

ETManifoldMesh::ETManifoldMesh ( ETManifoldMesh const &  mesh)

Definition at line 25 of file GteETManifoldMesh.cpp.

Member Function Documentation

bool ETManifoldMesh::AssertOnNonmanifoldInsertion ( bool  doAssert)

Definition at line 55 of file GteETManifoldMesh.cpp.

void ETManifoldMesh::Clear ( )
virtual

Reimplemented in gte::VETManifoldMesh.

Definition at line 206 of file GteETManifoldMesh.cpp.

std::shared_ptr< ETManifoldMesh::Edge > ETManifoldMesh::CreateEdge ( int  v0,
int  v1 
)
staticprotected

Definition at line 354 of file GteETManifoldMesh.cpp.

std::shared_ptr< ETManifoldMesh::Triangle > ETManifoldMesh::CreateTriangle ( int  v0,
int  v1,
int  v2 
)
staticprotected

Definition at line 359 of file GteETManifoldMesh.cpp.

void ETManifoldMesh::DepthFirstSearch ( std::shared_ptr< Triangle > const &  tInitial,
std::map< std::shared_ptr< Triangle >, int > &  visited,
std::vector< std::shared_ptr< Triangle >> &  component 
) const
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.

std::shared_ptr< ETManifoldMesh::Triangle > ETManifoldMesh::Insert ( int  v0,
int  v1,
int  v2 
)
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.

bool ETManifoldMesh::Remove ( int  v0,
int  v1,
int  v2 
)
virtual

Reimplemented in gte::VETManifoldMesh.

Definition at line 139 of file GteETManifoldMesh.cpp.

Member Data Documentation

bool gte::ETManifoldMesh::mAssertOnNonmanifoldInsertion
protected

Definition at line 135 of file GteETManifoldMesh.h.

ECreator gte::ETManifoldMesh::mECreator
protected

Definition at line 128 of file GteETManifoldMesh.h.

EMap gte::ETManifoldMesh::mEMap
protected

Definition at line 129 of file GteETManifoldMesh.h.

TCreator gte::ETManifoldMesh::mTCreator
protected

Definition at line 133 of file GteETManifoldMesh.h.

TMap gte::ETManifoldMesh::mTMap
protected

Definition at line 134 of file GteETManifoldMesh.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06