|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
| == Overview ==
| | Moved to http://www.vtk.org/Wiki/VTK/Array_Refactoring |
| | |
| Now that we have [http://kitware.com/InfovisWiki/index.php/N-Way_Array_Data_Structures N-Way Array Data Structures], it would be ideal if we could use them as attributes in data objects. This will likely involve some tricky work to somehow merge the vtkAbstractArray- and vtkArray- hierarchies.
| |
| | |
| == Recent Work ==
| |
| | |
| * Merged vtkFactoredArrayData / vtkFactoredArrayDataAlgorithm into vtkArrayData / vtkArrayDataAlgorithm.
| |
| | |
| * Added vtkArray::GetName() and vtkArray::SetName().
| |
| | |
| * vtkDenseArray memory management.
| |
| ** vtkDenseArray::MemoryBlock.
| |
| ** vtkDenseArray::StaticMemoryBlock.
| |
| ** vtkDenseArray::HeapMemoryBlock.
| |
| | |
| * vtkSparseICSArray.
| |
| ** Changes the way coordinates are stored, one contiguous array of coordinates per dimension, instead of a single contiguous array for all dimensions.
| |
| ** Implements value sorting.
| |
| ** Could probably replace the current vtkSparseArray implementation.
| |
| | |
| == Proposed Work ==
| |
| | |
| * Provide iterators, memory layout functionality in vtkDenseArray to support in-situ work.
| |
| * Support vtkArray as attributes. Some different approaches:
| |
| *# vtkArray derives from vtkAbstractArray.
| |
| *#* Worst possible approach, there are methods in vtkAbstractArray (GetVoidPointer()) that are totally incompatible with sparse arrays.
| |
| *# vtkArray and vtkAbstractArray remain apart.
| |
| *#* vtkFieldData would store vtkArray as a distinct type. Unfortunately, GetArray() is already taken by vtkDataArray.
| |
| *#* vtkAbstractArray derivatives HAVE-A vtkDenseArray to eliminate duplicate implementations.
| |
| *# vtkAbstractArray derives from vtkArray.
| |
| *#* Implementing vtkArray in current vtkAbstractArray implementations should be straightforward.
| |
| *#* vtkFieldData would have to provide methods that return vtkArray. Same problems with GetArray().
| |
| *#* Implies changes to Get/SetInputArrayToProcess().
| |
| | |
| == Action Items ==
| |
| | |
| * Performance comparisons between vtkDataArray & vtkDenseArray (Tim)
| |
| * Modify vtkAbstractArray to provide access to an (optional) underlying vtkArray (Tim)
| |
| * Modify vtkDataArray to use vtkDenseArray as an implementation (???)
| |
| * Update vtkFieldData and vtkDataSetAttributes APIs to support vtkArray directly (???)
| |
| * Deprecate vtkAbstractArray and its derivatives (???)
| |