39 #ifndef vtkImageMarchingCubes_h
40 #define vtkImageMarchingCubes_h
42 #include "vtkFiltersGeneralModule.h"
63 void SetValue(
int i,
double value);
64 double GetValue(
int i);
66 void GetValues(
double *contourValues);
67 void SetNumberOfContours(
int number);
68 int GetNumberOfContours();
69 void GenerateValues(
int numContours,
double range[2]);
70 void GenerateValues(
int numContours,
double rangeStart,
double rangeEnd);
83 vtkGetMacro(ComputeScalars,
int);
94 vtkGetMacro(ComputeNormals,
int);
107 vtkGetMacro(ComputeGradients,
int);
114 int ComputeGradients;
123 vtkIdType GetLocatorPoint(
int cellX,
int cellY,
int edge);
124 void AddLocatorPoint(
int cellX,
int cellY,
int edge,
vtkIdType ptId);
125 void IncrementLocatorZ();
134 vtkGetMacro(InputMemoryLimit, vtkIdType);
139 ~vtkImageMarchingCubes() VTK_OVERRIDE;
141 int NumberOfSlicesPerChunk;
142 vtkIdType InputMemoryLimit;
146 vtkIdType *LocatorPointIds;
153 int FillInputPortInformation(
int port, vtkInformation *
info) VTK_OVERRIDE;
155 void March(
vtkImageData *inData,
int chunkMin,
int chunkMax,
156 int numContours,
double *values);
157 void InitializeLocator(
int min0,
int max0,
int min1,
int max1);
158 void DeleteLocator();
159 vtkIdType *GetLocatorPointer(
int cellX,
int cellY,
int edge);
162 vtkImageMarchingCubes(const vtkImageMarchingCubes&) VTK_DELETE_FUNCTION;
163 void operator=(const vtkImageMarchingCubes&) VTK_DELETE_FUNCTION;
170 inline
void vtkImageMarchingCubes::SetValue(
int i,
double value)
171 {this->ContourValues->
SetValue(i,value);}
177 {
return this->ContourValues->GetValue(i);}
184 {
return this->ContourValues->GetValues();}
192 {this->ContourValues->GetValues(contourValues);}
200 {this->ContourValues->SetNumberOfContours(number);}
206 {
return this->ContourValues->GetNumberOfContours();}
213 {this->ContourValues->GenerateValues(numContours, range);}
220 rangeStart,
double rangeEnd)
221 {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
double * GetValues()
Get a pointer to an array of contour values.
helper object to manage setting and generating contour values
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
dynamic, self-adjusting array of float
generate isosurface(s) from volume/images
vtkTypeUInt64 vtkMTimeType
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
topologically and geometrically regular array of data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
int GetNumberOfContours()
Get the number of contours in the list of contour values.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
object to represent cell connectivity
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
double GetValue(int i)
Get the ith contour value.
void SetValue(int i, double value)
Set the ith contour value.
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.