SIVIC API  0.9.26
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | List of all members
svkFastCellData Class Reference

#include <svkFastCellData.h>

Inheritance diagram for svkFastCellData:

Public Member Functions

 vtkTypeMacro (svkFastCellData, vtkCellData)
 
 svkFastCellData ()
 Constructor. More...
 
 ~svkFastCellData ()
 Destructor. More...
 
virtual int FastAddArray (vtkAbstractArray *array)
 A fast method that does not require name lookup. Follow with FinshFastAdd when all arrays are added. More...
 
virtual void FastSetArray (int i, vtkAbstractArray *data)
 A fast method that does not update the number of components.Follow with FinishFastAdd when all arrays are set. More...
 
virtual void FinishFastAdd ()
 Method must be called after using FastAddArray. More...
 
virtual void DeepCopy (vtkFieldData *fd)
 
virtual void ShallowCopy (vtkFieldData *da)
 

Static Public Member Functions

static svkFastCellDataNew ()
 

Detailed Description

The purpose of this class is to create a fast method for adding arrays to cell data. VTK's implementation is an order N operation to add arrays so adding N arrays becomes N^2 and is slow for large data sets. To get around this svkFastCellData permits the adding of arrays without checking for duplicates and without updating the number of components. The method FinishAddArray is used to complete the process and updates the components.

This object also overrides the DeepCopy method to use the Fast Adding methodology.

Constructor & Destructor Documentation

Constructor.

Destructor.

Member Function Documentation

void DeepCopy ( vtkFieldData *  fd)
virtual

Uses fast add array methods to do deep copies. Also uses ShallowCopy to copy field data attributes which are private and cannot be updated in this method directly.

Parameters
fd

References svkFastCellData::FastSetArray(), svkFastCellData::FinishFastAdd(), and svkFastCellData::ShallowCopy().

int FastAddArray ( vtkAbstractArray *  array)
virtual

A fast method that does not require name lookup. Follow with FinshFastAdd when all arrays are added.

Fast add array does array inserting without check for duplicate names. It also calls FastSetArray.

Parameters
array
Returns

References svkFastCellData::FastSetArray().

Referenced by svkGEPFileMapper::ReorderEPSI().

void FastSetArray ( int  i,
vtkAbstractArray *  data 
)
virtual

A fast method that does not update the number of components.Follow with FinishFastAdd when all arrays are set.

This is a copy of the vtk implementation. The only change is that the updating of the number of components is not done. FinishFastAdd will do that.

Parameters
i
data

Referenced by svkFastCellData::DeepCopy(), svkFastCellData::FastAddArray(), and svkFastCellData::ShallowCopy().

void FinishFastAdd ( )
virtual

Method must be called after using FastAddArray.

FinishFastAdd is used to complete the fast adding process. It adds and then removes a dummy array so that we can be sure that the number of components is updated correctly.

This is implemented this way to get around private member variables used in the vtkDa

Referenced by svkFastCellData::DeepCopy(), svkGEPFileMapper::ReorderEPSI(), and svkFastCellData::ShallowCopy().

static svkFastCellData* New ( )
static
void ShallowCopy ( vtkFieldData *  da)
virtual
vtkTypeMacro ( svkFastCellData  ,
vtkCellData   
)

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