#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 () |
FaceType *& | F () |
const FaceType * | FFlip () const |
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 () |
Checks if the half-edge is of border. | |
bool | IsManifold () |
bool | IsNull () const |
Check if the half-edge is null. | |
void | NextB () |
Finds the next half-edge border. | |
void | NextE () |
It moves on the adjacent face incident to v, via a different edge that j. | |
void | NextF () |
Change face via z. | |
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. | |
FaceType & | operator= (const FaceType &h) |
Assignment operator. | |
bool | operator== (PosType const &p) const |
Operator to compare two half-edge. | |
Pos (FaceType *const fp, VertexType *const vp) | |
Pos (FaceType *const fp, int const zp) | |
Pos (FaceType *const fp, int const zp, VertexType *const vp) | |
Constructor which associates the half-edge element with a face, its edge and its vertex. | |
Pos () | |
Default constructor. | |
void | Set (FaceType *const pFace, VertexType *const pVertex) |
void | Set (FaceType *const fp, int const zp, VertexType *const vp) |
void | SetNull () |
Set to null the half-edge. | |
VertexType *& | V () |
const VertexType * | VFlip () const |
VertexType * | VFlip () |
int | VInd () |
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 158 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 165 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 167 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 163 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | ) | [inline] |
Default constructor.
Definition at line 177 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.
Definition at line 179 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | FaceType *const | fp, | |
int const | zp | |||
) | [inline] |
Definition at line 180 of file vcg/simplex/face/pos.h.
vcg::face::Pos< FaceType >::Pos | ( | FaceType *const | fp, | |
VertexType *const | vp | |||
) | [inline] |
Definition at line 181 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::Assert | ( | ) | [inline] |
Definition at line 419 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::CheckIncidentFaces | ( | int & | count, | |
bool & | on_border | |||
) | [inline, protected] |
Definition at line 441 of file vcg/simplex/face/pos.h.
int& vcg::face::Pos< FaceType >::E | ( | ) | [inline] |
Definition at line 191 of file vcg/simplex/face/pos.h.
FaceType*& vcg::face::Pos< FaceType >::F | ( | ) | [inline] |
Definition at line 192 of file vcg/simplex/face/pos.h.
const FaceType* vcg::face::Pos< FaceType >::FFlip | ( | ) | const [inline] |
Definition at line 326 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 269 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 284 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 297 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsBorder | ( | ) | [inline] |
Checks if the half-edge is of border.
Definition at line 367 of file vcg/simplex/face/pos.h.
bool vcg::face::Pos< FaceType >::IsManifold | ( | ) | [inline] |
Definition at line 372 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 236 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextB | ( | ) | [inline] |
Finds the next half-edge border.
Definition at line 348 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 260 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::NextF | ( | ) | [inline] |
Change face via z.
Definition at line 243 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 392 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 380 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 212 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 216 of file vcg/simplex/face/pos.h.
FaceType& vcg::face::Pos< FaceType >::operator= | ( | const FaceType & | h | ) | [inline] |
Assignment operator.
Definition at line 223 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 207 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::Set | ( | FaceType *const | pFace, | |
VertexType *const | pVertex | |||
) | [inline] |
Definition at line 412 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 406 of file vcg/simplex/face/pos.h.
void vcg::face::Pos< FaceType >::SetNull | ( | ) | [inline] |
Set to null the half-edge.
Definition at line 230 of file vcg/simplex/face/pos.h.
VertexType*& vcg::face::Pos< FaceType >::V | ( | ) | [inline] |
Definition at line 190 of file vcg/simplex/face/pos.h.
const VertexType* vcg::face::Pos< FaceType >::VFlip | ( | ) | const [inline] |
Definition at line 318 of file vcg/simplex/face/pos.h.
VertexType* vcg::face::Pos< FaceType >::VFlip | ( | ) | [inline] |
Definition at line 310 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::VInd | ( | ) | [inline] |
Definition at line 198 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 170 of file vcg/simplex/face/pos.h.
VertexType* vcg::face::Pos< FaceType >::v |
Pointer to the vertex.
Definition at line 174 of file vcg/simplex/face/pos.h.
int vcg::face::Pos< FaceType >::z |
Index of the edge.
Definition at line 172 of file vcg/simplex/face/pos.h.