1 #ifndef _VTK_THREESKELETON_H
13 #define _VTK_THREESKELETON_H
22 #include <vtkDataSet.h>
23 #include <vtkDataSetAlgorithm.h>
24 #include <vtkFiltersCoreModule.h>
25 #include <vtkGenericCell.h>
26 #include <vtkInformation.h>
27 #include <vtkObjectFactory.h>
28 #include <vtkSmartPointer.h>
32 :
public vtkDataSetAlgorithm,
public Wrapper{
41 vtkSetMacro(debugLevel_,
int);
45 threadNumber_ = ThreadNumber;
53 ThreadNumber = threadNumber;
87 int buildCellEdges(vtkDataSet *input,
88 vector<vector<int> > &cellEdges,
89 vector<pair<int, int> > *edgeList = NULL,
90 vector<vector<int> > *vertexEdges = NULL,
91 const bool &isTriangulation =
false)
const;
121 int buildCellNeighbors(vtkDataSet *input,
122 vector<vector<int> > &cellNeighbors,
123 vector<vector<int> > *vertexStars = NULL,
124 vector<vector<int> > *triangleStars = NULL,
125 const bool &isTriangulation =
false)
const;
155 vector<vector<int> > &cellNeighbors,
156 vector<vector<int> > *vertexStars = NULL,
157 vector<vector<int> > *triangleStars = NULL)
const{
163 if((triangleStars)&&(!vertexStars)){
165 input->GetNumberOfPoints(),
166 input->GetNumberOfCells(),
167 input->GetPolys()->GetPointer(),
168 cellNeighbors, triangleStars);
172 input->GetNumberOfPoints(),
173 input->GetNumberOfCells(),
174 input->GetPolys()->GetPointer(),
175 cellNeighbors, vertexStars);
207 vector<vector<int> > &cellNeighbors,
208 vector<vector<int> > *vertexStars = NULL,
209 vector<vector<int> > *triangleStars = NULL)
const{
215 if((triangleStars)&&(!vertexStars)){
217 input->GetNumberOfPoints(),
218 input->GetNumberOfCells(),
219 input->GetCells()->GetPointer(),
220 cellNeighbors, triangleStars);
224 input->GetNumberOfPoints(),
225 input->GetNumberOfCells(),
226 input->GetCells()->GetPointer(),
227 cellNeighbors, vertexStars);
237 int RequestData(vtkInformation *request,
238 vtkInformationVector **inputVector, vtkInformationVector *outputVector);
247 virtual int doIt(vtkDataSet *input, vtkDataSet *output);
255 #endif // _VTK_THREESKELETON_H
virtual bool needsToAbort()=0
void SetThreads()
Definition: vtkThreeSkeleton.h:43
VTK helper that processes the 3-skeleton (tetrahedra) of a data-set.
Definition: vtkThreeSkeleton.h:31
ThreeSkeleton processing package.
Definition: ThreeSkeleton.h:27
void SetThreadNumber(int threadNumber)
Definition: vtkThreeSkeleton.h:52
virtual int updateProgress(const float &progress)=0
int buildCellNeighborsFromVertices(const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &cellNeighbors, vector< vector< int > > *vertexStars=NULL) const
Definition: ThreeSkeleton.cpp:248
Wrapper class to wrap wtfit code.
Definition: Wrapper.h:15
int setWrapper(const Wrapper *wrapper)
Definition: Debug.cpp:76
int buildCellNeighborsFromTriangles(const int &vertexNumber, const int &cellNumber, const long long int *cellArray, vector< vector< int > > &cellNeighbors, vector< vector< int > > *triangleStars=NULL) const
Definition: ThreeSkeleton.cpp:119
static int getNumberOfCores()
Definition: Os.h:127
int buildTriangulationCellNeighbors(vtkPolyData *input, vector< vector< int > > &cellNeighbors, vector< vector< int > > *vertexStars=NULL, vector< vector< int > > *triangleStars=NULL) const
Definition: vtkThreeSkeleton.h:154
int buildTriangulationCellNeighbors(vtkUnstructuredGrid *input, vector< vector< int > > &cellNeighbors, vector< vector< int > > *vertexStars=NULL, vector< vector< int > > *triangleStars=NULL) const
Definition: vtkThreeSkeleton.h:206
void SetUseAllCores(bool onOff)
Definition: vtkThreeSkeleton.h:57