134 #ifndef vtkGeneralizedSurfaceNets3D_h
135 #define vtkGeneralizedSurfaceNets3D_h
139 #include "vtkFiltersMeshingModule.h"
144 VTK_ABI_NAMESPACE_BEGIN
183 double GetValue(
int i) {
return this->Labels->GetValue(i); }
184 double GetLabel(
int i) {
return this->Labels->GetValue(i); }
192 double*
GetValues() {
return this->Labels->GetValues(); }
193 double*
GetLabels() {
return this->Labels->GetValues(); }
202 void GetValues(
double* contourValues) { this->Labels->GetValues(contourValues); }
203 void GetLabels(
double* contourValues) { this->Labels->GetValues(contourValues); }
233 this->Labels->GenerateValues(numLabels, range);
237 this->Labels->GenerateValues(numContours, range);
241 this->Labels->GenerateValues(numLabels, rangeStart, rangeEnd);
245 this->Labels->GenerateValues(numContours, rangeStart, rangeEnd);
257 vtkSetMacro(BackgroundLabel,
int);
258 vtkGetMacro(BackgroundLabel,
int);
328 vtkSetMacro(GenerateSmoothingStencils,
vtkTypeBool);
329 vtkGetMacro(GenerateSmoothingStencils,
vtkTypeBool);
330 vtkBooleanMacro(GenerateSmoothingStencils,
vtkTypeBool);
346 vtkSetVector4Macro(SmoothingConstraints,
unsigned char);
347 vtkGetVector4Macro(SmoothingConstraints,
unsigned char);
374 MESH_TYPE_DEFAULT = 0,
390 vtkSetClampMacro(OutputMeshType,
int, MESH_TYPE_DEFAULT, MESH_TYPE_POLYGONS);
391 vtkGetMacro(OutputMeshType,
int);
404 vtkSetClampMacro(Padding,
double, 0.001, 0.25);
405 vtkGetMacro(Padding,
double);
450 vtkGetMacro(MaximumNumberOfHullClips,
vtkIdType);
458 vtkSetClampMacro(PruneTolerance,
double, 0.0, 0.5);
459 vtkGetMacro(PruneTolerance,
double);
471 vtkSetClampMacro(BatchSize,
unsigned int, 1,
VTK_INT_MAX);
472 vtkGetMacro(BatchSize,
unsigned int);
517 unsigned char SmoothingConstraints[4];
535 VTK_ABI_NAMESPACE_END
adjust point positions using constrained smoothing
vtkTypeBool GenerateSmoothingStencils
void SetRelaxationFactor(double f)
Convenience methods that delegate to the internal smoothing filter follow below.
vtkTypeUInt32 vtkMTimeType
create a surface net from an unorganized set of segmented (i.e., labeled) points
vtkSmartPointer< vtkConstrainedSmoothingFilter > Smoother
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void EdgeSmoothingConstraintOff()
If GenerateSmoothingStencils is on, this provides some control over each point's stencil creation...
dynamic, self-adjusting array of vtkIdType
vtkIdType GetNumberOfLabels()
Get the number of labels in the list of label values.
void GetLabels(double *contourValues)
Fill a supplied list with label values.
double * GetValues()
Get a pointer to an array of labels.
double GetRelaxationFactor()
Convenience methods that delegate to the internal smoothing filter follow below.
static vtkPolyDataAlgorithm * New()
void GetValues(double *contourValues)
Fill a supplied list with label values.
Superclass for algorithms that produce only polydata as output.
vtkStaticPointLocator * GetLocator()
Retrieve the internal locator to manually configure it, for example specifying the number of points p...
void SetLabel(int i, double value)
Set a particular label value at label number i.
a simple class to control print indentation
vtkSmartPointer< vtkStaticPointLocator > Locator
void SetNumberOfLabels(int number)
Set the number of labels to place into the list.
int GetNumberOfPrunes()
Return the number of hull prunes performed during execution.
void SetValue(int i, double value)
Set a particular label value at label number i.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void AllSmoothingConstraintsOn()
If GenerateSmoothingStencils is on, this provides some control over each point's stencil creation...
void GenerateLabels(int numLabels, double range[2])
Generate numLabels equally spaced labels between the specified range.
double GetConstraintDistance()
Convenience methods that delegate to the internal smoothing filter follow below.
vtkIdType PointOfInterest
quickly locate points in 3-space
double GetValue(int i)
Get the ith label value.
void GenerateValues(int numContours, double range[2])
Generate numLabels equally spaced labels between the specified range.
void GenerateLabels(int numLabels, double rangeStart, double rangeEnd)
Generate numLabels equally spaced labels between the specified range.
double * GetLabels()
Get a pointer to an array of labels.
vtkIdType MaximumNumberOfHullClips
void SetOutputMeshTypeToTriangles()
Control the type of output mesh.
void SetNumberOfIterations(int n)
Convenience methods that delegate to the internal smoothing filter follow below.
vtkSmartPointer< vtkContourValues > Labels
double GetLabel(int i)
Get the ith label value.
vtkTypeBool BoundaryCapping
void SetNumberOfContours(int number)
Set the number of labels to place into the list.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int GetNumberOfThreads()
Return the number of threads actually used during execution.
MeshType
This enum is used to control the type of the output polygonal mesh.
void SetConstraintDistance(double d)
Convenience methods that delegate to the internal smoothing filter follow below.
int GetNumberOfIterations()
Convenience methods that delegate to the internal smoothing filter follow below.
vtkSmartPointer< vtkIdTypeArray > PointsOfInterest
vtkIdType GetNumberOfContours()
Get the number of labels in the list of label values.
void AllSmoothingConstraintsOff()
If GenerateSmoothingStencils is on, this provides some control over each point's stencil creation...
void SetOutputMeshTypeToDefault()
Control the type of output mesh.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numLabels equally spaced labels between the specified range.
void SetOutputMeshTypeToPolygons()
Control the type of output mesh.