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

# vtkMarchingCubes Class Reference

`#include <vtkMarchingCubes.h>`

Inheritance diagram for vtkMarchingCubes:

[legend]
Collaboration diagram for vtkMarchingCubes:

[legend]
List of all members.

## Detailed Description

generate isosurface(s) from volume

Date:
  2002/08/30 21:05:16

Revision:
  1.62

vtkMarchingCubes is a filter that takes as input a volume (e.g., 3D structured point set) and generates on output one or more isosurfaces. One or more contour values must be specified to generate the isosurfaces. Alternatively, you can specify a min/max scalar range and the number of contours to generate a series of evenly spaced contour values.

Warning:
  This filter is specialized to volumes. If you are interested in contouring other types of data, use the general vtkContourFilter. If you want to contour an image (i.e., a volume slice), use vtkMarchingSquares.

See also:
  vtkContourFilter vtkSliceCubes vtkMarchingSquares vtkDividingCubes

Created by:
  - Schroeder, Will

CVS contributions (if > 5%):
  - Schroeder, Will (48%)
  - Lorensen, Bill (31%)
  - Martin, Ken (8%)

CVS logs (CVSweb):
  - .`cxx` (`/Patented/vtkMarchingCubes.cxx)`
  - .`h` (`/Patented/vtkMarchingCubes.h)`

Tests:
  vtkMarchingCubes (Tests)

Definition at line 75 of file vtkMarchingCubes.h.

## Public Types

typedef vtkStructuredPointsToPolyDataFilter | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
void | SetValue (int i, float value)
void | GetValues (float *contourValues)
void | SetNumberOfContours (int number)
unsigned long int | GetMTime ()
void | CreateDefaultLocator ()
float | GetValue (int i)
float * | GetValues ()
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 ()
void | SetLocator (vtkPointLocator *locator)
virtual vtkPointLocator * | GetLocator ()

## Static Public Methods

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

## Protected Methods

| vtkMarchingCubes ()
| ~vtkMarchingCubes ()
void | Execute ()

## Protected Attributes

vtkContourValues * | ContourValues
int | ComputeNormals
int | ComputeGradients
int | ComputeScalars
vtkPointLocator * | Locator

## Member Typedef Documentation

typedef vtkStructuredPointsToPolyDataFilter vtkMarchingCubes::Superclass

| Reimplemented from vtkStructuredPointsToPolyDataFilter. Definition at line 79 of file vtkMarchingCubes.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. Reimplemented from vtkObject.

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

| Reimplemented from vtkStructuredPointsToPolyDataFilter.

int vtkMarchingCubes::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 vtkStructuredPointsToPolyDataFilter.

virtual int vtkMarchingCubes::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 vtkStructuredPointsToPolyDataFilter.

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

| Reimplemented from vtkStructuredPointsToPolyDataFilter.

void vtkMarchingCubes::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 vtkStructuredPointsToPolyDataFilter.

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

| Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours. Definition at line 153 of file vtkMarchingCubes.h. References ContourValues, and vtkContourValues::SetValue().

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

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

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

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

void vtkMarchingCubes::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 172 of file vtkMarchingCubes.h. References ContourValues, and vtkContourValues::GetValues().

void vtkMarchingCubes::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 178 of file vtkMarchingCubes.h. References ContourValues, and vtkContourValues::SetNumberOfContours().

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

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

void vtkMarchingCubes::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 190 of file vtkMarchingCubes.h. References ContourValues, and vtkContourValues::GenerateValues().

void vtkMarchingCubes::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 197 of file vtkMarchingCubes.h. References ContourValues, and vtkContourValues::GenerateValues().

unsigned long int vtkMarchingCubes::GetMTime | ( |  | ) | `[virtual]`

| Return this object's modified time. Reimplemented from vtkObject.

virtual void vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::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 vtkMarchingCubes::SetComputeScalars | ( | int |  | ) | `[virtual]`

| Set/Get the computation of scalars.

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

| Set/Get the computation of scalars.

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

| Set/Get the computation of scalars.

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

| Set/Get the computation of scalars.

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

| Overide the default locator. Useful for changing the number of bins for performance or specifying a more aggressive locator.

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

| Overide the default locator. Useful for changing the number of bins for performance or specifying a more aggressive locator.

void vtkMarchingCubes::CreateDefaultLocator | ( |  | ) |

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

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

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

## Member Data Documentation

vtkContourValues* vtkMarchingCubes::ContourValues`[protected]`

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

int vtkMarchingCubes::ComputeNormals`[protected]`

| Definition at line 142 of file vtkMarchingCubes.h.

int vtkMarchingCubes::ComputeGradients`[protected]`

| Definition at line 143 of file vtkMarchingCubes.h.

int vtkMarchingCubes::ComputeScalars`[protected]`

| Definition at line 144 of file vtkMarchingCubes.h.

vtkPointLocator* vtkMarchingCubes::Locator`[protected]`

| Definition at line 145 of file vtkMarchingCubes.h.

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

- Patented/vtkMarchingCubes.h