#include <pos.h>
Public Types | |
typedef Pos< FaceType > | PosType |
The Pos type. | |
typedef VertexType::ScalarType | ScalarType |
The scalar type. | |
typedef FaceType::VertexType | VertexType |
The vertex type. | |
Public Member Functions | |
void | Assert () |
int & | E () |
int | E () const |
FaceType *& | F () |
FaceType * | F () const |
FaceType * | FFlip () const |
return the face that it should have if we make FlipF; | |
void | FlipE () |
Changes edge maintaining the same face and the same vertex. | |
void | FlipF () |
Changes face maintaining the same vertex and the same edge. | |
void | FlipV () |
Changes vertex maintaining the same face and the same edge. | |
bool | IsBorder () const |
Checks if the half-edge is of border. | |
bool | IsCrease () const |
Checks if the half-edge is of crease. | |
bool | IsFaux () const |
bool | IsManifold () |
bool | IsNull () const |
Check if the half-edge is null. | |
void | NextB () |
Finds the next half-edge border. | |
void | NextCrease () |
void | NextE () |
It moves on the adjacent face incident to v, via a different edge that j. | |
void | NextF () |
Change face via z. | |
void | NextNotFaux () |
Finds the next half-edge border. | |
int | NumberOfFacesOnEdge () const |
int | NumberOfIncidentFaces () |
int | NumberOfIncidentVertices () |
bool | operator!= (PosType const &p) const |
Operator to compare two half-edge. | |
bool | operator< (PosType const &p) const |
Operator to order half-edge; it's compare at the first the face pointers, then the index of the edge and finally the vertex pointers. | |
bool | operator<= (PosType const &p) const |
Operator to order half-edge; it's compare at the first the face pointers, then the index of the edge and finally the vertex pointers. | |
PosType & | operator= (const PosType &h) |
Assignment operator. | |
bool | operator== (PosType const &p) const |
Operator to compare two half-edge. | |
Pos () | |
Default constructor. | |
Pos (FaceType *const fp, int const zp, VertexType *const vp) | |
Pos (FaceType *const fp, int const zp) | |
Pos (FaceType *const fp, VertexType *const vp) | |
void | Set (FaceType *const fp, int const zp, VertexType *const vp) |
void | Set (FaceType *const pFace, VertexType *const pVertex) |
void | SetNull () |
Set to null the half-edge. | |
VertexType *& | V () |
VertexType * | V () const |
VertexType * | VFlip () const |
return the vertex that it should have if we make FlipV; | |
int | VInd () const |
Public Attributes | |
FaceType::FaceType * | f |
Pointer to the face of the half-edge. | |
VertexType * | v |
Pointer to the vertex. | |
int | z |
Index of the edge. | |
Protected Member Functions | |
void | CheckIncidentFaces (int &count, bool &on_border) |
Templated over the class face, it stores a position over a face in a mesh. It contain a pointer to the current face, the index of one edge and a pointer to one of the vertices of the edge. See also the JumpingPos in jumping_pos.h for an iterator that loops around the faces of a vertex without requiring the VF topology.
Definition at line 55 of file vcg/simplex/face/pos.h.
typedef Pos<FaceType> vcg::face::Pos< FaceType >::PosType |
The Pos type.
Reimplemented in vcg::face::JumpingPos< FACE_TYPE >.
Definition at line 62 of file vcg/simplex/face/pos.h.
typedef VertexType::ScalarType vcg::face::Pos< FaceType >::ScalarType |
The scalar type.
Reimplemented in vcg::face::JumpingPos< FACE_TYPE >.
Definition at line 64 of file vcg/simplex/face/pos.h.
typedef FaceType::VertexType vcg::face::Pos< FaceType >::VertexType |
The vertex type.
Reimplemented in vcg::face::JumpingPos< FACE_TYPE >.
Definition at line 60 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | ) | [inline] |
Default constructor.
Definition at line 74 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | FaceType *const | fp, |
int const | zp, | ||
VertexType *const | vp | ||
) | [inline] |
Constructor which associates the half-edge element with a face, its edge and its vertex
vp==fp->V0(zp)
or vp==fp->V1(zp)
Definition at line 77 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | FaceType *const | fp, |
int const | zp | ||
) | [inline] |
Definition at line 82 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | FaceType *const | fp, |
VertexType *const | vp | ||
) | [inline] |
Definition at line 83 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::Assert | ( | ) | [inline] |
Definition at line 398 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::CheckIncidentFaces | ( | int & | count, |
bool & | on_border | ||
) | [inline, protected] |
Definition at line 420 of file vcg/simplex/face/pos.h.
int& vcg::face::Pos< FaceType >::E | ( | ) | [inline] |
Definition at line 93 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::E | ( | ) | const [inline] |
Definition at line 97 of file vcg/simplex/face/pos.h.
FaceType*& vcg::face::Pos< FaceType >::F | ( | ) | [inline] |
Definition at line 94 of file vcg/simplex/face/pos.h.
FaceType* vcg::face::Pos< FaceType >::F | ( | ) | const [inline] |
Definition at line 98 of file vcg/simplex/face/pos.h.
FaceType* vcg::face::Pos< FaceType >::FFlip | ( | ) | const [inline] |
return the face that it should have if we make FlipF;
Definition at line 231 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::FlipE | ( | ) | [inline] |
Changes edge maintaining the same face and the same vertex.
Definition at line 181 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::FlipF | ( | ) | [inline] |
Changes face maintaining the same vertex and the same edge.
Definition at line 196 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::FlipV | ( | ) | [inline] |
Changes vertex maintaining the same face and the same edge.
Definition at line 210 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsBorder | ( | ) | const [inline] |
Checks if the half-edge is of border.
Definition at line 317 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsCrease | ( | ) | const [inline] |
Checks if the half-edge is of crease.
Definition at line 323 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsFaux | ( | ) | const [inline] |
Definition at line 328 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsManifold | ( | ) | [inline] |
Definition at line 333 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsNull | ( | ) | const [inline] |
Check if the half-edge is null.
Definition at line 148 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextB | ( | ) | [inline] |
Finds the next half-edge border.
Definition at line 254 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextCrease | ( | ) | [inline] |
Finds the next Crease half-edge border TODO change crease flag with something more generic (per edge)
Definition at line 296 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextE | ( | ) | [inline] |
It moves on the adjacent face incident to v, via a different edge that j.
Definition at line 172 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextF | ( | ) | [inline] |
Change face via z.
Definition at line 155 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextNotFaux | ( | ) | [inline] |
Finds the next half-edge border.
Definition at line 273 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::NumberOfFacesOnEdge | ( | ) | const [inline] |
Returns the number of faces incident on the edge the pos is currently pointing to. useful to compute the complexity of a non manifold edge
Definition at line 368 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::NumberOfIncidentFaces | ( | ) | [inline] |
Returns the number of faces incident on the vertex pos is currently pointing to.
Definition at line 353 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::NumberOfIncidentVertices | ( | ) | [inline] |
Returns the number of vertices incident on the vertex pos is currently pointing to.
Definition at line 341 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::operator!= | ( | PosType const & | p | ) | const [inline] |
Operator to compare two half-edge.
Definition at line 117 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::operator< | ( | PosType const & | p | ) | const [inline] |
Operator to order half-edge; it's compare at the first the face pointers, then the index of the edge and finally the vertex pointers.
Definition at line 128 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::operator<= | ( | PosType const & | p | ) | const [inline] |
Operator to order half-edge; it's compare at the first the face pointers, then the index of the edge and finally the vertex pointers.
Definition at line 121 of file vcg/simplex/face/pos.h.
PosType& vcg::face::Pos< FaceType >::operator= | ( | const PosType & | h | ) | [inline] |
Assignment operator.
Definition at line 134 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::operator== | ( | PosType const & | p | ) | const [inline] |
Operator to compare two half-edge.
Definition at line 112 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::Set | ( | FaceType *const | fp, |
int const | zp, | ||
VertexType *const | vp | ||
) | [inline] |
Function to inizialize an half-edge.
fp | Puntatore alla faccia |
zp | Indice dell'edge |
vp | Puntatore al vertice |
Definition at line 385 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::Set | ( | FaceType *const | pFace, |
VertexType *const | pVertex | ||
) | [inline] |
Definition at line 391 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::SetNull | ( | ) | [inline] |
Set to null the half-edge.
Definition at line 142 of file vcg/simplex/face/pos.h.
VertexType*& vcg::face::Pos< FaceType >::V | ( | ) | [inline] |
Definition at line 92 of file vcg/simplex/face/pos.h.
VertexType* vcg::face::Pos< FaceType >::V | ( | ) | const [inline] |
Definition at line 96 of file vcg/simplex/face/pos.h.
VertexType* vcg::face::Pos< FaceType >::VFlip | ( | ) | const [inline] |
return the vertex that it should have if we make FlipV;
Definition at line 223 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::VInd | ( | ) | const [inline] |
Definition at line 103 of file vcg/simplex/face/pos.h.
FaceType::FaceType* vcg::face::Pos< FaceType >::f |
Pointer to the face of the half-edge.
Definition at line 67 of file vcg/simplex/face/pos.h.
VertexType* vcg::face::Pos< FaceType >::v |
Pointer to the vertex.
Definition at line 71 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::z |
Index of the edge.
Definition at line 69 of file vcg/simplex/face/pos.h.