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

clip an unstructured grid More...

#include <vtkBoxClipDataSet.h>

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

List of all members.

Public Types

typedef
vtkUnstructuredGridAlgorithm 
Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkBoxClipDataSetNewInstance () const
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, vtkIncrementalPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedron (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedronInOut (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut2D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **tets, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut1D (vtkPoints *newPoints, vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **lines, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipBox0D (vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipBoxInOut0D (vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray **verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD)
void ClipHexahedron0D (vtkGenericCell *cell, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD)
void ClipHexahedronInOut0D (vtkGenericCell *cell, vtkIncrementalPointLocator *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 (vtkIncrementalPointLocator *locator)
virtual
vtkIncrementalPointLocator
GetLocator ()
virtual unsigned int GetOrientation ()
virtual void SetOrientation (unsigned int)

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

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 67 of file vtkBoxClipDataSet.h.


Member Typedef Documentation

Reimplemented from vtkUnstructuredGridAlgorithm.

Definition at line 70 of file vtkBoxClipDataSet.h.


Constructor & Destructor Documentation


Member Function Documentation

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 vtkTypeMacro 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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkUnstructuredGridAlgorithm.

Reimplemented from vtkUnstructuredGridAlgorithm.

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

Reimplemented from vtkUnstructuredGridAlgorithm.

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.

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.

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.

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.

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.

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.

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

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

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,
vtkIncrementalPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipHexahedron ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipBoxInOut ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipHexahedronInOut ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipBox2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipBoxInOut2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipHexahedron2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipHexahedronInOut2D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  tets,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipBox1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipBoxInOut1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipHexahedron1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipHexahedronInOut1D ( vtkPoints newPoints,
vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  lines,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipBox0D ( vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipBoxInOut0D ( vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray **  verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData **  outCD 
)
void vtkBoxClipDataSet::ClipHexahedron0D ( vtkGenericCell cell,
vtkIncrementalPointLocator locator,
vtkCellArray verts,
vtkPointData inPD,
vtkPointData outPD,
vtkCellData inCD,
vtkIdType  cellId,
vtkCellData outCD 
)
void vtkBoxClipDataSet::ClipHexahedronInOut0D ( vtkGenericCell cell,
vtkIncrementalPointLocator 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 242 of file vtkBoxClipDataSet.h.

Definition at line 243 of file vtkBoxClipDataSet.h.

Definition at line 245 of file vtkBoxClipDataSet.h.

Definition at line 249 of file vtkBoxClipDataSet.h.

unsigned int vtkBoxClipDataSet::Orientation [protected]

Definition at line 250 of file vtkBoxClipDataSet.h.

Definition at line 251 of file vtkBoxClipDataSet.h.

Definition at line 252 of file vtkBoxClipDataSet.h.


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