Public Types | Public Member Functions | Public Attributes | Protected Member Functions
vcg::face::Pos< FaceType > Class Template Reference

#include <pos.h>

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 ()
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.
PosTypeoperator= (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 ()
VertexTypeV () const
VertexTypeVFlip () 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.
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 55 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 62 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 64 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 60 of file vcg/simplex/face/pos.h.


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 74 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

Note:
that the input must be consistent, e.g. it should hold that vp==fp->V0(zp) or vp==fp->V1(zp)

Definition at line 77 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 82 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 83 of file vcg/simplex/face/pos.h.


Member Function Documentation

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

Definition at line 398 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 420 of file vcg/simplex/face/pos.h.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 333 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 148 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 254 of file vcg/simplex/face/pos.h.

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

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 172 of file vcg/simplex/face/pos.h.

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

Change face via z.

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

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

Finds the next half-edge border.

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

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

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 353 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 341 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 117 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 128 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 121 of file vcg/simplex/face/pos.h.

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

Assignment operator.

Definition at line 134 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 112 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:
fpPuntatore alla faccia
zpIndice dell'edge
vpPuntatore al vertice

Definition at line 385 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 391 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 142 of file vcg/simplex/face/pos.h.

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

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

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

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

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

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

Definition at line 103 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 67 of file vcg/simplex/face/pos.h.

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

Pointer to the vertex.

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

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

Index of the edge.

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


The documentation for this class was generated from the following file:


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:41:43