vtkRectilinearGridToTetrahedra Class Reference

#include <vtkRectilinearGridToTetrahedra.h>

Inheritance diagram for vtkRectilinearGridToTetrahedra:

Inheritance graph
[legend]
Collaboration diagram for vtkRectilinearGridToTetrahedra:

Collaboration graph
[legend]

List of all members.


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 64 of file vtkRectilinearGridToTetrahedra.h.


Public Types

typedef
vtkUnstructuredGridAlgorithm 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
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 (vtkObject *o)
static
vtkRectilinearGridToTetrahedra
New ()

Protected Member Functions

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

Protected Attributes

int RememberVoxelId
int TetraPerCell

Member Typedef Documentation

Reimplemented from vtkUnstructuredGridAlgorithm.

Definition at line 67 of file vtkRectilinearGridToTetrahedra.h.


Constructor & Destructor Documentation

vtkRectilinearGridToTetrahedra::vtkRectilinearGridToTetrahedra (  )  [protected]

vtkRectilinearGridToTetrahedra::~vtkRectilinearGridToTetrahedra (  )  [inline, protected]

Definition at line 113 of file vtkRectilinearGridToTetrahedra.h.


Member Function Documentation

virtual const char* vtkRectilinearGridToTetrahedra::GetClassName (  )  [virtual]

Reimplemented from vtkUnstructuredGridAlgorithm.

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.

static vtkRectilinearGridToTetrahedra* vtkRectilinearGridToTetrahedra::SafeDownCast ( vtkObject o  )  [static]

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.

static vtkRectilinearGridToTetrahedra* vtkRectilinearGridToTetrahedra::New (  )  [static]

Form 5 Tetrahedra per cube. Do not RememberVoxelId.

Reimplemented from vtkUnstructuredGridAlgorithm.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo5 (  )  [inline]

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

Definition at line 76 of file vtkRectilinearGridToTetrahedra.h.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo6 (  )  [inline]

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

Definition at line 77 of file vtkRectilinearGridToTetrahedra.h.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo12 (  )  [inline]

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

Definition at line 78 of file vtkRectilinearGridToTetrahedra.h.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo5And12 (  )  [inline]

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

Definition at line 79 of file vtkRectilinearGridToTetrahedra.h.

virtual void vtkRectilinearGridToTetrahedra::SetTetraPerCell ( int   )  [virtual]

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

virtual int vtkRectilinearGridToTetrahedra::GetTetraPerCell (  )  [virtual]

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

virtual void vtkRectilinearGridToTetrahedra::SetRememberVoxelId ( int   )  [virtual]

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

virtual int vtkRectilinearGridToTetrahedra::GetRememberVoxelId (  )  [virtual]

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

virtual void vtkRectilinearGridToTetrahedra::RememberVoxelIdOn (  )  [virtual]

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

virtual void vtkRectilinearGridToTetrahedra::RememberVoxelIdOff (  )  [virtual]

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

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 117 of file vtkRectilinearGridToTetrahedra.h.

Definition at line 118 of file vtkRectilinearGridToTetrahedra.h.


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

Generated on Wed Aug 24 12:02:20 2011 for VTK by  doxygen 1.5.6