#include <vtkMergeCells.h>
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.
typedef vtkObject vtkMergeCells::Superclass |
vtkMergeCells::vtkMergeCells | ( | ) | [protected] |
vtkMergeCells::~vtkMergeCells | ( | ) | [protected] |
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] |
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.