vtkMergeCells Class Reference

#include <vtkMergeCells.h>

Inheritance diagram for vtkMergeCells:

Inheritance graph
[legend]
Collaboration diagram for vtkMergeCells:

Collaboration graph
[legend]

List of all members.


Detailed Description

merges any number of vtkDataSets back into a single vtkUnstructuredGrid

Designed to work with distributed vtkDataSets, this class will take vtkDataSets and merge them back into a single vtkUnstructuredGrid.

The vtkPoints object of the unstructured grid will have data type VTK_FLOAT, regardless of the data type of the points of the input vtkDataSets. If this is a problem, someone must let me know.

It is assumed the different DataSets have the same field arrays. If the name of a global point ID array is provided, this class will refrain from including duplicate points in the merged Ugrid. This class differs from vtkAppendFilter in these ways: (1) it uses less memory than that class (which uses memory equal to twice the size of the final Ugrid) but requires that you know the size of the final Ugrid in advance (2) this class assumes the individual DataSets have the same field arrays, while vtkAppendFilter intersects the field arrays (3) this class knows duplicate points may be appearing in the DataSets and can filter those out, (4) this class is not a filter.

Definition at line 56 of file vtkMergeCells.h.


Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetUnstructuredGrid (vtkUnstructuredGrid *)
virtual vtkUnstructuredGridGetUnstructuredGrid ()
virtual void SetTotalNumberOfCells (vtkIdType)
virtual vtkIdType GetTotalNumberOfCells ()
virtual void SetTotalNumberOfPoints (vtkIdType)
virtual vtkIdType GetTotalNumberOfPoints ()
virtual void SetUseGlobalIds (int)
virtual int GetUseGlobalIds ()
virtual void SetPointMergeTolerance (float)
virtual float GetPointMergeTolerance ()
virtual void SetUseGlobalCellIds (int)
virtual int GetUseGlobalCellIds ()
virtual void SetMergeDuplicatePoints (int)
virtual int GetMergeDuplicatePoints ()
virtual void MergeDuplicatePointsOn ()
virtual void MergeDuplicatePointsOff ()
virtual void SetTotalNumberOfDataSets (int)
virtual int GetTotalNumberOfDataSets ()
int MergeDataSet (vtkDataSet *set)
void Finish ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkMergeCellsSafeDownCast (vtkObject *o)
static vtkMergeCellsNew ()

Protected Member Functions

 vtkMergeCells ()
 ~vtkMergeCells ()

Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 59 of file vtkMergeCells.h.


Constructor & Destructor Documentation

vtkMergeCells::vtkMergeCells (  )  [protected]

vtkMergeCells::~vtkMergeCells (  )  [protected]


Member Function Documentation

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

Reimplemented from vtkObject.

static int vtkMergeCells::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 vtkObject.

virtual int vtkMergeCells::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 vtkObject.

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

Reimplemented from vtkObject.

virtual void vtkMergeCells::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 vtkObject.

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

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual void vtkMergeCells::SetUnstructuredGrid ( vtkUnstructuredGrid  )  [virtual]

Set the vtkUnstructuredGrid object that will become the union of the DataSets specified in MergeDataSet calls. vtkMergeCells assumes this grid is empty at first.

virtual vtkUnstructuredGrid* vtkMergeCells::GetUnstructuredGrid (  )  [virtual]

virtual void vtkMergeCells::SetTotalNumberOfCells ( vtkIdType   )  [virtual]

Specify the total number of cells in the final vtkUnstructuredGrid. Make this call before any call to MergeDataSet().

virtual vtkIdType vtkMergeCells::GetTotalNumberOfCells (  )  [virtual]

virtual void vtkMergeCells::SetTotalNumberOfPoints ( vtkIdType   )  [virtual]

Specify the total number of points in the final vtkUnstructuredGrid Make this call before any call to MergeDataSet(). This is an upper bound, since some points may be duplicates.

virtual vtkIdType vtkMergeCells::GetTotalNumberOfPoints (  )  [virtual]

virtual void vtkMergeCells::SetUseGlobalIds ( int   )  [virtual]

vtkMergeCells attempts eliminate duplicate points when merging data sets. This is done most efficiently if a global point ID field array is available. Set the name of the point array if you have one.

virtual int vtkMergeCells::GetUseGlobalIds (  )  [virtual]

virtual void vtkMergeCells::SetPointMergeTolerance ( float   )  [virtual]

vtkMergeCells attempts eliminate duplicate points when merging data sets. If no global point ID field array name is provided, it will use a point locator to find duplicate points. You can set a tolerance for that locator here. The default tolerance is 10e-4.

virtual float vtkMergeCells::GetPointMergeTolerance (  )  [virtual]

virtual void vtkMergeCells::SetUseGlobalCellIds ( int   )  [virtual]

vtkMergeCells will detect and filter out duplicate cells if you provide it the name of a global cell ID array.

virtual int vtkMergeCells::GetUseGlobalCellIds (  )  [virtual]

virtual void vtkMergeCells::SetMergeDuplicatePoints ( int   )  [virtual]

vtkMergeCells attempts eliminate duplicate points when merging data sets. If for some reason you don't want it to do this, than MergeDuplicatePointsOff().

virtual int vtkMergeCells::GetMergeDuplicatePoints (  )  [virtual]

virtual void vtkMergeCells::MergeDuplicatePointsOn (  )  [virtual]

virtual void vtkMergeCells::MergeDuplicatePointsOff (  )  [virtual]

virtual void vtkMergeCells::SetTotalNumberOfDataSets ( int   )  [virtual]

We need to know the number of different data sets that will be merged into one so we can pre-allocate some arrays. This can be an upper bound, not necessarily exact.

virtual int vtkMergeCells::GetTotalNumberOfDataSets (  )  [virtual]

int vtkMergeCells::MergeDataSet ( vtkDataSet set  ) 

Provide a DataSet to be merged in to the final UnstructuredGrid. This call returns after the merge has completed. Be sure to call SetTotalNumberOfCells, SetTotalNumberOfPoints, and SetTotalNumberOfDataSets before making this call. Return 0 if OK, -1 if error.

void vtkMergeCells::Finish (  ) 

Call Finish() after merging last DataSet to free unneeded memory and to make sure the ugrid's GetNumberOfPoints() reflects the actual number of points set, not the number allocated.


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

Generated on Sat Dec 27 13:36:23 2008 for VTK by  doxygen 1.5.6