51 #ifndef vtkDenseArray_h
52 #define vtkDenseArray_h
80 const T&
GetValue(CoordinateT i, CoordinateT j);
81 const T&
GetValue(CoordinateT i, CoordinateT j, CoordinateT k);
86 void SetValue(CoordinateT i, CoordinateT j, CoordinateT k,
const T&
value);
178 void InternalSetDimensionLabel(DimensionT i,
const vtkStdString& label);
180 inline vtkIdType MapCoordinates(CoordinateT i);
181 inline vtkIdType MapCoordinates(CoordinateT i, CoordinateT j);
182 inline vtkIdType MapCoordinates(CoordinateT i, CoordinateT j, CoordinateT k);
193 std::vector<vtkStdString> DimensionLabels;
206 std::vector<vtkIdType> Offsets;
209 std::vector<vtkIdType> Strides;
213 #include "vtkDenseArray.txx"
Stores coordinate into an N-way array.
Wrapper around std::string to keep symbols short.
Provides the equivalent of vtkTypeMacro for use with template classes.
void SetValueN(const SizeT n, const T &value)
Stores the number of dimensions and valid coordinate ranges along each dimension for vtkArray...
const T * GetStorage() const
HeapMemoryBlock(const vtkArrayExtents &extents)
void ExternalStorage(const vtkArrayExtents &extents, MemoryBlock *storage)
void SetValue(CoordinateT i, const T &value)
Abstract interface for N-dimensional arrays.
virtual T * GetAddress()=0
virtual ~HeapMemoryBlock()
void GetCoordinatesN(const SizeT n, vtkArrayCoordinates &coordinates)
void Fill(const T &value)
vtkArrayExtents::DimensionT DimensionT
a simple class to control print indentation
const T & GetValueN(const SizeT n)
StaticMemoryBlock(T *const storage)
const vtkArrayExtents & GetExtents()
vtkArrayExtents::SizeT SizeT
static vtkDenseArray< T > * New()
const T & GetValue(CoordinateT i)
Contiguous storage for N-way arrays.
vtkArray::CoordinateT CoordinateT
vtkArrayExtents::CoordinateT CoordinateT
vtkArray::DimensionT DimensionT
void PrintSelf(ostream &os, vtkIndent indent)
T & operator[](const vtkArrayCoordinates &coordinates)