#include <vtkDiscreteMarchingCubes.h>
takes as input a volume (e.g., 3D structured point set) of segmentation labels and generates on output one or more models representing the boundaries between the specified label and the adjacent structures. One or more label values must be specified to generate the models. The boundary positions are always defined to be half-way between adjacent voxels. This filter works best with integral scalar values. If ComputeScalars is on (the default), each output cell will have cell data that corresponds to the scalar value (segmentation label) of the corresponding cube. Note that this differs from vtkMarchingCubes, which stores the scalar value as point data. The rationale for this difference is that cell vertices may be shared between multiple cells. This also means that the resultant polydata may be non-manifold (cell faces may be coincident). To further process the polydata, users should either: 1) extract cells that have a common scalar value using vtkThreshold, or 2) process the data with filters that can handle non-manifold polydata (e.g. vtkWindowedSincPolyDataFilter). Also note, Normals and Gradients are not computed.
Definition at line 63 of file vtkDiscreteMarchingCubes.h.
Public Types | |
typedef vtkMarchingCubes | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
Static Public Member Functions | |
static vtkDiscreteMarchingCubes * | New () |
static int | IsTypeOf (const char *type) |
static vtkDiscreteMarchingCubes * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkDiscreteMarchingCubes () | |
~vtkDiscreteMarchingCubes () | |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
vtkDiscreteMarchingCubes::vtkDiscreteMarchingCubes | ( | ) | [protected] |
vtkDiscreteMarchingCubes::~vtkDiscreteMarchingCubes | ( | ) | [protected] |
static vtkDiscreteMarchingCubes* vtkDiscreteMarchingCubes::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkMarchingCubes.
virtual const char* vtkDiscreteMarchingCubes::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkMarchingCubes.
static int vtkDiscreteMarchingCubes::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkMarchingCubes.
virtual int vtkDiscreteMarchingCubes::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkMarchingCubes.
static vtkDiscreteMarchingCubes* vtkDiscreteMarchingCubes::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkMarchingCubes.
virtual int vtkDiscreteMarchingCubes::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkMarchingCubes.