vcg::face::Pos< FaceType > Class Template Reference
[Face]

#include <pos.h>

Inheritance diagram for vcg::face::Pos< FaceType >:
Inheritance graph
[legend]

List of all members.

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 VertexTypeVFlip () const
VertexTypeVFlip ()
int VInd ()

Public Attributes

FaceType::FaceType * f
 Pointer to the face of the half-edge.
VertexTypev
 Pointer to the vertex.
int z
 Index of the edge.

Protected Member Functions

void CheckIncidentFaces (int &count, bool &on_border)

Detailed Description

template<class FaceType>
class vcg::face::Pos< FaceType >

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.


Member Typedef Documentation

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
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.


Constructor & Destructor Documentation

template<class FaceType>
vcg::face::Pos< FaceType >::Pos (  )  [inline]

Default constructor.

Definition at line 177 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
vcg::face::Pos< FaceType >::Pos ( FaceType *const   fp,
int const   zp 
) [inline]

Definition at line 180 of file vcg/simplex/face/pos.h.

template<class FaceType>
vcg::face::Pos< FaceType >::Pos ( FaceType *const   fp,
VertexType *const   vp 
) [inline]

Definition at line 181 of file vcg/simplex/face/pos.h.


Member Function Documentation

template<class FaceType>
void vcg::face::Pos< FaceType >::Assert (  )  [inline]

Definition at line 419 of file vcg/simplex/face/pos.h.

template<class FaceType>
void vcg::face::Pos< FaceType >::CheckIncidentFaces ( int &  count,
bool &  on_border 
) [inline, protected]

Definition at line 441 of file vcg/simplex/face/pos.h.

template<class FaceType>
int& vcg::face::Pos< FaceType >::E (  )  [inline]

Definition at line 191 of file vcg/simplex/face/pos.h.

template<class FaceType>
FaceType*& vcg::face::Pos< FaceType >::F (  )  [inline]

Definition at line 192 of file vcg/simplex/face/pos.h.

template<class FaceType>
const FaceType* vcg::face::Pos< FaceType >::FFlip (  )  const [inline]

Definition at line 326 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
bool vcg::face::Pos< FaceType >::IsManifold (  )  [inline]

Definition at line 372 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
void vcg::face::Pos< FaceType >::NextB (  )  [inline]

Finds the next half-edge border.

Definition at line 348 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
void vcg::face::Pos< FaceType >::NextF (  )  [inline]

Change face via z.

Definition at line 243 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
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.

template<class FaceType>
FaceType& vcg::face::Pos< FaceType >::operator= ( const FaceType &  h  )  [inline]

Assignment operator.

Definition at line 223 of file vcg/simplex/face/pos.h.

template<class FaceType>
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.

template<class FaceType>
void vcg::face::Pos< FaceType >::Set ( FaceType *const   pFace,
VertexType *const   pVertex 
) [inline]

Definition at line 412 of file vcg/simplex/face/pos.h.

template<class FaceType>
void vcg::face::Pos< FaceType >::Set ( FaceType *const   fp,
int const   zp,
VertexType *const   vp 
) [inline]

Function to inizialize an half-edge.

Parameters:
fp Puntatore alla faccia
zp Indice dell'edge
vp Puntatore al vertice

Definition at line 406 of file vcg/simplex/face/pos.h.

template<class FaceType>
void vcg::face::Pos< FaceType >::SetNull (  )  [inline]

Set to null the half-edge.

Definition at line 230 of file vcg/simplex/face/pos.h.

template<class FaceType>
VertexType*& vcg::face::Pos< FaceType >::V (  )  [inline]

Definition at line 190 of file vcg/simplex/face/pos.h.

template<class FaceType>
const VertexType* vcg::face::Pos< FaceType >::VFlip (  )  const [inline]

Definition at line 318 of file vcg/simplex/face/pos.h.

template<class FaceType>
VertexType* vcg::face::Pos< FaceType >::VFlip (  )  [inline]

Definition at line 310 of file vcg/simplex/face/pos.h.

template<class FaceType>
int vcg::face::Pos< FaceType >::VInd (  )  [inline]

Definition at line 198 of file vcg/simplex/face/pos.h.


Member Data Documentation

template<class FaceType>
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.

template<class FaceType>
VertexType* vcg::face::Pos< FaceType >::v

Pointer to the vertex.

Definition at line 174 of file vcg/simplex/face/pos.h.

template<class FaceType>
int vcg::face::Pos< FaceType >::z

Index of the edge.

Definition at line 172 of file vcg/simplex/face/pos.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:18 2013