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

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.

Created by:
  • Law, Charles
CVS contributions (if > 5%):
  • Law, Charles (91%)
  • Fisk, Lee Ann (6%)
CVS logs (CVSweb):
  • .h (/Parallel/vtkMergeCells.h)
  • .cxx (/Parallel/vtkMergeCells.cxx)

Definition at line 67 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 SetGlobalIdArrayName (const char *)
virtual char * GetGlobalIdArrayName ()
virtual void SetPointMergeTolerance (float)
virtual float GetPointMergeTolerance ()
virtual void SetGlobalCellIdArrayName (const char *)
virtual char * GetGlobalCellIdArrayName ()
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

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

Protected Member Functions

 vtkMergeCells ()
 ~vtkMergeCells ()


Member Typedef Documentation

typedef vtkObject vtkMergeCells::Superclass
 

Reimplemented from vtkObject.

Definition at line 70 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.

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

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

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.

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::SetGlobalIdArrayName const char *   )  [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 char* vtkMergeCells::GetGlobalIdArrayName  )  [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::SetGlobalCellIdArrayName const char *   )  [virtual]
 

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

virtual char* vtkMergeCells::GetGlobalCellIdArrayName  )  [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: