20 #ifndef MIRTK_MeshFilter_H 21 #define MIRTK_MeshFilter_H 23 #include "mirtk/Object.h" 25 #include "mirtk/EdgeTable.h" 26 #include "mirtk/Memory.h" 29 #include "vtkSmartPointer.h" 30 #include "vtkPolyData.h" 47 mirtkPublicAttributeMacro(vtkSmartPointer<vtkPolyData>, Input);
50 mirtkPublicAttributeMacro(SharedPtr<const class EdgeTable>,
EdgeTable);
53 mirtkReadOnlyAttributeMacro(vtkSmartPointer<vtkPolyData>, Output);
58 mirtkPublicAttributeMacro(
bool, DoublePrecision);
137 vtkSmartPointer<vtkDataArray>
NewArray(
const char *name, vtkIdType n,
int c,
138 int type = VTK_VOID)
const;
151 vtkSmartPointer<vtkDataArray>
NewArray(
const char *name,
int c = 1,
152 int type = VTK_VOID)
const;
163 vtkSmartPointer<vtkDataArray>
NewPointArray(
const char *name,
int c = 1,
164 int type = VTK_VOID)
const;
175 vtkSmartPointer<vtkDataArray>
NewCellArray(
const char *name,
int c = 1,
176 int type = VTK_VOID)
const;
208 return this->Output();
214 #endif // MIRTK_MeshFilter_H vtkPolyData * GetOutput()
Get output surface mesh.
MeshFilter()
Default constructor.
vtkSmartPointer< vtkDataArray > NewCellArray(const char *name, int c=1, int type=VTK_VOID) const
virtual void Execute()=0
Execute filter.
virtual ~MeshFilter()
Destructor.
vtkSmartPointer< vtkDataArray > NewPointArray(const char *name, int c=1, int type=VTK_VOID) const
void SetInputData(vtkPolyData *)
Set input surface mesh.
virtual void InitializeEdgeTable()
To be called by subclass in Initialize when _EdgeTable is needed.
vtkSmartPointer< vtkDataArray > NewArray(const char *name, vtkIdType n, int c, int type=VTK_VOID) const
virtual void Finalize()
Finalize filter execution.
virtual void Run()
Run filter.
virtual void Initialize()
Initialize filter after input and parameters are set.
void SetInput(vtkPolyData *)
Set input surface mesh.
MeshFilter & operator=(const MeshFilter &)
Assignment operator.
mirtkOnOffMacro(DoublePrecision)
Enable/disable double precision output.