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

ThreeSkeleton processing package. More...

#include <ThreeSkeleton.h>

Inheritance diagram for wtfit::ThreeSkeleton:
wtfit::Debug

Public Member Functions

 ThreeSkeleton ()
 
 ~ThreeSkeleton ()
 
int buildCellEdges (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &cellEdges, vector< pair< int, int > > *edgeList=NULL, vector< vector< int > > *vertexEdges=NULL) const
 
int buildCellNeighborsFromTriangles (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &cellNeighbors, vector< vector< int > > *triangleStars=NULL) const
 
int buildCellNeighborsFromVertices (const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &cellNeighbors, vector< vector< int > > *vertexStars=NULL) 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

ThreeSkeleton processing package.

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

ThreeSkeleton is a processing package that handles the 3-skeleton (tetrahedra) of a triangulation.

See also
Triangulation
vtkTriangulation
vtkThreeSkeleton

Constructor & Destructor Documentation

ThreeSkeleton::ThreeSkeleton ( )
ThreeSkeleton::~ThreeSkeleton ( )

Member Function Documentation

int ThreeSkeleton::buildCellEdges ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  cellEdges,
vector< pair< int, int > > *  edgeList = NULL,
vector< vector< int > > *  vertexEdges = NULL 
) const

Compute the list of edges of each cell of a 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.
cellEdgesOutput edge lists. The size of this vector will be equal to the number of cells in the mesh. Each entry will be a vector listing the edge identifiers of the entry's cell's edges.
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.
vertexEdgesOptional list of edges for 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 edge list. If this vector is not empty but incorrect, the behavior is unspecified.
Returns
Returns 0 upon success, negative values otherwise.
int ThreeSkeleton::buildCellNeighborsFromTriangles ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  cellNeighbors,
vector< vector< int > > *  triangleStars = NULL 
) const

Compute the list of cell-neighbors of each cell of a triangulation (unspecified behavior if the input mesh is not a triangulation). This implementation is fast only if you already have the triangle stars computed. Otherwise, please use ThreeSkeleton::buildCellNeighborsFromVertices instead.

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.
cellNeighborsOutput neighbor list. The size of this vector will be equal to the number of cells in the mesh. Each entry will be a vector listing the cell identifiers of the entry's cell's neighbors.
triangleStarsOptional list of triangle stars (list of 3-dimensional cells connected to each triangle). 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 triangle star list. If this vector is not empty but incorrect, the behavior is unspecified.
Returns
Returns 0 upon success, negative values otherwise.
int ThreeSkeleton::buildCellNeighborsFromVertices ( const int &  vertexNumber,
const int &  cellNumber,
const long long int *  cellArray,
vector< vector< int > > &  cellNeighbors,
vector< vector< int > > *  vertexStars = NULL 
) const

Compute the list of cell-neighbors of each cell of a triangulation (unspecified behavior if the input mesh is not a 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.
cellNeighborsOutput neighbor list. The size of this vector will be equal to the number of cells in the mesh. Each entry will be a vector listing the cell identifiers of the entry's cell's neighbors.
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.

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