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

create a Tetrahedral mesh from a RectilinearGrid More...

#include <vtkRectilinearGridToTetrahedra.h>

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

List of all members.

Public Types

typedef
vtkUnstructuredGridAlgorithm 
Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkRectilinearGridToTetrahedraNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void SetTetraPerCellTo5 ()
void SetTetraPerCellTo6 ()
void SetTetraPerCellTo12 ()
void SetTetraPerCellTo5And12 ()
virtual void SetTetraPerCell (int)
virtual int GetTetraPerCell ()
virtual void SetRememberVoxelId (int)
virtual int GetRememberVoxelId ()
virtual void RememberVoxelIdOn ()
virtual void RememberVoxelIdOff ()
void SetInput (const double Extent[3], const double Spacing[3], const double tol=0.001)
void SetInput (const double ExtentX, const double ExtentY, const double ExtentZ, const double SpacingX, const double SpacingY, const double SpacingZ, const double tol=0.001)

Static Public Member Functions

static int IsTypeOf (const char *type)
static
vtkRectilinearGridToTetrahedra
SafeDownCast (vtkObjectBase *o)
static
vtkRectilinearGridToTetrahedra
New ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkRectilinearGridToTetrahedra ()
 ~vtkRectilinearGridToTetrahedra ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int, vtkInformation *)

Protected Attributes

int RememberVoxelId
int TetraPerCell

Detailed Description

create a Tetrahedral mesh from a RectilinearGrid

vtkRectilinearGridToTetrahedra forms a mesh of Tetrahedra from a vtkRectilinearGrid. The tetrahedra can be 5 per cell, 6 per cell, or a mixture of 5 or 12 per cell. The resulting mesh is consistent, meaning that there are no edge crossings and that each tetrahedron face is shared by two tetrahedra, except those tetrahedra on the boundary. All tetrahedra are right handed.

Note that 12 tetrahedra per cell means adding a point in the center of the cell.

In order to subdivide some cells into 5 and some cells into 12 tetrahedra: SetTetraPerCellTo5And12(); Set the Scalars of the Input RectilinearGrid to be 5 or 12 depending on what you want per cell of the RectilinearGrid.

If you set RememberVoxelId, the scalars of the tetrahedron will be set to the Id of the Cell in the RectilinearGrid from which the tetrahedron came.

Thanks:
This class was developed by Samson J. Timoner of the MIT Artificial Intelligence Laboratory
See also:
vtkDelaunay3D
Tests:
vtkRectilinearGridToTetrahedra (Tests)

Definition at line 65 of file vtkRectilinearGridToTetrahedra.h.


Member Typedef Documentation

Reimplemented from vtkUnstructuredGridAlgorithm.

Definition at line 68 of file vtkRectilinearGridToTetrahedra.h.


Constructor & Destructor Documentation

Definition at line 115 of file vtkRectilinearGridToTetrahedra.h.


Member Function Documentation

static int vtkRectilinearGridToTetrahedra::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 vtkUnstructuredGridAlgorithm.

virtual int vtkRectilinearGridToTetrahedra::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 vtkUnstructuredGridAlgorithm.

Reimplemented from vtkUnstructuredGridAlgorithm.

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

Reimplemented from vtkUnstructuredGridAlgorithm.

Reimplemented from vtkUnstructuredGridAlgorithm.

void vtkRectilinearGridToTetrahedra::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 vtkUnstructuredGridAlgorithm.

Form 5 Tetrahedra per cube. Do not RememberVoxelId.

Reimplemented from vtkUnstructuredGridAlgorithm.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Definition at line 77 of file vtkRectilinearGridToTetrahedra.h.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Definition at line 78 of file vtkRectilinearGridToTetrahedra.h.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Definition at line 79 of file vtkRectilinearGridToTetrahedra.h.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Definition at line 80 of file vtkRectilinearGridToTetrahedra.h.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Set the method to divide each cell (voxel) in the RectilinearGrid into tetrahedra.

Should the tetrahedra have scalar data indicating which Voxel they came from in the vtkRectilinearGrid?

Should the tetrahedra have scalar data indicating which Voxel they came from in the vtkRectilinearGrid?

Should the tetrahedra have scalar data indicating which Voxel they came from in the vtkRectilinearGrid?

Should the tetrahedra have scalar data indicating which Voxel they came from in the vtkRectilinearGrid?

void vtkRectilinearGridToTetrahedra::SetInput ( const double  Extent[3],
const double  Spacing[3],
const double  tol = 0.001 
)

This function for convenience for creating a Rectilinear Grid If Spacing does not fit evenly into extent, the last cell will have a different width (or height or depth). If Extent[i]/Spacing[i] is within tol of an integer, then assume the programmer meant an integer for direction i.

void vtkRectilinearGridToTetrahedra::SetInput ( const double  ExtentX,
const double  ExtentY,
const double  ExtentZ,
const double  SpacingX,
const double  SpacingY,
const double  SpacingZ,
const double  tol = 0.001 
)

This version of the function for the wrappers

int vtkRectilinearGridToTetrahedra::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

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

Reimplemented from vtkUnstructuredGridAlgorithm.

virtual int vtkRectilinearGridToTetrahedra::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 vtkUnstructuredGridAlgorithm.


Member Data Documentation

Definition at line 119 of file vtkRectilinearGridToTetrahedra.h.

Definition at line 120 of file vtkRectilinearGridToTetrahedra.h.


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