197 #ifndef vtkSurfaceNets3D_h
198 #define vtkSurfaceNets3D_h
203 #include "vtkFiltersCoreModule.h"
209 VTK_ABI_NAMESPACE_BEGIN
254 double GetValue(
int i) {
return this->Labels->GetValue(i); }
255 double GetLabel(
int i) {
return this->Labels->GetValue(i); }
263 double*
GetValues() {
return this->Labels->GetValues(); }
264 double*
GetLabels() {
return this->Labels->GetValues(); }
273 void GetValues(
double* contourValues) { this->Labels->GetValues(contourValues); }
274 void GetLabels(
double* contourValues) { this->Labels->GetValues(contourValues); }
304 this->Labels->GenerateValues(numLabels, range);
308 this->Labels->GenerateValues(numContours, range);
312 this->Labels->GenerateValues(numLabels, rangeStart, rangeEnd);
316 this->Labels->GenerateValues(numContours, rangeStart, rangeEnd);
331 vtkSetMacro(BackgroundLabel,
double);
332 vtkGetMacro(BackgroundLabel,
double);
340 vtkSetMacro(ArrayComponent,
int);
341 vtkGetMacro(ArrayComponent,
int);
349 MESH_TYPE_DEFAULT = 0,
365 vtkSetClampMacro(OutputMeshType,
int, MESH_TYPE_DEFAULT, MESH_TYPE_QUADS);
366 vtkGetMacro(OutputMeshType,
int);
383 vtkSetMacro(Smoothing,
bool);
384 vtkGetMacro(Smoothing,
bool);
385 vtkBooleanMacro(Smoothing,
bool);
402 this->Smoother->SetConstraintBox(sx, sy, sz);
409 this->Smoother->SetConstraintStrategyToConstraintDistance();
413 this->Smoother->SetConstraintStrategyToConstraintBox();
431 vtkSetMacro(AutomaticSmoothingConstraints,
bool);
432 vtkGetMacro(AutomaticSmoothingConstraints,
bool);
433 vtkBooleanMacro(AutomaticSmoothingConstraints,
bool);
434 vtkSetClampMacro(ConstraintScale,
double, 0, 100);
435 vtkGetMacro(ConstraintScale,
double);
446 virtual
void SetOptimizedSmoothingStencils(
bool) {}
448 virtual
bool GetOptimizedSmoothingStencils() {
return true; }
450 virtual
void OptimizedSmoothingStencilsOn() {}
452 virtual
void OptimizedSmoothingStencilsOff() {}
493 vtkSetClampMacro(OutputStyle,
int, 0, 2);
495 vtkGetMacro(OutputStyle,
int);
497 void SetOutputStyleToDefault();
499 void SetOutputStyleToBoundary();
501 void SetOutputStyleToSelected();
509 void InitializeSelectedLabelsList();
511 void AddSelectedLabel(
double label);
513 void DeleteSelectedLabel(
double label);
517 double GetSelectedLabel(
vtkIdType ithLabel);
525 TRIANGULATION_GREEDY = 0,
527 TRIANGULATION_MIN_AREA
541 vtkSetClampMacro(TriangulationStrategy,
int, TRIANGULATION_GREEDY, TRIANGULATION_MIN_AREA);
542 vtkGetMacro(TriangulationStrategy,
int);
546 this->SetTriangulationStrategy(TRIANGULATION_MIN_EDGE);
550 this->SetTriangulationStrategy(TRIANGULATION_MIN_AREA);
565 vtkSetMacro(DataCaching,
bool);
566 vtkGetMacro(DataCaching,
bool);
567 vtkBooleanMacro(DataCaching,
bool);
614 VTK_ABI_NAMESPACE_END
adjust point positions using constrained smoothing
MeshType
This enum is used to control the type of the output polygonal mesh.
void SetNumberOfIterations(int n)
Convenience methods that delegate to the internal smoothing filter follow below.
bool AutomaticSmoothingConstraints
vtkSmartPointer< vtkPolyData > GeometryCache
void GetValues(double *contourValues)
Fill a supplied list with label values.
void SetConstraintStrategyToConstraintBox()
Convenience methods that delegate to the internal smoothing filter follow below.
vtkTypeUInt32 vtkMTimeType
vtkSmartPointer< vtkContourValues > Labels
double GetValue(int i)
Get the ith label value.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int GetConstraintStrategy()
Convenience methods that delegate to the internal smoothing filter follow below.
vtkSmartPointer< vtkConstrainedSmoothingFilter > Smoother
vtkIdType GetNumberOfLabels()
Get the number of labels in the list of label values.
void GenerateLabels(int numLabels, double range[2])
Generate numLabels equally spaced labels between the specified range.
record modification and/or execution time
void SetRelaxationFactor(double f)
Convenience methods that delegate to the internal smoothing filter follow below.
void GetConstraintBox(double s[3])
Convenience methods that delegate to the internal smoothing filter follow below.
void SetOutputMeshTypeToDefault()
Control the type of output mesh.
void SetTriangulationStrategyToMinArea()
Specify the strategy to triangulate the quads (not applicable if the output mesh type is set to MESH_...
void SetOutputMeshTypeToQuads()
Control the type of output mesh.
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetLabel(int i, double value)
Set a particular label value at label number i.
int GetNumberOfIterations()
Convenience methods that delegate to the internal smoothing filter follow below.
void GenerateLabels(int numLabels, double rangeStart, double rangeEnd)
Generate numLabels equally spaced labels between the specified range.
OutputType
This enum is used to control the production of the filter output.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numLabels equally spaced labels between the specified range.
static vtkPolyDataAlgorithm * New()
void SetConstraintBox(double sx, double sy, double sz)
Convenience methods that delegate to the internal smoothing filter follow below.
Superclass for algorithms that produce only polydata as output.
void SetConstraintDistance(double d)
Convenience methods that delegate to the internal smoothing filter follow below.
vtkTimeStamp SmoothingTime
a simple class to control print indentation
topologically and geometrically regular array of data
vtkIdType GetNumberOfContours()
Get the number of labels in the list of label values.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkSmartPointer< vtkCellArray > StencilsCache
double GetConstraintDistance()
Convenience methods that delegate to the internal smoothing filter follow below.
void SetValue(int i, double value)
Set a particular label value at label number i.
void SetTriangulationStrategyToGreedy()
Specify the strategy to triangulate the quads (not applicable if the output mesh type is set to MESH_...
#define VTK_SIZEHINT(...)
int TriangulationStrategy
TriangulationType
This enum is used to control how quadrilaterals are triangulated.
double * GetValues()
Get a pointer to an array of labels.
query-driven extraction of regions and patches from any SurfaceNets filter output ...
void SetConstraintBox(double s[3])
Convenience methods that delegate to the internal smoothing filter follow below.
void GetLabels(double *contourValues)
Fill a supplied list with label values.
object to represent cell connectivity
generate smoothed isocontours from segmented 3D image data (i.e., "label maps")
void GenerateValues(int numContours, double range[2])
Generate numLabels equally spaced labels between the specified range.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
double * GetLabels()
Get a pointer to an array of labels.
double GetRelaxationFactor()
Convenience methods that delegate to the internal smoothing filter follow below.
vtkTimeStamp SelectedLabelsTime
double GetLabel(int i)
Get the ith label value.
#define VTK_DEPRECATED_IN_9_7_0(reason)
void SetNumberOfContours(int number)
Set the number of labels to place into the list.
std::vector< double > SelectedLabels
void SetConstraintStrategyToConstraintDistance()
Convenience methods that delegate to the internal smoothing filter follow below.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetTriangulationStrategyToMinEdge()
Specify the strategy to triangulate the quads (not applicable if the output mesh type is set to MESH_...
double * GetConstraintBox()
Convenience methods that delegate to the internal smoothing filter follow below.
void SetOutputMeshTypeToTriangles()
Control the type of output mesh.
void SetNumberOfLabels(int number)
Set the number of labels to place into the list.