WTFIT
Public Member Functions | List of all members
wtfit::ZeroSkeleton Class Reference

ZeroSkeleton processing package. More...

#include <ZeroSkeleton.h>

Inheritance diagram for wtfit::ZeroSkeleton:
wtfit::Debug

Public Member Functions

 ZeroSkeleton ()
 
 ~ZeroSkeleton ()
 
int buildVertexEdges (const int &vertexNumber, const vector< pair< int, int > > &edgeList, vector< vector< int > > &vertexEdges) const
 
int buildVertexLink (const int &vertexId, const int &cellNumber, const long long int *cellArray, vector< long long int > &vertexLink) const
 
int buildVertexLinks (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< long long int > > &vertexLinks, vector< vector< int > > *vertexStars=NULL) const
 
int buildVertexNeighbors (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &vertexNeighbors, vector< pair< int, int > > *edgeList=NULL) const
 
int buildVertexStars (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &vertexStars) const
 
- Public Member Functions inherited from wtfit::Debug
 Debug ()
 
virtual ~Debug ()
 
virtual const int dMsg (ostream &stream, string msg, const int &debugLevel=infoMsg) const
 
const int err (const string msg, const int &debugLevel=infoMsg) const
 
const int msg (const char *msg, const int &debugLevel=infoMsg) const
 
virtual const int setDebugLevel (const int &debugLevel)
 
int setThreadNumber (const int threadNumber)
 
int setWrapper (const Wrapper *wrapper)
 

Additional Inherited Members

- Public Types inherited from wtfit::Debug
enum  debugPriority {
  fatalMsg, timeMsg, memoryMsg, infoMsg,
  detailedInfoMsg, advancedInfoMsg
}
 
- Protected Attributes inherited from wtfit::Debug
bool lastObject_
 
int debugLevel_
 
int threadNumber_
 
Wrapperwrapper_
 

Detailed Description

ZeroSkeleton processing package.

Author
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Date
June 2015.

ZeroSkeleton is a processing package that handles the 0-skeleton (vertices) of a triangulation.

See also
Triangulation
vtkTriangulation
vtkZeroSkeleton

Constructor & Destructor Documentation

ZeroSkeleton::ZeroSkeleton ( )
ZeroSkeleton::~ZeroSkeleton ( )

Member Function Documentation

int ZeroSkeleton::buildVertexEdges ( const int &  vertexNumber,
const vector< pair< int, int > > &  edgeList,
vector< vector< int > > &  vertexEdges 
) const

Compute the list of edges connected to each vertex of a triangulation.

Parameters
vertexNumberNumber of vertices in the triangulation.
edgeListList of edges. Each entry is represented by the ordered pair of identifiers of the entry's edge's vertices.
vertexEdgesOutput vertex links. The size of this vector will be equal to the number of vertices in the mesh. Each entry will be a vector listing the identifiers of the edges connected to the entry's vertex.
Returns
Returns 0 upon success, negative values otherwise.
int ZeroSkeleton::buildVertexLink ( const int &  vertexId,
const int &  cellNumber,
const long long int *  cellArray,
vector< long long int > &  vertexLink 
) const

Compute the link of a single vertex of a triangulation (unspecified behavior if the input mesh is not a valid triangulation).

Parameters
vertexIdInput vertex.
cellNumberNumber of maximum-dimensional cells in the triangulation (number of tetrahedra in 3D, triangles in 2D, etc.)
cellArrayPointer to a contiguous array of cells. Each entry starts by the number of vertices in the cell, followed by the vertex identifiers of the cell.
vertexLinkOutput vertex link. This vector contains, for each simplex of the link, the number of vertices in the simplex (triangles: 3, edges: 2) followed by the corresponding vertex identifiers.
Returns
Returns 0 upon success, negative values otherwise.
int ZeroSkeleton::buildVertexLinks ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< long long int > > &  vertexLinks,
vector< vector< int > > *  vertexStars = NULL 
) const

Compute the link of each vertex of a triangulation (unspecified behavior if the input mesh is not a valid triangulation).

Parameters
vertexNumberNumber of vertices in the triangulation.
cellNumberNumber of maximum-dimensional cells in the triangulation (number of tetrahedra in 3D, triangles in 2D, etc.)
cellArrayPointer to a contiguous array of cells. Each entry starts by the number of vertices in the cell, followed by the vertex identifiers of the cell.
vertexLinksOutput vertex links. The size of this vector will be equal to the number of vertices in the mesh. Each entry will be a vector listing the simplices of the link of the entry's vertex. In particular, this vector contains, for each simplex, the number of vertices in the simplex (triangles: 3, edges: 2) followed by the corresponding vertex identifiers.
vertexStarsOptional list of vertex stars (list of 3-dimensional cells connected to each vertex). If NULL, the function will compute this list anyway and free the related memory upon return. If not NULL but pointing to an empty vector, the function will fill this empty vector (useful if this list needs to be used later on by the calling program). If not NULL but pointing to a non-empty vector, this function will use this vector as internal vertex star list. If this vector is not empty but incorrect, the behavior is unspecified.
Returns
Returns 0 upon success, negative values otherwise.
int ZeroSkeleton::buildVertexNeighbors ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  vertexNeighbors,
vector< pair< int, int > > *  edgeList = NULL 
) const

Compute the list of neighbors of each vertex of a triangulation. Unspecified behavior if the input mesh is not a valid triangulation).

Parameters
vertexNumberNumber of vertices in the triangulation.
cellNumberNumber of maximum-dimensional cells in the triangulation (number of tetrahedra in 3D, triangles in 2D, etc.)
cellArrayPointer to a contiguous array of cells. Each entry starts by the number of vertices in the cell, followed by the vertex identifiers of the cell.
vertexNeighborsOutput neighbor list. The size of this vector will be equal to the number of vertices in the mesh. Each entry will be vector listing the vertex identifiers of the entry's vertex' neighbors.
edgeListOptional list of edges. If NULL, the function will compute this list anyway and free the related memory upon return. If not NULL but pointing to an empty vector, the function will fill this empty vector (useful if this list needs to be used later on by the calling program). If not NULL but pointing to a non-empty vector, this function will use this vector as internal edge list. If this vector is not empty but incorrect, the behavior is unspecified.
Returns
Returns 0 upon success, negative values otherwise.
int ZeroSkeleton::buildVertexStars ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  vertexStars 
) const

Compute the star of each vertex of a triangulation. Unspecified behavior if the input mesh is not a valid triangulation.

Parameters
vertexNumberNumber of vertices in the triangulation.
cellNumberNumber of maximum-dimensional cells in the triangulation (number of tetrahedra in 3D, triangles in 2D, etc.)
cellArrayPointer to a contiguous array of cells. Each entry starts by the number of vertices in the cell, followed by the vertex identifiers of the cell.
vertexStarsOutput vertex stars. The size of this vector will be equal to the number of vertices in the mesh. Each entry will be a vector listing the identifiers of the maximum-dimensional cells (3D: tetrahedra, 2D: triangles, etc.) connected to the entry's vertex.
Returns
Returns 0 upon success, negative values otherwise.

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