VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkRecursiveDividingCubes Class Reference

create points laying on isosurface (using recursive approach) More...

#include <vtkRecursiveDividingCubes.h>

Inheritance diagram for vtkRecursiveDividingCubes:
Inheritance graph
[legend]
Collaboration diagram for vtkRecursiveDividingCubes:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

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

Static Public Member Functions

static vtkRecursiveDividingCubesNew ()
static int IsTypeOf (const char *type)
static vtkRecursiveDividingCubesSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkRecursiveDividingCubes ()
 ~vtkRecursiveDividingCubes ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int port, vtkInformation *info)
void SubDivide (double origin[3], double h[3], double values[8])

Protected Attributes

double Value
double Distance
int Increment
int Count
vtkVoxelVoxel

Detailed Description

create points laying on isosurface (using recursive approach)

vtkRecursiveDividingCubes is a filter that generates points laying 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
Tests:
vtkRecursiveDividingCubes (Tests)

Definition at line 47 of file vtkRecursiveDividingCubes.h.


Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 51 of file vtkRecursiveDividingCubes.h.


Constructor & Destructor Documentation


Member Function Documentation

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

Reimplemented from vtkPolyDataAlgorithm.

static int vtkRecursiveDividingCubes::IsTypeOf ( const char *  name) [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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkRecursiveDividingCubes::IsA ( const char *  name) [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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented from vtkPolyDataAlgorithm.

virtual vtkObjectBase* vtkRecursiveDividingCubes::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented from vtkPolyDataAlgorithm.

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 vtkPolyDataAlgorithm.

virtual void vtkRecursiveDividingCubes::SetValue ( double  ) [virtual]

Set isosurface value.

Set isosurface value.

virtual void vtkRecursiveDividingCubes::SetDistance ( double  ) [virtual]

Specify sub-voxel size at which to generate point.

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.

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::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkRecursiveDividingCubes::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkPolyDataAlgorithm.

void vtkRecursiveDividingCubes::SubDivide ( double  origin[3],
double  h[3],
double  values[8] 
) [protected]

Member Data Documentation

Definition at line 82 of file vtkRecursiveDividingCubes.h.

Definition at line 83 of file vtkRecursiveDividingCubes.h.

Definition at line 84 of file vtkRecursiveDividingCubes.h.

Definition at line 87 of file vtkRecursiveDividingCubes.h.

Definition at line 90 of file vtkRecursiveDividingCubes.h.


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