Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

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
Created by:
  • Halle, Michael
CVS contributions (if > 5%):
  • Halle, Michael (90%)
CVS logs (CVSweb):
  • .h (/Graphics/vtkRectilinearGridToTetrahedra.h)
  • .cxx (/Graphics/vtkRectilinearGridToTetrahedra.cxx)
Tests:
vtkRectilinearGridToTetrahedra (Tests)

Definition at line 74 of file vtkRectilinearGridToTetrahedra.h.

Public Types

typedef vtkUnstructuredGridSource 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)
void SetInput (vtkRectilinearGrid *input)
vtkRectilinearGridGetInput ()

Static Public Member Functions

int IsTypeOf (const char *type)
vtkRectilinearGridToTetrahedraSafeDownCast (vtkObject *o)
vtkRectilinearGridToTetrahedraNew ()

Protected Member Functions

 vtkRectilinearGridToTetrahedra ()
 ~vtkRectilinearGridToTetrahedra ()
void Execute ()
virtual int FillInputPortInformation (int, vtkInformation *)

Protected Attributes

int RememberVoxelId
int TetraPerCell


Member Typedef Documentation

typedef vtkUnstructuredGridSource vtkRectilinearGridToTetrahedra::Superclass
 

Reimplemented from vtkUnstructuredGridSource.

Definition at line 77 of file vtkRectilinearGridToTetrahedra.h.


Constructor & Destructor Documentation

vtkRectilinearGridToTetrahedra::vtkRectilinearGridToTetrahedra  )  [protected]
 

vtkRectilinearGridToTetrahedra::~vtkRectilinearGridToTetrahedra  )  [inline, protected]
 

Definition at line 131 of file vtkRectilinearGridToTetrahedra.h.


Member Function Documentation

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

Reimplemented from vtkUnstructuredGridSource.

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

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

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

Reimplemented from vtkUnstructuredGridSource.

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

vtkRectilinearGridToTetrahedra* vtkRectilinearGridToTetrahedra::New  )  [static]
 

Form 5 Tetrahedra per cube. Do not RememberVoxelId.

Reimplemented from vtkAlgorithm.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo5  )  [inline]
 

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

Definition at line 86 of file vtkRectilinearGridToTetrahedra.h.

References VTK_VOXEL_TO_5_TET.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo6  )  [inline]
 

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

Definition at line 87 of file vtkRectilinearGridToTetrahedra.h.

References VTK_VOXEL_TO_6_TET.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo12  )  [inline]
 

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

Definition at line 88 of file vtkRectilinearGridToTetrahedra.h.

References VTK_VOXEL_TO_12_TET.

void vtkRectilinearGridToTetrahedra::SetTetraPerCellTo5And12  )  [inline]
 

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

Definition at line 89 of file vtkRectilinearGridToTetrahedra.h.

References VTK_VOXEL_TO_5_AND_12_TET.

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.

void vtkRectilinearGridToTetrahedra::SetInput vtkRectilinearGrid input  ) 
 

Set / get the input data or filter. If TetraPerCell is VTK_VOXEL_TO_5_and_12_TET then the input must have scalars, each set to 5 or 12 to specify how to subdivide each cell.

vtkRectilinearGrid* vtkRectilinearGridToTetrahedra::GetInput  ) 
 

Set / get the input data or filter. If TetraPerCell is VTK_VOXEL_TO_5_and_12_TET then the input must have scalars, each set to 5 or 12 to specify how to subdivide each cell.

void vtkRectilinearGridToTetrahedra::Execute  )  [protected, virtual]
 

This method is the old style execute method

Reimplemented from vtkSource.

virtual int vtkRectilinearGridToTetrahedra::FillInputPortInformation int  ,
vtkInformation
[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 vtkProcessObject.


Member Data Documentation

int vtkRectilinearGridToTetrahedra::RememberVoxelId [protected]
 

Definition at line 135 of file vtkRectilinearGridToTetrahedra.h.

int vtkRectilinearGridToTetrahedra::TetraPerCell [protected]
 

Definition at line 136 of file vtkRectilinearGridToTetrahedra.h.


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