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

# vtkRecursiveDividingCubes Class Reference

`#include <vtkRecursiveDividingCubes.h>`

Inheritance diagram for vtkRecursiveDividingCubes:

[legend]
Collaboration diagram for vtkRecursiveDividingCubes:

[legend]
List of all members.

## Detailed Description

create points lying on isosurface (using recursive approach)

Date:
  2002/09/03 12:52:23

Revision:
  1.36

vtkRecursiveDividingCubes is a filter that generates points lying on a surface of constant scalar value (i.e., an isosurface). Dense point clouds (i.e., at screen resolution) will appear as a surface. Less dense clouds can be used as a source to generate streamlines or to generate "transparent" surfaces.

This implementation differs from vtkDividingCubes in that it uses a recursive procedure. In many cases this can result in generating more points than the procedural implementation of vtkDividingCubes. This is because the recursive procedure divides voxels by multiples of powers of two. This can over-constrain subdivision. One of the advantages of the recursive technique is that the recursion is terminated earlier, which in some cases can be more efficient.

See also:
  vtkDividingCubes vtkContourFilter vtkMarchingCubes

Created by:
  - Schroeder, Will

CVS contributions (if > 5%):
  - Schroeder, Will (68%)
  - Law, Charles (8%)
  - Lorensen, Bill (7%)
  - Geveci, Berk (5%)

CVS logs (CVSweb):
  - .`cxx` (`/Graphics/vtkRecursiveDividingCubes.cxx)`
  - .`h` (`/Graphics/vtkRecursiveDividingCubes.h)`

Tests:
  vtkRecursiveDividingCubes (Tests)

Definition at line 63 of file vtkRecursiveDividingCubes.h.

## Public Types

typedef vtkStructuredPointsToPolyDataFilter | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
virtual void | SetValue (float)
virtual float | GetValue ()
virtual void | SetDistance (float)
virtual float | GetDistance ()
virtual void | SetIncrement (int)
virtual int | GetIncrement ()

## Static Public Methods

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

## Protected Methods

| vtkRecursiveDividingCubes ()
| ~vtkRecursiveDividingCubes ()
void | Execute ()
void | SubDivide (float origin[3], float h[3], float values[8])

## Protected Attributes

float | Value
float | Distance
int | Increment
int | Count
vtkVoxel * | Voxel

## Member Typedef Documentation

typedef vtkStructuredPointsToPolyDataFilter vtkRecursiveDividingCubes::Superclass

| Reimplemented from vtkStructuredPointsToPolyDataFilter. Definition at line 67 of file vtkRecursiveDividingCubes.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

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

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

| Reimplemented from vtkStructuredPointsToPolyDataFilter.

int vtkRecursiveDividingCubes::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 vtkRecursiveDividingCubes::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.

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

| Reimplemented from vtkStructuredPointsToPolyDataFilter.

void vtkRecursiveDividingCubes::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.

virtual void vtkRecursiveDividingCubes::SetValue | ( | float |  | ) | `[virtual]`

| Set isosurface value.

virtual float vtkRecursiveDividingCubes::GetValue | ( |  | ) | `[virtual]`

| Set isosurface value.

virtual void vtkRecursiveDividingCubes::SetDistance | ( | float |  | ) | `[virtual]`

| Specify sub-voxel size at which to generate point.

virtual float vtkRecursiveDividingCubes::GetDistance | ( |  | ) | `[virtual]`

| Specify sub-voxel size at which to generate point.

virtual void vtkRecursiveDividingCubes::SetIncrement | ( | int |  | ) | `[virtual]`

| Every "Increment" point is added to the list of points. This parameter, if set to a large value, can be used to limit the number of points while retaining good accuracy.

virtual int vtkRecursiveDividingCubes::GetIncrement | ( |  | ) | `[virtual]`

| Every "Increment" point is added to the list of points. This parameter, if set to a large value, can be used to limit the number of points while retaining good accuracy.

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

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

void vtkRecursiveDividingCubes::SubDivide | ( | float | origin[3],
|  | float | h[3],
|  | float | values[8]
| ) | `[protected]`

## Member Data Documentation

float vtkRecursiveDividingCubes::Value`[protected]`

| Definition at line 97 of file vtkRecursiveDividingCubes.h.

float vtkRecursiveDividingCubes::Distance`[protected]`

| Definition at line 98 of file vtkRecursiveDividingCubes.h.

int vtkRecursiveDividingCubes::Increment`[protected]`

| Definition at line 99 of file vtkRecursiveDividingCubes.h.

int vtkRecursiveDividingCubes::Count`[protected]`

| Definition at line 102 of file vtkRecursiveDividingCubes.h.

vtkVoxel* vtkRecursiveDividingCubes::Voxel`[protected]`

| Definition at line 105 of file vtkRecursiveDividingCubes.h.

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

- Graphics/vtkRecursiveDividingCubes.h