generate isosurfaces/isolines from scalar values
More...
#include <vtkContourFilter.h>
Inherits vtkPolyDataAlgorithm.
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.
vtkContourFilter::vtkContourFilter |
( |
| ) |
|
|
protected |
vtkContourFilter::~vtkContourFilter |
( |
| ) |
|
|
protected |
static int vtkContourFilter::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkContourFilter::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkContourFilter::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkContourFilter::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
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 |
double * vtkContourFilter::GetValues |
( |
| ) |
|
|
inline |
void vtkContourFilter::GetValues |
( |
double * |
contourValues | ) |
|
|
inline |
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 |
vtkContourValues* vtkContourFilter::ContourValues |
|
protected |
int vtkContourFilter::ComputeNormals |
|
protected |
int vtkContourFilter::ComputeGradients |
|
protected |
int vtkContourFilter::ComputeScalars |
|
protected |
vtkIncrementalPointLocator* vtkContourFilter::Locator |
|
protected |
int vtkContourFilter::UseScalarTree |
|
protected |
vtkScalarTree* vtkContourFilter::ScalarTree |
|
protected |
int vtkContourFilter::OutputPointsPrecision |
|
protected |
int vtkContourFilter::GenerateTriangles |
|
protected |
The documentation for this class was generated from the following file: