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

OneSkeleton processing package. More...

#include <OneSkeleton.h>

Inheritance diagram for wtfit::OneSkeleton:
wtfit::Debug

Public Member Functions

 OneSkeleton ()
 
 ~OneSkeleton ()
 
int buildEdgeList (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< pair< int, int > > &edgeList) const
 
int buildEdgeLists (const vector< vector< long long int > > &cellArrays, vector< vector< pair< int, int > > > &edgeLists) const
 
int buildEdgeStars (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &starList, vector< pair< int, int > > *edgeList=NULL, vector< vector< int > > *vertexStars=NULL) const
 
int buildEdgeSubList (const int &cellNumber, const long long int *cellArray, vector< pair< int, int > > &edgeList) 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

OneSkeleton processing package.

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

OneSkeleton is a processing package that handles the 1-skeleton (edges) of a triangulation.

See also
Triangulation
vtkTriangulation
vtkOneSkeleton

Constructor & Destructor Documentation

OneSkeleton::OneSkeleton ( )
OneSkeleton::~OneSkeleton ( )

Member Function Documentation

int OneSkeleton::buildEdgeList ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< pair< int, int > > &  edgeList 
) const

Compute the list of edges of 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.
edgeListOutput edge list (each entry is an ordered pair of vertex identifiers).
Returns
Returns 0 upon success, negative values otherwise.
int OneSkeleton::buildEdgeLists ( const vector< vector< long long int > > &  cellArrays,
vector< vector< pair< int, int > > > &  edgeLists 
) const

Compute the list of edges of multiple triangulations.

Parameters
cellArraysVector of cells. For each triangulation, each entry starts by the number of vertices in the cell, followed by the vertex identifiers of the cell.
edgeListOutput edge list (each entry is an ordered pair of vertex identifiers).
Returns
Returns 0 upon success, negative values otherwise.
int OneSkeleton::buildEdgeStars ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  starList,
vector< pair< int, int > > *  edgeList = NULL,
vector< vector< int > > *  vertexStars = NULL 
) const

Compute the 3-star of all the edges of a triangulation (for each edge, list of the 3-dimensional cells connected to it).

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.
starListOutput list of 3-stars. The size of this vector will be equal to the number of edges in the mesh. Each entry stores a vector that lists the identifiers of all 3-dimensional cells connected to the entry's edge.
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.
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 OneSkeleton::buildEdgeSubList ( const int &  cellNumber,
const long long int *  cellArray,
vector< pair< int, int > > &  edgeList 
) const

Compute the list of edges of a sub-portion of a valid triangulation.

Parameters
cellNumberNumber of maximum-dimensional cells in the considered subset of 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.
edgeListOutput edge list (each entry is an ordered pair of vertex identifiers).
Returns
Returns 0 upon success, negative values otherwise.

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