VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkContourFilter Class Reference

generate isosurfaces/isolines from scalar values More...

#include <vtkContourFilter.h>

Inherits vtkPolyDataAlgorithm.

Collaboration diagram for vtkContourFilter:
[legend]

Public Types

typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkContourFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
unsigned long GetMTime ()
 
void CreateDefaultLocator ()
 
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)
 
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 (vtkIncrementalPointLocator *locator)
 
virtual
vtkIncrementalPointLocator * 
GetLocator ()
 
void SetArrayComponent (int)
 
int GetArrayComponent ()
 
virtual void SetGenerateTriangles (int)
 
virtual int GetGenerateTriangles ()
 
virtual void GenerateTrianglesOn ()
 
virtual void GenerateTrianglesOff ()
 
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
void SetOutputPointsPrecision (int precision)
 
int GetOutputPointsPrecision () const
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkContourFilterSafeDownCast (vtkObjectBase *o)
 
static vtkContourFilterNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkContourFilter ()
 
 ~vtkContourFilter ()
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 

Protected Attributes

vtkContourValues * ContourValues
 
int ComputeNormals
 
int ComputeGradients
 
int ComputeScalars
 
vtkIncrementalPointLocator * Locator
 
int UseScalarTree
 
vtkScalarTree * ScalarTree
 
int OutputPointsPrecision
 
int GenerateTriangles
 
vtkSynchronizedTemplates2DSynchronizedTemplates2D
 
vtkSynchronizedTemplates3DSynchronizedTemplates3D
 
vtkGridSynchronizedTemplates3DGridSynchronizedTemplates
 
vtkRectilinearSynchronizedTemplatesRectilinearSynchronizedTemplates
 

Detailed Description

generate isosurfaces/isolines from scalar values

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

Warning
For unstructured data or structured grids, normals and gradients are not computed. Use vtkPolyDataNormals to compute the surface normals.
See Also
vtkMarchingContourFilter vtkMarchingCubes vtkSliceCubes vtkMarchingSquares vtkImageMarchingCubes
Examples:
vtkContourFilter (Examples)
Tests:
vtkContourFilter (Tests)

Definition at line 67 of file vtkContourFilter.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkContourFilter::Superclass

Definition at line 70 of file vtkContourFilter.h.

Constructor & Destructor Documentation

vtkContourFilter::vtkContourFilter ( )
protected
vtkContourFilter::~vtkContourFilter ( )
protected

Member Function Documentation

static int vtkContourFilter::IsTypeOf ( const char *  type)
static
virtual int vtkContourFilter::IsA ( const char *  type)
virtual
static vtkContourFilter* vtkContourFilter::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkContourFilter::NewInstanceInternal ( ) const
protectedvirtual
vtkContourFilter* vtkContourFilter::NewInstance ( ) const
void vtkContourFilter::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static vtkContourFilter* vtkContourFilter::New ( )
static

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

void vtkContourFilter::SetValue ( int  i,
double  value 
)
inline

Methods to set / get contour values.

Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours.

Definition at line 217 of file vtkContourFilter.h.

double vtkContourFilter::GetValue ( int  i)
inline

Get the ith contour value.

Definition at line 223 of file vtkContourFilter.h.

double * vtkContourFilter::GetValues ( )
inline

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

Definition at line 230 of file vtkContourFilter.h.

void vtkContourFilter::GetValues ( double *  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 238 of file vtkContourFilter.h.

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 246 of file vtkContourFilter.h.

int vtkContourFilter::GetNumberOfContours ( )
inline

Get the number of contours in the list of contour values.

Definition at line 252 of file vtkContourFilter.h.

void vtkContourFilter::GenerateValues ( int  numContours,
double  range[2] 
)
inline

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 259 of file vtkContourFilter.h.

void vtkContourFilter::GenerateValues ( int  numContours,
double  rangeStart,
double  rangeEnd 
)
inline

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 266 of file vtkContourFilter.h.

unsigned long vtkContourFilter::GetMTime ( )

Modified GetMTime Because we delegate to vtkContourValues

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 ( vtkIncrementalPointLocator *  locator)

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

virtual vtkIncrementalPointLocator* 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::SetArrayComponent ( int  )

Set/get which component of the scalar array to contour on; defaults to 0. Currently this feature only works if the input is a vtkImageData.

int vtkContourFilter::GetArrayComponent ( )

Set/get which component of the scalar array to contour on; defaults to 0. Currently this feature only works if the input is a vtkImageData.

virtual void vtkContourFilter::SetGenerateTriangles ( int  )
virtual

If this is enabled (by default), the output will be triangles otherwise, the output will be the intersection polygon WARNING: if the contour surface is not planar, the output polygon will not be planar, which might be nice to look at but hard to compute with downstream.

virtual int vtkContourFilter::GetGenerateTriangles ( )
virtual

If this is enabled (by default), the output will be triangles otherwise, the output will be the intersection polygon WARNING: if the contour surface is not planar, the output polygon will not be planar, which might be nice to look at but hard to compute with downstream.

virtual void vtkContourFilter::GenerateTrianglesOn ( )
virtual

If this is enabled (by default), the output will be triangles otherwise, the output will be the intersection polygon WARNING: if the contour surface is not planar, the output polygon will not be planar, which might be nice to look at but hard to compute with downstream.

virtual void vtkContourFilter::GenerateTrianglesOff ( )
virtual

If this is enabled (by default), the output will be triangles otherwise, the output will be the intersection polygon WARNING: if the contour surface is not planar, the output polygon will not be planar, which might be nice to look at but hard to compute with downstream.

virtual int vtkContourFilter::ProcessRequest ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
virtual

see vtkAlgorithm for details

void vtkContourFilter::SetOutputPointsPrecision ( int  precision)

Set/get the desired precision for the output types. See the documentation for the vtkAlgorithm::Precision enum for an explanation of the available precision settings.

int vtkContourFilter::GetOutputPointsPrecision ( ) const

Set/get the desired precision for the output types. See the documentation for the vtkAlgorithm::Precision enum for an explanation of the available precision settings.

virtual void vtkContourFilter::ReportReferences ( vtkGarbageCollector *  )
protectedvirtual
virtual int vtkContourFilter::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual
virtual int vtkContourFilter::RequestUpdateExtent ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual
virtual int vtkContourFilter::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual

Member Data Documentation

vtkContourValues* vtkContourFilter::ContourValues
protected

Definition at line 194 of file vtkContourFilter.h.

int vtkContourFilter::ComputeNormals
protected

Definition at line 195 of file vtkContourFilter.h.

int vtkContourFilter::ComputeGradients
protected

Definition at line 196 of file vtkContourFilter.h.

int vtkContourFilter::ComputeScalars
protected

Definition at line 197 of file vtkContourFilter.h.

vtkIncrementalPointLocator* vtkContourFilter::Locator
protected

Definition at line 198 of file vtkContourFilter.h.

int vtkContourFilter::UseScalarTree
protected

Definition at line 199 of file vtkContourFilter.h.

vtkScalarTree* vtkContourFilter::ScalarTree
protected

Definition at line 200 of file vtkContourFilter.h.

int vtkContourFilter::OutputPointsPrecision
protected

Definition at line 201 of file vtkContourFilter.h.

int vtkContourFilter::GenerateTriangles
protected

Definition at line 202 of file vtkContourFilter.h.

vtkSynchronizedTemplates2D* vtkContourFilter::SynchronizedTemplates2D
protected

Definition at line 204 of file vtkContourFilter.h.

vtkSynchronizedTemplates3D* vtkContourFilter::SynchronizedTemplates3D
protected

Definition at line 205 of file vtkContourFilter.h.

vtkGridSynchronizedTemplates3D* vtkContourFilter::GridSynchronizedTemplates
protected

Definition at line 206 of file vtkContourFilter.h.

vtkRectilinearSynchronizedTemplates* vtkContourFilter::RectilinearSynchronizedTemplates
protected

Definition at line 207 of file vtkContourFilter.h.


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