vtkMarchingContourFilter Class Reference
#include <vtkMarchingContourFilter.h>
Inheritance diagram for vtkMarchingContourFilter:
[legend]Collaboration diagram for vtkMarchingContourFilter:
[legend]List of all members.
Detailed Description
generate isosurfaces/isolines from scalar values
vtkMarchingContourFilter is a filter that takes as input any dataset and generates on output isosurfaces and/or isolines. The exact form of the output depends upon the dimensionality of the input data. Data consisting of 3D cells will generate isosurfaces, data consisting of 2D cells will generate isolines, and data with 1D or 0D cells will generate isopoints. Combinations of output type are possible if the input dimension is mixed.
This filter will identify special dataset types (e.g., structured points) and use the appropriate specialized filter to process the data. For examples, if the input dataset type is a volume, this filter will create an internal vtkMarchingCubes instance and use it. This gives much better performance.
To use this filter you must specify one or more contour values. You can either use the method SetValue() to specify each contour value, or use GenerateValues() to generate a series of evenly spaced contours. It is also possible to accelerate the operation of this filter (at the cost of extra memory) by using a vtkScalarTree. A scalar tree is used to quickly locate cells that contain a contour surface. This is especially effective if multiple contours are being extracted. If you want to use a scalar tree, invoke the method UseScalarTreeOn().
- Warning:
- For unstructured data or structured grids, normals and gradients are not computed. This calculation will be implemented in the future. In the mean time, use vtkPolyDataNormals to compute the surface normals.
- See also:
- vtkMarchingCubes vtkSliceCubes vtkDividingCubes vtkMarchingSquares vtkImageMarchingCubes
- Tests:
- vtkMarchingContourFilter (Tests)
Definition at line 66 of file vtkMarchingContourFilter.h.
|
void | SetValue (int i, double value) |
double | GetValue (int i) |
double * | GetValues () |
void | GetValues (double *contourValues) |
void | SetNumberOfContours (int number) |
int | GetNumberOfContours () |
void | GenerateValues (int numContours, double range[2]) |
void | GenerateValues (int numContours, double rangeStart, double rangeEnd) |
static vtkMarchingContourFilter * | New () |
Public Types |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | CreateDefaultLocator () |
|
unsigned long | GetMTime () |
virtual void | SetComputeNormals (int) |
virtual int | GetComputeNormals () |
virtual void | ComputeNormalsOn () |
virtual void | ComputeNormalsOff () |
|
virtual void | SetComputeGradients (int) |
virtual int | GetComputeGradients () |
virtual void | ComputeGradientsOn () |
virtual void | ComputeGradientsOff () |
|
virtual void | SetComputeScalars (int) |
virtual int | GetComputeScalars () |
virtual void | ComputeScalarsOn () |
virtual void | ComputeScalarsOff () |
|
virtual void | SetUseScalarTree (int) |
virtual int | GetUseScalarTree () |
virtual void | UseScalarTreeOn () |
virtual void | UseScalarTreeOff () |
|
void | SetLocator (vtkPointLocator *locator) |
virtual vtkPointLocator * | GetLocator () |
Static Public Member Functions |
static int | IsTypeOf (const char *type) |
static vtkMarchingContourFilter * | SafeDownCast (vtkObject *o) |
Protected Member Functions |
| vtkMarchingContourFilter () |
| ~vtkMarchingContourFilter () |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
void | StructuredPointsContour (int dim, vtkDataSet *input, vtkPolyData *output) |
void | ImageContour (int dim, vtkDataSet *input, vtkPolyData *output) |
void | DataSetContour (vtkDataSet *input, vtkPolyData *output) |
Protected Attributes |
vtkContourValues * | ContourValues |
int | ComputeNormals |
int | ComputeGradients |
int | ComputeScalars |
vtkPointLocator * | Locator |
int | UseScalarTree |
vtkScalarTree * | ScalarTree |
Member Typedef Documentation
Constructor & Destructor Documentation
vtkMarchingContourFilter::vtkMarchingContourFilter |
( |
|
) |
[protected] |
|
vtkMarchingContourFilter::~vtkMarchingContourFilter |
( |
|
) |
[protected] |
|
Member Function Documentation
virtual const char* vtkMarchingContourFilter::GetClassName |
( |
|
) |
[virtual] |
|
static int vtkMarchingContourFilter::IsTypeOf |
( |
const char * |
type |
) |
[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 vtkPolyDataAlgorithm. |
virtual int vtkMarchingContourFilter::IsA |
( |
const char * |
type |
) |
[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 vtkPolyDataAlgorithm. |
void vtkMarchingContourFilter::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
[virtual] |
|
|
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPolyDataAlgorithm. |
|
Construct object with initial range (0,1) and single contour value of 0.0.
Reimplemented from vtkPolyDataAlgorithm. |
void vtkMarchingContourFilter::SetValue |
( |
int |
i, |
|
|
double |
value |
|
) |
[inline] |
|
double vtkMarchingContourFilter::GetValue |
( |
int |
i |
) |
[inline] |
|
double * vtkMarchingContourFilter::GetValues |
( |
|
) |
[inline] |
|
void vtkMarchingContourFilter::GetValues |
( |
double * |
contourValues |
) |
[inline] |
|
void vtkMarchingContourFilter::SetNumberOfContours |
( |
int |
number |
) |
[inline] |
|
int vtkMarchingContourFilter::GetNumberOfContours |
( |
|
) |
[inline] |
|
void vtkMarchingContourFilter::GenerateValues |
( |
int |
numContours, |
|
|
double |
range[2] |
|
) |
[inline] |
|
void vtkMarchingContourFilter::GenerateValues |
( |
int |
numContours, |
|
|
double |
rangeStart, |
|
|
double |
rangeEnd |
|
) |
[inline] |
|
unsigned long vtkMarchingContourFilter::GetMTime |
( |
|
) |
[virtual] |
|
virtual void vtkMarchingContourFilter::SetComputeNormals |
( |
int |
|
) |
[virtual] |
|
|
Set/Get the computation of normals. Normal computation is fairly expensive in both time and storage. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. |
virtual int vtkMarchingContourFilter::GetComputeNormals |
( |
|
) |
[virtual] |
|
virtual void vtkMarchingContourFilter::ComputeNormalsOn |
( |
|
) |
[virtual] |
|
virtual void vtkMarchingContourFilter::ComputeNormalsOff |
( |
|
) |
[virtual] |
|
virtual void vtkMarchingContourFilter::SetComputeGradients |
( |
int |
|
) |
[virtual] |
|
|
Set/Get the computation of gradients. Gradient computation is fairly expensive in both time and storage. Note that if ComputeNormals is on, gradients will have to be calculated, but will not be stored in the output dataset. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. |
virtual int vtkMarchingContourFilter::GetComputeGradients |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of gradients. Gradient computation is fairly expensive in both time and storage. Note that if ComputeNormals is on, gradients will have to be calculated, but will not be stored in the output dataset. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. |
virtual void vtkMarchingContourFilter::ComputeGradientsOn |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of gradients. Gradient computation is fairly expensive in both time and storage. Note that if ComputeNormals is on, gradients will have to be calculated, but will not be stored in the output dataset. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. |
virtual void vtkMarchingContourFilter::ComputeGradientsOff |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of gradients. Gradient computation is fairly expensive in both time and storage. Note that if ComputeNormals is on, gradients will have to be calculated, but will not be stored in the output dataset. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off. |
virtual void vtkMarchingContourFilter::SetComputeScalars |
( |
int |
|
) |
[virtual] |
|
|
Set/Get the computation of scalars. |
virtual int vtkMarchingContourFilter::GetComputeScalars |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of scalars. |
virtual void vtkMarchingContourFilter::ComputeScalarsOn |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of scalars. |
virtual void vtkMarchingContourFilter::ComputeScalarsOff |
( |
|
) |
[virtual] |
|
|
Set/Get the computation of scalars. |
virtual void vtkMarchingContourFilter::SetUseScalarTree |
( |
int |
|
) |
[virtual] |
|
|
Enable the use of a scalar tree to accelerate contour extraction. |
virtual int vtkMarchingContourFilter::GetUseScalarTree |
( |
|
) |
[virtual] |
|
|
Enable the use of a scalar tree to accelerate contour extraction. |
virtual void vtkMarchingContourFilter::UseScalarTreeOn |
( |
|
) |
[virtual] |
|
|
Enable the use of a scalar tree to accelerate contour extraction. |
virtual void vtkMarchingContourFilter::UseScalarTreeOff |
( |
|
) |
[virtual] |
|
|
Enable the use of a scalar tree to accelerate contour extraction. |
|
Set / get a spatial locator for merging points. By default, an instance of vtkMergePoints is used. |
virtual vtkPointLocator* vtkMarchingContourFilter::GetLocator |
( |
|
) |
[virtual] |
|
|
Set / get a spatial locator for merging points. By default, an instance of vtkMergePoints is used. |
void vtkMarchingContourFilter::CreateDefaultLocator |
( |
|
) |
|
|
|
Create default locator. Used to create one when none is specified. The locator is used to merge coincident points. |
|
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm. |
virtual int vtkMarchingContourFilter::FillInputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
[protected, virtual] |
|
|
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm. |
void vtkMarchingContourFilter::StructuredPointsContour |
( |
int |
dim, |
|
|
vtkDataSet * |
input, |
|
|
vtkPolyData * |
output |
|
) |
[protected] |
|
void vtkMarchingContourFilter::ImageContour |
( |
int |
dim, |
|
|
vtkDataSet * |
input, |
|
|
vtkPolyData * |
output |
|
) |
[protected] |
|
Member Data Documentation
The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:59:47 2008 for VTK by
1.4.3-20050530