This Class is used for split the edges. More...
#include <edge_split.h>
Public Types | |
typedef TetraType::VertexType::CoordType | CoordType |
The coordinate type. | |
typedef PosLoop< TetraType > | PosType |
The HEdgePos type. | |
typedef vcg::tetra::Allocator < TetraMeshType > | TetraAllocator |
The allocator type. | |
typedef TetraMeshType::TetraContainer | TetraContainer |
the container of tetrahedron type | |
typedef TetraMeshType::TetraIterator | TetraIterator |
The tetra iterator type. | |
typedef TETRA_MESH_TYPE | TetraMeshType |
The tetrahedral mesh type. | |
typedef TetraMeshType::TetraType | TetraType |
The tetrahedron type. | |
typedef vcg::tetra::UpdateTetraTopology < VertexContainer, TetraContainer > | Topology |
The topology updater type. | |
typedef TetraMeshType::VertexContainer | VertexContainer |
the container of vertex type | |
typedef TetraMeshType::VertexIterator | VertexIterator |
The vertex iterator type. | |
typedef TetraType::VertexType | VertexType |
The vertex type. | |
Public Member Functions | |
VertexType * | DoSplit (TetraMeshType &tm, TetraType *t, int edge, double alfa) |
EdgeSplit () | |
Default Constructor. | |
~EdgeSplit () | |
Private Member Functions | |
void | _AddNewTetrahedrons (TetraMeshType &tm, PosType pos, VertexType *vnew) |
VertexType * | _AddVertexEdge (TetraMeshType &tm, const TetraType &t, const int &edge, const double &alfa) |
add a vertex into the edge at distance alfa ( 0<alfa<1) to the first vertex of the edge | |
void | _AssertOrder (TetraType *t, VertexType *v0, VertexType *v1, VertexType *v2, VertexType *v3) |
Assert the right order of vertex that compose the tetrahedron. | |
void | _ConnectTTTopology (TetraType *t0, int i0, TetraType *t1, int i1) |
Connect trought Tetrahedron-Tetrahedron Topology t0 and t1 with faces i0 and i1. | |
void | _ControlConnection (TetraType *oldtp0, TetraType *newtp0) |
control if the connections between tetrahedron created have the right shared vertices | |
void | _DeleteOldTetra () |
Mark as deleted the tetrahedron that must be substituted. | |
void | _Divide (PosType pos, VertexType *vnew, TetraType *newtp0, TetraType *newtp1, bool invert) |
Divide the tetrahadron in pos in two tetrahedrons using the new vertex vnew. | |
PosType | _FindPos (TetraType *t, int edge) |
Built an Half edge on tetrahedron t using edge edge. | |
bool | _InvertRotation (PosType pos) |
void | _SetDefaultTTExtern (TetraType *t) |
set as extern the 4 faces of the tetrahedron | |
void | _SetDefultVTTopology (TetraType *t) |
set the default v-t topology | |
void | _SubstituteTTTopology (TetraType *old_t, TetraType *new_t, int edgerot, int face) |
void | _SubstituteVTTopology (TetraType *told, TetraType *newtp0, TetraType *newtp1) |
substitute the told tetrahedon on VT topology with newtp0 and newtp1 as created | |
Static Private Member Functions | |
static int | _GetDirRot (int indexE, int indexF) |
static int | _GetMapFaceEdgeRot (const int &indexE, const int &indexF) |
static int | _GetMapVertEdgeRot (const int &indexE, const int &indexV) |
Private Attributes | |
int | _nT |
The number of tetrahedrons that are substituted. | |
TetraType * | _toDel [30] |
the tetrahedron that must mark as Deleted after substitution | |
Topology | _Topo |
This Class is used for split the edges.
Definition at line 42 of file edge_split.h.
typedef TETRA_MESH_TYPE vcg::tetra::EdgeSplit< TETRA_MESH_TYPE >::TetraMeshType |
The tetrahedral mesh type.
Definition at line 46 of file edge_split.h.