vcg::tetra::EdgeSplit< TETRA_MESH_TYPE > Class Template Reference
[Tetramesh]

This Class is used for split the edges. More...

#include <edge_split.h>

List of all members.

Public Types

typedef
TetraType::VertexType::CoordType 
CoordType
 The coordinate type.
typedef PosLoop< TetraTypePosType
 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

VertexTypeDoSplit (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

Detailed Description

template<class TETRA_MESH_TYPE>
class vcg::tetra::EdgeSplit< TETRA_MESH_TYPE >

This Class is used for split the edges.

Definition at line 42 of file edge_split.h.


Member Typedef Documentation

template<class TETRA_MESH_TYPE >
typedef TETRA_MESH_TYPE vcg::tetra::EdgeSplit< TETRA_MESH_TYPE >::TetraMeshType

The tetrahedral mesh type.

Definition at line 46 of file edge_split.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:26 2013