96#ifndef vtkImplicitModeller_h
97#define vtkImplicitModeller_h
99#include "vtkFiltersHybridModule.h"
101#include "vtkThreads.h"
103#define VTK_VOXEL_MODE 0
104#define VTK_CELL_MODE 1
133 vtkGetVectorMacro(SampleDimensions,
int, 3);
145 vtkSetClampMacro(MaximumDistance,
double, 0.0, 1.0);
146 vtkGetMacro(MaximumDistance,
double);
154 vtkSetVector6Macro(ModelBounds,
double);
155 vtkGetVectorMacro(ModelBounds,
double, 6);
176 vtkSetClampMacro(AdjustDistance,
double, -1.0, 1.0);
177 vtkGetMacro(AdjustDistance,
double);
196 vtkGetMacro(CapValue,
double);
223 vtkSetClampMacro(ProcessMode,
int, 0, 1);
224 vtkGetMacro(ProcessMode,
int);
235 vtkSetMacro(LocatorMaxLevel,
int);
236 vtkGetMacro(LocatorMaxLevel,
int);
243 vtkSetClampMacro(NumberOfThreads,
int, 1, VTK_MAX_THREADS);
244 vtkGetMacro(NumberOfThreads,
int);
252 vtkGetMacro(OutputScalarType,
int);
306 int SampleDimensions[3];
308 double ModelBounds[6];
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
Generic algorithm superclass for image algs.
compute distance from input geometry on structured point dataset
void SetOutputScalarTypeToDouble()
Set the desired output scalar type.
void StartAppend()
Initialize the filter for appending data.
double InternalMaxDistance
double GetScalarTypeMax(int type)
void SetOutputScalarTypeToChar()
Set the desired output scalar type.
double ComputeModelBounds(vtkDataSet *input=nullptr)
Compute ModelBounds from input geometry.
vtkMultiThreader * Threader
void Cap(vtkDataArray *s)
int FillInputPortInformation(int, vtkInformation *) override
These method should be reimplemented by subclasses that have more than a single input or single outpu...
void StartAppend(int internal)
void SetOutputScalarTypeToUnsignedShort()
Set the desired output scalar type.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkTypeBool ScaleToMaximumDistance
void SetOutputScalarTypeToUnsignedInt()
Set the desired output scalar type.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Process a request from the executive.
void EndAppend()
Method completes the append process.
void SetSampleDimensions(int i, int j, int k)
Set/Get the i-j-k dimensions on which to sample distance function.
void SetSampleDimensions(int dim[3])
Set/Get the i-j-k dimensions on which to sample distance function.
~vtkImplicitModeller() override
void SetOutputScalarTypeToUnsignedChar()
Set the desired output scalar type.
void SetOutputScalarTypeToUnsignedLong()
Set the desired output scalar type.
void SetOutputScalarTypeToLong()
Set the desired output scalar type.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
void SetOutputScalarTypeToInt()
Set the desired output scalar type.
const char * GetProcessModeAsString(void)
Specify whether to visit each cell once per append or each voxel once per append.
void SetCapValue(double value)
Specify the capping value to use.
void SetOutputScalarTypeToShort()
Set the desired output scalar type.
void SetOutputScalarTypeToFloat()
Set the desired output scalar type.
void Append(vtkDataSet *input)
Append a data set to the existing output.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetProcessModeToPerCell()
Specify whether to visit each cell once per append or each voxel once per append.
void SetOutputScalarType(int type)
Set the desired output scalar type.
static vtkImplicitModeller * New()
Construct with sample dimensions=(50,50,50), and so that model bounds are automatically computed from...
void SetProcessModeToPerVoxel()
Specify whether to visit each cell once per append or each voxel once per append.
a simple class to control print indentation
A class for performing multithreaded execution.
#define VTK_UNSIGNED_CHAR
#define VTK_UNSIGNED_SHORT
#define VTK_UNSIGNED_LONG