VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkBoxClipDataSet Class Reference

clip an unstructured grid More...

#include <vtkBoxClipDataSet.h>

Inherits vtkUnstructuredGridAlgorithm.

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 ()
 
vtkUnstructuredGrid * GetClippedOutput ()
 
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 vtkObjectBase * NewInstanceInternal () const
 
 vtkBoxClipDataSet ()
 
 ~vtkBoxClipDataSet ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 

Protected Attributes

vtkIncrementalPointLocator * Locator
 
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

typedef vtkUnstructuredGridAlgorithm vtkBoxClipDataSet::Superclass

Definition at line 70 of file vtkBoxClipDataSet.h.

Constructor & Destructor Documentation

vtkBoxClipDataSet::vtkBoxClipDataSet ( )
protected
vtkBoxClipDataSet::~vtkBoxClipDataSet ( )
protected

Member Function Documentation

static int vtkBoxClipDataSet::IsTypeOf ( const char *  type)
static
virtual int vtkBoxClipDataSet::IsA ( const char *  type)
virtual
static vtkBoxClipDataSet* vtkBoxClipDataSet::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkBoxClipDataSet::NewInstanceInternal ( ) const
protectedvirtual
vtkBoxClipDataSet* vtkBoxClipDataSet::NewInstance ( ) const
void vtkBoxClipDataSet::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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.

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 ( vtkIncrementalPointLocator *  locator)

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

virtual vtkIncrementalPointLocator* 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 ( )

Return the mtime also considering the locator.

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 *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual
virtual int vtkBoxClipDataSet::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual

Member Data Documentation

vtkIncrementalPointLocator* vtkBoxClipDataSet::Locator
protected

Definition at line 242 of file vtkBoxClipDataSet.h.

int vtkBoxClipDataSet::GenerateClipScalars
protected

Definition at line 243 of file vtkBoxClipDataSet.h.

int vtkBoxClipDataSet::GenerateClippedOutput
protected

Definition at line 245 of file vtkBoxClipDataSet.h.

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

Definition at line 249 of file vtkBoxClipDataSet.h.

unsigned int vtkBoxClipDataSet::Orientation
protected

Definition at line 250 of file vtkBoxClipDataSet.h.

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

Definition at line 251 of file vtkBoxClipDataSet.h.

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

Definition at line 252 of file vtkBoxClipDataSet.h.


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