Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkContourFilter Class Reference

`#include <vtkContourFilter.h>`

Inheritance diagram for vtkContourFilter:

[legend]
Collaboration diagram for vtkContourFilter:

[legend]
List of all members.

## Detailed Description

generate isosurfaces/isolines from scalar values

Date:
  2003/01/09 19:21:05

Revision:
  1.69

vtkContourFilter 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.

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().

If the input data is structured, consider using a filter that is optimized for structured data. These can be found in the patented classes of vtk.

Warning:
  For unstructured data or structured grids, normals and gradients are not computed. Use vtkPolyDataNormals to compute the surface normals.

See also:
  vtkMarchingContourFilter vtkKitwareContourFilter vtkMarchingCubes vtkSliceCubes vtkDividingCubes vtkMarchingSquares vtkImageMarchingCubes

Created by:
  - Schroeder, Will

CVS contributions (if > 5%):
  - Schroeder, Will (44%)
  - Law, Charles (15%)
  - Martin, Ken (13%)
  - Henderson, Amy (11%)
  - Lorensen, Bill (7%)

CVS logs (CVSweb):
  - .`cxx` (`/Graphics/vtkContourFilter.cxx)`
  - .`h` (`/Graphics/vtkContourFilter.h)`

Examples:
  vtkContourFilter (Examples)

Tests:
  vtkContourFilter (Tests)

Definition at line 85 of file vtkContourFilter.h.

## Public Types

typedef vtkDataSetToPolyDataFilter | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
unsigned long | GetMTime ()
void | CreateDefaultLocator ()
void | SetValue (int i, float value)
float | GetValue (int i)
float * | GetValues ()
void | GetValues (float *contourValues)
void | SetNumberOfContours (int number)
int | GetNumberOfContours ()
void | GenerateValues (int numContours, float range[2])
void | GenerateValues (int numContours, float rangeStart, float rangeEnd)
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 ()
virtual void | SetScalarTree (vtkScalarTree *)
virtual vtkScalarTree * | GetScalarTree ()
void | SetLocator (vtkPointLocator *locator)
virtual vtkPointLocator * | GetLocator ()

## Static Public Methods

int | IsTypeOf (const char *type)
vtkContourFilter * | SafeDownCast (vtkObject *o)
vtkContourFilter * | New ()

## Protected Methods

| vtkContourFilter ()
| ~vtkContourFilter ()
void | Execute ()
virtual void | SetInputScalarsSelection (const char *)
virtual char * | GetInputScalarsSelection ()
virtual void | SelectInputScalars (const char *fieldName)

## Protected Attributes

vtkContourValues * | ContourValues
int | ComputeNormals
int | ComputeGradients
int | ComputeScalars
vtkPointLocator * | Locator
int | UseScalarTree
vtkScalarTree * | ScalarTree
char * | InputScalarsSelection

## Friends

class | vtkKitwareContourFilter

## Member Typedef Documentation

typedef vtkDataSetToPolyDataFilter vtkContourFilter::Superclass

| Reimplemented from vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter. Definition at line 88 of file vtkContourFilter.h.

## Constructor & Destructor Documentation

vtkContourFilter::vtkContourFilter | ( |  | ) | `[protected]`

vtkContourFilter::~vtkContourFilter | ( |  | ) | `[protected]`

## Member Function Documentation

virtual const char* vtkContourFilter::GetClassName | ( |  | ) | `[virtual]`

| Reimplemented from vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter.

int vtkContourFilter::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 vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter.

virtual int vtkContourFilter::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 vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter.

vtkContourFilter* vtkContourFilter::SafeDownCast | ( | vtkObject * | o | ) | `[static]`

| Reimplemented from vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter.

void vtkContourFilter::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 vtkDataSetToPolyDataFilter. Reimplemented in vtkKitwareContourFilter.

vtkContourFilter* vtkContourFilter::New | ( |  | ) | `[static]`

| Construct object with initial range (0,1) and single contour value of 0.0. Reimplemented from vtkObject. Reimplemented in vtkKitwareContourFilter.

void vtkContourFilter::SetValue | ( | int | i,
|  | float | value
| ) | `[inline]`

| Methods to set / get contour values. Definition at line 204 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::SetValue().

float vtkContourFilter::GetValue | ( | int | i | ) | `[inline]`

| Get the ith contour value. Definition at line 209 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GetValue().

float * vtkContourFilter::GetValues | ( |  | ) | `[inline]`

| Get a pointer to an array of contour values. There will be GetNumberOfContours() values in the list. Definition at line 216 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GetValues().

void vtkContourFilter::GetValues | ( | float * | contourValues | ) | `[inline]`

| Fill a supplied list with contour values. There will be GetNumberOfContours() values in the list. Make sure you allocate enough memory to hold the list. Definition at line 223 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GetValues().

void vtkContourFilter::SetNumberOfContours | ( | int | number | ) | `[inline]`

| Set the number of contours to place into the list. You only really need to use this method to reduce list size. The method SetValue() will automatically increase list size as needed. Definition at line 229 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::SetNumberOfContours().

int vtkContourFilter::GetNumberOfContours | ( |  | ) | `[inline]`

| Get the number of contours in the list of contour values. Definition at line 234 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GetNumberOfContours().

void vtkContourFilter::GenerateValues | ( | int | numContours,
|  | float | range[2]
| ) | `[inline]`

| Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values. Definition at line 241 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GenerateValues().

void vtkContourFilter::GenerateValues | ( | int | numContours,
|  | float | rangeStart,
|  | float | rangeEnd
| ) | `[inline]`

| Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values. Definition at line 248 of file vtkContourFilter.h. References ContourValues, and vtkContourValues::GenerateValues().

unsigned long vtkContourFilter::GetMTime | ( |  | ) | `[virtual]`

| Modified GetMTime Because we delegate to vtkContourValues Reimplemented from vtkObject.

virtual void vtkContourFilter::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 vtkContourFilter::GetComputeNormals | ( |  | ) | `[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 void vtkContourFilter::ComputeNormalsOn | ( |  | ) | `[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 void vtkContourFilter::ComputeNormalsOff | ( |  | ) | `[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 void vtkContourFilter::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 vtkContourFilter::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 vtkContourFilter::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 vtkContourFilter::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 vtkContourFilter::SetComputeScalars | ( | int |  | ) | `[virtual]`

| Set/Get the computation of scalars.

virtual int vtkContourFilter::GetComputeScalars | ( |  | ) | `[virtual]`

| Set/Get the computation of scalars.

virtual void vtkContourFilter::ComputeScalarsOn | ( |  | ) | `[virtual]`

| Set/Get the computation of scalars.

virtual void vtkContourFilter::ComputeScalarsOff | ( |  | ) | `[virtual]`

| Set/Get the computation of scalars.

virtual void vtkContourFilter::SetUseScalarTree | ( | int |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

virtual int vtkContourFilter::GetUseScalarTree | ( |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

virtual void vtkContourFilter::UseScalarTreeOn | ( |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

virtual void vtkContourFilter::UseScalarTreeOff | ( |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

virtual void vtkContourFilter::SetScalarTree | ( | vtkScalarTree * |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

virtual vtkScalarTree* vtkContourFilter::GetScalarTree | ( |  | ) | `[virtual]`

| Enable the use of a scalar tree to accelerate contour extraction.

void vtkContourFilter::SetLocator | ( | vtkPointLocator * | locator | ) |

| Set / get a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

virtual vtkPointLocator* vtkContourFilter::GetLocator | ( |  | ) | `[virtual]`

| Set / get a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

void vtkContourFilter::CreateDefaultLocator | ( |  | ) |

| Create default locator. Used to create one when none is specified. The locator is used to merge coincident points.

void vtkContourFilter::Execute | ( |  | ) | `[protected, virtual]`

| This method is the old style execute method Reimplemented from vtkSource. Reimplemented in vtkKitwareContourFilter.

virtual void vtkContourFilter::SetInputScalarsSelection | ( | const char * |  | ) | `[protected, virtual]`

virtual char* vtkContourFilter::GetInputScalarsSelection | ( |  | ) | `[protected, virtual]`

| If you want to contour by an arbitrary array, then set its name here. By default this in NULL and the filter will use the active scalar array.

virtual void vtkContourFilter::SelectInputScalars | ( | const char * | fieldName | ) | `[inline, protected, virtual]`

| If you want to contour by an arbitrary array, then set its name here. By default this in NULL and the filter will use the active scalar array. Definition at line 191 of file vtkContourFilter.h.

## Friends And Related Function Documentation

friend class vtkKitwareContourFilter`[friend]`

| Definition at line 184 of file vtkContourFilter.h.

## Member Data Documentation

vtkContourValues* vtkContourFilter::ContourValues`[protected]`

| Definition at line 169 of file vtkContourFilter.h. Referenced by GenerateValues(), GetNumberOfContours(), GetValue(), GetValues(), SetNumberOfContours(), and SetValue().

int vtkContourFilter::ComputeNormals`[protected]`

| Definition at line 170 of file vtkContourFilter.h.

int vtkContourFilter::ComputeGradients`[protected]`

| Definition at line 171 of file vtkContourFilter.h.

int vtkContourFilter::ComputeScalars`[protected]`

| Definition at line 172 of file vtkContourFilter.h.

vtkPointLocator* vtkContourFilter::Locator`[protected]`

| Definition at line 173 of file vtkContourFilter.h.

int vtkContourFilter::UseScalarTree`[protected]`

| Definition at line 174 of file vtkContourFilter.h.

vtkScalarTree* vtkContourFilter::ScalarTree`[protected]`

| Definition at line 175 of file vtkContourFilter.h.

char* vtkContourFilter::InputScalarsSelection`[protected]`

| Definition at line 177 of file vtkContourFilter.h.

The documentation for this class was generated from the following file:

- Graphics/vtkContourFilter.h