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
vtkMarchingContourFilter Class Reference

generate isosurfaces/isolines from scalar values More...

#include <vtkMarchingContourFilter.h>

Inherits vtkPolyDataAlgorithm.

Public Types

typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkMarchingContourFilterNewInstance () 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 ()
 
void SetLocator (vtkIncrementalPointLocator *locator)
 
virtual
vtkIncrementalPointLocator * 
GetLocator ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkMarchingContourFilterSafeDownCast (vtkObjectBase *o)
 
static vtkMarchingContourFilterNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 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
 
vtkIncrementalPointLocator * Locator
 
int UseScalarTree
 
vtkScalarTree * ScalarTree
 

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 67 of file vtkMarchingContourFilter.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkMarchingContourFilter::Superclass

Definition at line 70 of file vtkMarchingContourFilter.h.

Constructor & Destructor Documentation

vtkMarchingContourFilter::vtkMarchingContourFilter ( )
protected
vtkMarchingContourFilter::~vtkMarchingContourFilter ( )
protected

Member Function Documentation

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

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

void vtkMarchingContourFilter::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 168 of file vtkMarchingContourFilter.h.

double vtkMarchingContourFilter::GetValue ( int  i)
inline

Get the ith contour value.

Definition at line 176 of file vtkMarchingContourFilter.h.

double * vtkMarchingContourFilter::GetValues ( )
inline

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

Definition at line 185 of file vtkMarchingContourFilter.h.

void vtkMarchingContourFilter::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 195 of file vtkMarchingContourFilter.h.

void vtkMarchingContourFilter::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 205 of file vtkMarchingContourFilter.h.

int vtkMarchingContourFilter::GetNumberOfContours ( )
inline

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

Definition at line 213 of file vtkMarchingContourFilter.h.

void vtkMarchingContourFilter::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 222 of file vtkMarchingContourFilter.h.

void vtkMarchingContourFilter::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 232 of file vtkMarchingContourFilter.h.

unsigned long vtkMarchingContourFilter::GetMTime ( )

Modified GetMTime Because we delegate to vtkContourValues

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

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 vtkMarchingContourFilter::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 vtkMarchingContourFilter::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 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.

void vtkMarchingContourFilter::SetLocator ( vtkIncrementalPointLocator *  locator)

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

virtual vtkIncrementalPointLocator* 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.

virtual int vtkMarchingContourFilter::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual
virtual int vtkMarchingContourFilter::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual
void vtkMarchingContourFilter::StructuredPointsContour ( int  dim,
vtkDataSet *  input,
vtkPolyData *  output 
)
protected
void vtkMarchingContourFilter::ImageContour ( int  dim,
vtkDataSet *  input,
vtkPolyData *  output 
)
protected
void vtkMarchingContourFilter::DataSetContour ( vtkDataSet *  input,
vtkPolyData *  output 
)
protected

Member Data Documentation

vtkContourValues* vtkMarchingContourFilter::ContourValues
protected

Definition at line 146 of file vtkMarchingContourFilter.h.

int vtkMarchingContourFilter::ComputeNormals
protected

Definition at line 147 of file vtkMarchingContourFilter.h.

int vtkMarchingContourFilter::ComputeGradients
protected

Definition at line 148 of file vtkMarchingContourFilter.h.

int vtkMarchingContourFilter::ComputeScalars
protected

Definition at line 149 of file vtkMarchingContourFilter.h.

vtkIncrementalPointLocator* vtkMarchingContourFilter::Locator
protected

Definition at line 150 of file vtkMarchingContourFilter.h.

int vtkMarchingContourFilter::UseScalarTree
protected

Definition at line 151 of file vtkMarchingContourFilter.h.

vtkScalarTree* vtkMarchingContourFilter::ScalarTree
protected

Definition at line 152 of file vtkMarchingContourFilter.h.


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