23 typedef std::shared_ptr<Triangle> (*TCreator)(
int,
int,
int);
24 typedef std::map<TriangleKey<false>, std::shared_ptr<Triangle>>
TMap;
28 typedef std::shared_ptr<Tetrahedron> (*SCreator)(
int,
int,
int,
int);
29 typedef std::map<TetrahedronKey<true>, std::shared_ptr<Tetrahedron>>
SMap;
42 std::weak_ptr<Tetrahedron> T[2];
61 std::weak_ptr<Triangle> T[4];
65 std::weak_ptr<Tetrahedron> S[4];
71 TSManifoldMesh(TCreator tCreator =
nullptr, SCreator sCreator =
nullptr);
82 TMap
const& GetTriangles()
const;
83 SMap
const& GetTetrahedra()
const;
89 void AssertOnNonmanifoldInsertion(
bool doAssert);
95 std::shared_ptr<Tetrahedron> Insert(
int v0,
int v1,
int v2,
int v3);
99 bool Remove(
int v0,
int v1,
int v2,
int v3);
102 virtual void Clear();
105 bool IsClosed()
const;
109 static std::shared_ptr<Triangle> CreateTriangle(
int v0,
int v1,
int v2);
114 static std::shared_ptr<Tetrahedron> CreateTetrahedron(
int v0,
int v1,
int v2,
int v3);
std::map< TriangleKey< false >, std::shared_ptr< Triangle > > TMap
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer
GLfloat GLfloat GLfloat GLfloat v3
GLfloat GLfloat GLfloat v2
std::map< TetrahedronKey< true >, std::shared_ptr< Tetrahedron > > SMap
bool mAssertOnNonmanifoldInsertion