Man Page for vtkContourFilter
Table of Contents

NAME

vtkContourFilter - generate isosurfaces/isolines from scalar values

SYNOPSIS


#include "/opt/vtk-c++/graphics/vtkContourFilter.h"

class VTK_EXPORT vtkContourFilter : public vtkDataSetToPolyDataFilter

vtkContourFilter();
static vtkContourFilter *New() {return new vtkContourFilter;};
~vtkContourFilter();
const char *GetClassName() {return "vtkContourFilter";};
void PrintSelf(ostream& os, vtkIndent indent);
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);
unsigned long int GetMTime();
void SetComputeNormals(int);
int GetComputeNormals();
void ComputeNormalsOn();
void ComputeNormalsOff();
void SetComputeGradients(int);
int GetComputeGradients();
void ComputeGradientsOn();
void ComputeGradientsOff();
void SetComputeScalars(int);
int GetComputeScalars();
void ComputeScalarsOn();
void ComputeScalarsOff();
void SetUseScalarTree(int);
int GetUseScalarTree();
void UseScalarTreeOn();
void UseScalarTreeOff();
void SetLocator(vtkPointLocator *locator);
void SetLocator(vtkPointLocator& locator) {this->SetLocator(&locator);};
vtkPointLocator *GetLocator();
void CreateDefaultLocator();

DESCRIPTION

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.

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

CAVEATS

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

SUMMARY

void SetComputeNormals(int)
Set/Get the computation of normals. Normal computation is failrly 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.

void SetComputeGradients(int)
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.

void SetComputeScalars(int)
Set/Get the computation of scalars.

void SetUseScalarTree(int)
Enable the use of a scalar tree to accelerate contour extraction.

void SetValue(int i, float value)
Create default locator. Used to create one when none is specified. The locator is used to merge coincident points. void StructuredPointsContour(int dim); special contouring for structured points Set a particular contour value at contour number i. The index i ranges between 0<=i float GetValue(int i)
Get the ith contour value.

float *GetValues()
Get a pointer to an array of contour values. There will be GetNumberOfContours() values in the list.

void GetValues(float *contourValues)
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.

void SetNumberOfContours(int number)
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.

int GetNumberOfContours()
Get the number of contours in the list of contour values.

void GenerateValues(int numContours, float range[2])
Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

void GenerateValues(int numContours, float
Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

vtkContourFilter()
Construct object with initial range (0,1) and single contour value of 0.0.

unsigned long GetMTime()
Overload standard modified time function. If contour values are modified, then this object is modified as well.

void SetLocator(vtkPointLocator *locator)
Specify a spatial locator for merging points. By default, an instance of vtkMergePoints is used.


Table of Contents