vtkBoxClipDataSet Class Reference

#include <vtkBoxClipDataSet.h>

Inheritance diagram for vtkBoxClipDataSet:

Inheritance graph
[legend]
Collaboration diagram for vtkBoxClipDataSet:

Collaboration graph
[legend]

List of all members.


Detailed Description

clip an unstructured grid

Clipping means that is actually 'cuts' through the cells of the dataset, returning tetrahedral cells inside of the box. The output of this filter is an unstructured grid.

This filter can be configured to compute a second output. The second output is the part of the cell that is clipped away. Set the GenerateClippedData boolean on if you wish to access this output data.

The vtkBoxClipDataSet will triangulate all types of 3D cells (i.e, create tetrahedra). This is necessary to preserve compatibility across face neighbors.

To use this filter,you can decide if you will be clipping with a box or a hexahedral box. 1) Set orientation if(SetOrientation(0)): box (parallel with coordinate axis) SetBoxClip(xmin,xmax,ymin,ymax,zmin,zmax) if(SetOrientation(1)): hexahedral box (Default) SetBoxClip(n[0],o[0],n[1],o[1],n[2],o[2],n[3],o[3],n[4],o[4],n[5],o[5]) PlaneNormal[] normal of each plane PlanePoint[] point on the plane 2) Apply the GenerateClipScalarsOn() 3) Execute clipping Update();

Tests:
vtkBoxClipDataSet (Tests)

Definition at line 66 of file vtkBoxClipDataSet.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 CreateDefaultLocator ()
unsigned long GetMTime ()
void MinEdgeF (const unsigned int *id_v, const vtkIdType *cellIds, unsigned int *edgF)
void PyramidToTetra (const vtkIdType *pyramId, const vtkIdType *cellIds, vtkCellArray *newCellArray)
void WedgeToTetra (const vtkIdType *wedgeId, const vtkIdType *cellIds, vtkCellArray *newCellArray)
void CellGrid (vtkIdType typeobj, vtkIdType npts, const vtkIdType *cellIds, vtkCellArray *newCellArray)
void CreateTetra (vtkIdType npts, const vtkIdType *cellIds, vtkCellArray *newCellArray)
void ClipBox (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedron (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedronInOut (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox0D (vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut0D (vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron0D (vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray *verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut0D (vtkGenericCell *cell, vtkPointLocator *locator, vtkCellArray **verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void SetBoxClip (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
void SetBoxClip (const double *n0, const double *o0, const double *n1, const double *o1, const double *n2, const double *o2, const double *n3, const double *o3, const double *n4, const double *o4, const double *n5, const double *o5)
virtual void SetGenerateClipScalars (int)
virtual int GetGenerateClipScalars ()
virtual void GenerateClipScalarsOn ()
virtual void GenerateClipScalarsOff ()
virtual void SetGenerateClippedOutput (int)
virtual int GetGenerateClippedOutput ()
virtual void GenerateClippedOutputOn ()
virtual void GenerateClippedOutputOff ()
vtkUnstructuredGridGetClippedOutput ()
virtual int GetNumberOfOutputs ()
void SetLocator (vtkPointLocator *locator)
virtual vtkPointLocatorGetLocator ()
virtual unsigned int GetOrientation ()
virtual void SetOrientation (unsigned int)

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkBoxClipDataSetSafeDownCast (vtkObject *o)
static vtkBoxClipDataSetNew ()
static void InterpolateEdge (vtkDataSetAttributes *attributes, vtkIdType toId, vtkIdType fromId1, vtkIdType fromId2, double t)

Protected Member Functions

 vtkBoxClipDataSet ()
 ~vtkBoxClipDataSet ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int port, vtkInformation *info)

Protected Attributes

vtkPointLocatorLocator
int GenerateClipScalars
int GenerateClippedOutput
double BoundBoxClip [3][2]
unsigned int Orientation
double PlaneNormal [6][3]
double PlanePoint [6][3]

Member Typedef Documentation

Reimplemented from vtkUnstructuredGridAlgorithm.

Definition at line 69 of file vtkBoxClipDataSet.h.


Constructor & Destructor Documentation

vtkBoxClipDataSet::vtkBoxClipDataSet (  )  [protected]

vtkBoxClipDataSet::~vtkBoxClipDataSet (  )  [protected]


Member Function Documentation

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

Reimplemented from vtkUnstructuredGridAlgorithm.

static int vtkBoxClipDataSet::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkUnstructuredGridAlgorithm.

virtual int vtkBoxClipDataSet::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkUnstructuredGridAlgorithm.

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

Reimplemented from vtkUnstructuredGridAlgorithm.

void vtkBoxClipDataSet::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 vtkBoxClipDataSet* vtkBoxClipDataSet::New (  )  [static]

Constructor of the clipping box. The initial box is (0,1,0,1,0,1). The hexahedral box and the parallel box parameters are set to match this box.

Reimplemented from vtkUnstructuredGridAlgorithm.

void vtkBoxClipDataSet::SetBoxClip ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)

Specify the Box with which to perform the clipping. If the box is not parallel to axis, you need to especify normal vector of each plane and a point on the plane.

void vtkBoxClipDataSet::SetBoxClip ( const double *  n0,
const double *  o0,
const double *  n1,
const double *  o1,
const double *  n2,
const double *  o2,
const double *  n3,
const double *  o3,
const double *  n4,
const double *  o4,
const double *  n5,
const double *  o5 
)

Specify the Box with which to perform the clipping. If the box is not parallel to axis, you need to especify normal vector of each plane and a point on the plane.

virtual void vtkBoxClipDataSet::SetGenerateClipScalars ( int   )  [virtual]

If this flag is enabled, then the output scalar values will be interpolated, and not the input scalar data.

virtual int vtkBoxClipDataSet::GetGenerateClipScalars (  )  [virtual]

If this flag is enabled, then the output scalar values will be interpolated, and not the input scalar data.

virtual void vtkBoxClipDataSet::GenerateClipScalarsOn (  )  [virtual]

If this flag is enabled, then the output scalar values will be interpolated, and not the input scalar data.

virtual void vtkBoxClipDataSet::GenerateClipScalarsOff (  )  [virtual]

If this flag is enabled, then the output scalar values will be interpolated, and not the input scalar data.

virtual void vtkBoxClipDataSet::SetGenerateClippedOutput ( int   )  [virtual]

Control whether a second output is generated. The second output contains the polygonal data that's been clipped away.

virtual int vtkBoxClipDataSet::GetGenerateClippedOutput (  )  [virtual]

Control whether a second output is generated. The second output contains the polygonal data that's been clipped away.

virtual void vtkBoxClipDataSet::GenerateClippedOutputOn (  )  [virtual]

Control whether a second output is generated. The second output contains the polygonal data that's been clipped away.

virtual void vtkBoxClipDataSet::GenerateClippedOutputOff (  )  [virtual]

Control whether a second output is generated. The second output contains the polygonal data that's been clipped away.

vtkUnstructuredGrid* vtkBoxClipDataSet::GetClippedOutput (  ) 

Set the tolerance for merging clip intersection points that are near the vertices of cells. This tolerance is used to prevent the generation of degenerate primitives. Note that only 3D cells actually use this instance variable. vtkSetClampMacro(MergeTolerance,double,0.0001,0.25); vtkGetMacro(MergeTolerance,double);

Return the Clipped output.

virtual int vtkBoxClipDataSet::GetNumberOfOutputs (  )  [virtual]

Set the tolerance for merging clip intersection points that are near the vertices of cells. This tolerance is used to prevent the generation of degenerate primitives. Note that only 3D cells actually use this instance variable. vtkSetClampMacro(MergeTolerance,double,0.0001,0.25); vtkGetMacro(MergeTolerance,double);

Return the Clipped output.

void vtkBoxClipDataSet::SetLocator ( vtkPointLocator locator  ) 

Specify a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

virtual vtkPointLocator* vtkBoxClipDataSet::GetLocator (  )  [virtual]

Specify a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

void vtkBoxClipDataSet::CreateDefaultLocator (  ) 

Create default locator. Used to create one when none is specified. The locator is used to merge coincident points.

unsigned long vtkBoxClipDataSet::GetMTime (  )  [virtual]

Return the mtime also considering the locator.

Reimplemented from vtkObject.

virtual unsigned int vtkBoxClipDataSet::GetOrientation (  )  [virtual]

Tells if clipping happens with a box parallel with coordinate axis (0) or with an hexahedral box (1). Initial value is 1.

virtual void vtkBoxClipDataSet::SetOrientation ( unsigned  int  )  [virtual]

Tells if clipping happens with a box parallel with coordinate axis (0) or with an hexahedral box (1). Initial value is 1.

static void vtkBoxClipDataSet::InterpolateEdge ( vtkDataSetAttributes attributes,
vtkIdType  toId,
vtkIdType  fromId1,
vtkIdType  fromId2,
double  t 
) [static]

void vtkBoxClipDataSet::MinEdgeF ( const unsigned int *  id_v,
const vtkIdType cellIds,
unsigned int *  edgF 
)

void vtkBoxClipDataSet::PyramidToTetra ( const vtkIdType pyramId,
const vtkIdType cellIds,
vtkCellArray newCellArray 
)

void vtkBoxClipDataSet::WedgeToTetra ( const vtkIdType wedgeId,
const vtkIdType cellIds,
vtkCellArray newCellArray 
)

void vtkBoxClipDataSet::CellGrid ( vtkIdType  typeobj,
vtkIdType  npts,
const vtkIdType cellIds,
vtkCellArray newCellArray 
)

void vtkBoxClipDataSet::CreateTetra ( vtkIdType  npts,
const vtkIdType cellIds,
vtkCellArray newCellArray 
)

void vtkBoxClipDataSet::ClipBox ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipHexahedron ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipBoxInOut ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipHexahedronInOut ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipBox2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipBoxInOut2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipHexahedron2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipHexahedronInOut2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipBox1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipBoxInOut1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipHexahedron1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipHexahedronInOut1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipBox0D ( vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipBoxInOut0D ( vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

void vtkBoxClipDataSet::ClipHexahedron0D ( vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)

void vtkBoxClipDataSet::ClipHexahedronInOut0D ( vtkGenericCell cell,
vtkPointLocator locator,
vtkCellArray **  verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)

virtual int vtkBoxClipDataSet::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 vtkBoxClipDataSet::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 241 of file vtkBoxClipDataSet.h.

Definition at line 242 of file vtkBoxClipDataSet.h.

Definition at line 244 of file vtkBoxClipDataSet.h.

double vtkBoxClipDataSet::BoundBoxClip[3][2] [protected]

Definition at line 248 of file vtkBoxClipDataSet.h.

unsigned int vtkBoxClipDataSet::Orientation [protected]

Definition at line 249 of file vtkBoxClipDataSet.h.

double vtkBoxClipDataSet::PlaneNormal[6][3] [protected]

Definition at line 250 of file vtkBoxClipDataSet.h.

double vtkBoxClipDataSet::PlanePoint[6][3] [protected]

Definition at line 251 of file vtkBoxClipDataSet.h.


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

Generated on Wed Jun 3 18:54:38 2009 for VTK by  doxygen 1.5.6