VTK
9.4.20250206
|
A read only array class that wraps an implicit function from integers to any value type supported by VTK. More...
#include <vtkImplicitArray.h>
Public Types | |
using | SelfType = vtkImplicitArray< BackendT > |
using | ValueType = typename GenericDataArrayType::ValueType |
using | BackendType = BackendT |
![]() | |
enum | |
Compile time access to the VTK type identifier. More... | |
typedef vtk::detail::implicit_array_traits< BackendT >::rtype | ValueType |
![]() | |
typedef vtkAbstractArray | Superclass |
![]() | |
enum | DeleteMethod { VTK_DATA_ARRAY_FREE , VTK_DATA_ARRAY_DELETE , VTK_DATA_ARRAY_ALIGNED_FREE , VTK_DATA_ARRAY_USER_DEFINED } |
enum | { MAX_DISCRETE_VALUES = 32 } |
enum | { AbstractArray = 0 , DataArray , AoSDataArrayTemplate , SoADataArrayTemplate , TypedDataArray , MappedDataArray , ScaleSoADataArrayTemplate , ImplicitArray , DataArrayTemplate = AoSDataArrayTemplate } |
typedef vtkObject | Superclass |
Public Member Functions | |
vtkImplicitArrayTypeMacro (SelfType, GenericDataArrayType) | |
template<typename... Params> | |
void | ConstructBackend (Params &&... params) |
Utility method for setting backend parameterization directly. | |
void * | GetVoidPointer (vtkIdType valueIdx) override |
Use of this method is discouraged, it creates a memory copy of the data into a contiguous AoS-ordered buffer internally. | |
void | Squeeze () override |
Release all extraneous internal memory including the void pointer used by GetVoidPointer | |
int | GetArrayType () const override |
Get the type of array this is when down casting. | |
void | Initialize () override |
Reset the array to default construction. | |
unsigned long | GetActualMemorySize () const override |
Return the memory in kibibytes (1024 bytes) consumed by this implicit data array. | |
template<typename OtherBackend > | |
void | ImplicitDeepCopy (vtkImplicitArray< OtherBackend > *other) |
Specific DeepCopy for implicit arrays. | |
ValueType | GetValue (vtkIdType idx) const |
Implementation of vtkGDAConceptMethods. | |
void | SetValue (vtkIdType idx, ValueType value) |
Will not do anything for these read only arrays! | |
void | GetTypedTuple (vtkIdType idx, ValueType *tuple) const |
Copy the tuple at idx into tuple. | |
void | SetTypedTuple (vtkIdType tupleIdx, const ValueType *tuple) |
Will not do anything for these read only arrays! | |
ValueType | GetTypedComponent (vtkIdType idx, int comp) const |
Get component comp of the tuple at idx. | |
void | SetTypedComponent (vtkIdType tupleIdx, int comp, ValueType value) |
Will not do anything for these read only arrays! | |
void | SetBackend (std::shared_ptr< BackendT > newBackend) |
Setter/Getter for Backend. | |
std::shared_ptr< BackendT > | GetBackend () |
Setter/Getter for Backend. | |
![]() | |
vtkTemplateTypeMacro (SelfType, vtkDataArray) | |
ValueType | GetValue (vtkIdType valueIdx) const |
Get the value at valueIdx. | |
void | SetValue (vtkIdType valueIdx, ValueType value) |
Set the value at valueIdx to value. | |
void | GetTypedTuple (vtkIdType tupleIdx, ValueType *tuple) const |
Copy the tuple at tupleIdx into tuple. | |
void | SetTypedTuple (vtkIdType tupleIdx, const ValueType *tuple) |
Set this array's tuple at tupleIdx to the values in tuple. | |
ValueType | GetTypedComponent (vtkIdType tupleIdx, int compIdx) const |
Get component compIdx of the tuple at tupleIdx. | |
void | SetTypedComponent (vtkIdType tupleIdx, int compIdx, ValueType value) |
Set component compIdx of the tuple at tupleIdx to value. | |
void | RemoveTuple (vtkIdType tupleIdx) override |
Removes a tuple at the given index. | |
vtkIdType | InsertNextValue (ValueType value) |
Insert data at the end of the array. | |
void | InsertValue (vtkIdType valueIdx, ValueType value) |
Insert data at a specified position in the array. | |
void | InsertTypedTuple (vtkIdType tupleIdx, const ValueType *t) |
Insert (memory allocation performed) the tuple t at tupleIdx. | |
vtkIdType | InsertNextTypedTuple (const ValueType *t) |
Insert (memory allocation performed) the tuple onto the end of the array. | |
void | InsertTypedComponent (vtkIdType tupleIdx, int compIdx, ValueType val) |
Insert (memory allocation performed) the value at the specified tuple and component location. | |
ValueType * | GetValueRange () |
Get the range of array values for the 0th component in the native data type. | |
void | GetValueRange (ValueType range[2]) |
vtkIdType | Capacity () |
Return the capacity in typeof T units of the current array. | |
virtual void | FillTypedComponent (int compIdx, ValueType value) |
Set component comp of all tuples to value. | |
virtual void | FillValue (ValueType value) |
Set all the values in array to value. | |
int | GetDataType () const override |
Return the underlying data type. | |
int | GetDataTypeSize () const override |
Return the size of the underlying data type. | |
bool | HasStandardMemoryLayout () const override |
Returns true if this array uses the standard memory layout defined in the VTK user guide, e.g. | |
vtkTypeBool | Allocate (vtkIdType size, vtkIdType ext=1000) override |
Allocate memory for this array. | |
vtkTypeBool | Resize (vtkIdType numTuples) override |
Resize the array to the requested number of tuples and preserve data. | |
void | SetNumberOfComponents (int num) override |
Set/Get the dimension (n) of the components. | |
void | SetNumberOfTuples (vtkIdType number) override |
Set the number of tuples (a component group) in the array. | |
void | Initialize () override |
Release storage and reset array to initial state. | |
void | Squeeze () override |
Free any unnecessary memory. | |
void | SetTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override |
See documentation from parent class. | |
void | SetTuple (vtkIdType tupleIdx, const float *tuple) override |
Set the data tuple at tupleIdx. | |
void | SetTuple (vtkIdType tupleIdx, const double *tuple) override |
Set the data tuple at tupleIdx. | |
void | InsertTuplesStartingAt (vtkIdType dstStart, vtkIdList *srcIds, vtkAbstractArray *source) override |
See documentation from parent class. | |
void | InsertTuples (vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source) override |
See documentation from parent class. | |
void | InsertTuples (vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source) override |
See documentation from parent class. | |
void | InsertTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override |
See documentation from parent class. | |
void | InsertTuple (vtkIdType tupleIdx, const float *source) override |
Insert the data tuple at tupleIdx. | |
void | InsertTuple (vtkIdType tupleIdx, const double *source) override |
Insert the data tuple at tupleIdx. | |
void | InsertComponent (vtkIdType tupleIdx, int compIdx, double value) override |
Insert value at the location specified by tupleIdx and compIdx. | |
vtkIdType | InsertNextTuple (vtkIdType srcTupleIdx, vtkAbstractArray *source) override |
See documentation from parent class. | |
vtkIdType | InsertNextTuple (const float *tuple) override |
Insert the data tuple at the end of the array and return the tuple index at which the data was inserted. | |
vtkIdType | InsertNextTuple (const double *tuple) override |
Insert the data tuple at the end of the array and return the tuple index at which the data was inserted. | |
void | GetTuples (vtkIdList *tupleIds, vtkAbstractArray *output) override |
Given a list of tuple ids, return an array of tuples. | |
void | GetTuples (vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) override |
Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive). | |
double * | GetTuple (vtkIdType tupleIdx) override |
Get the data tuple at tupleIdx. | |
void | GetTuple (vtkIdType tupleIdx, double *tuple) override |
Get the data tuple at tupleIdx by filling in a user-provided array, Make sure that your array is large enough to hold the NumberOfComponents amount of data being returned. | |
void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights) override |
Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. | |
void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx1, vtkAbstractArray *source1, vtkIdType srcTupleIdx2, vtkAbstractArray *source2, double t) override |
Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices, srcTupleIdx1 and srcTupleIdx2, and an interpolation factor, t. | |
void | SetComponent (vtkIdType tupleIdx, int compIdx, double value) override |
Set the data component at the location specified by tupleIdx and compIdx to value. | |
double | GetComponent (vtkIdType tupleIdx, int compIdx) override |
Return the data component at the location specified by tupleIdx and compIdx. | |
void | SetVariantValue (vtkIdType valueIdx, vtkVariant value) override |
Set a value in the array from a variant. | |
vtkVariant | GetVariantValue (vtkIdType valueIdx) override |
Retrieve value from the array as a variant. | |
void | InsertVariantValue (vtkIdType valueIdx, vtkVariant value) override |
Insert a value into the array from a variant. | |
vtkIdType | LookupValue (vtkVariant value) override |
Return the value indices where a specific value appears. | |
void | LookupValue (vtkVariant value, vtkIdList *valueIds) override |
Return the value indices where a specific value appears. | |
virtual vtkIdType | LookupTypedValue (ValueType value) |
virtual void | LookupTypedValue (ValueType value, vtkIdList *valueIds) |
void | ClearLookup () override |
Delete the associated fast lookup data structure on this array, if it exists. | |
void | DataChanged () override |
Tell the array explicitly that the data has changed. | |
void | FillComponent (int compIdx, double value) override |
Fill a component of a data array with a specified value. | |
vtkArrayIterator * | NewIterator () override |
Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate. | |
ValueType * | GetPointer (vtkIdType valueIdx) |
Default implementation raises a runtime error. | |
void | SetVoidArray (void *, vtkIdType, int) override |
Default implementation raises a runtime error. | |
void | SetVoidArray (void *, vtkIdType, int, int) override |
Default implementation raises a runtime error. | |
void | SetArrayFreeFunction (void(*callback)(void *)) override |
Default implementation raises a runtime error. | |
void * | WriteVoidPointer (vtkIdType valueIdx, vtkIdType numValues) override |
Default implementation raises a runtime error. | |
ValueType * | WritePointer (vtkIdType valueIdx, vtkIdType numValues) |
Default implementation raises a runtime error. | |
void | GetValueRange (ValueType range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Get the range of array values for the given component in the native data type. | |
void | GetValueRange (ValueType range[2], int comp) |
Get the range of array values for the given component in the native data type. | |
ValueType * | GetValueRange (int comp) |
Get the range of array values for the given component in the native data type. | |
void | GetFiniteValueRange (ValueType range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
These methods are analogous to the GetValueRange methods, except that the only consider finite values. | |
void | GetFiniteValueRange (ValueType range[2], int comp) |
These methods are analogous to the GetValueRange methods, except that the only consider finite values. | |
ValueType * | GetFiniteValueRange (int comp) |
These methods are analogous to the GetValueRange methods, except that the only consider finite values. | |
ValueType * | GetFiniteValueRange () |
These methods are analogous to the GetValueRange methods, except that the only consider finite values. | |
void | GetFiniteValueRange (ValueType range[2]) |
These methods are analogous to the GetValueRange methods, except that the only consider finite values. | |
![]() | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkDataArray * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
int | IsNumeric () const override |
This method is here to make backward compatibility easier. | |
int | GetElementComponentSize () const override |
Return the size, in bytes, of the lowest-level element of an array. | |
void | GetTuples (vtkIdList *tupleIds, vtkAbstractArray *output) override |
Given a list of tuple ids, return an array of tuples. | |
void | GetTuples (vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) override |
Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive). | |
void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights) override |
Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. | |
void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx1, vtkAbstractArray *source1, vtkIdType srcTupleIdx2, vtkAbstractArray *source2, double t) override |
Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices, srcTupleIdx1 and srcTupleIdx2, and an interpolation factor, t. | |
virtual double * | GetTuple (vtkIdType tupleIdx)=0 |
Get the data tuple at tupleIdx. | |
virtual void | GetTuple (vtkIdType tupleIdx, double *tuple)=0 |
Get the data tuple at tupleIdx by filling in a user-provided array, Make sure that your array is large enough to hold the NumberOfComponents amount of data being returned. | |
virtual double | GetComponent (vtkIdType tupleIdx, int compIdx) |
Return the data component at the location specified by tupleIdx and compIdx. | |
virtual void | SetComponent (vtkIdType tupleIdx, int compIdx, double value) |
Set the data component at the location specified by tupleIdx and compIdx to value. | |
virtual void | InsertComponent (vtkIdType tupleIdx, int compIdx, double value) |
Insert value at the location specified by tupleIdx and compIdx. | |
virtual void | GetData (vtkIdType tupleMin, vtkIdType tupleMax, int compMin, int compMax, vtkDoubleArray *data) |
Get the data as a double array in the range (tupleMin,tupleMax) and (compMin, compMax). | |
virtual void | ShallowCopy (vtkDataArray *other) |
Create a shallow copy of other into this, if possible. | |
virtual void | FillComponent (int compIdx, double value) |
Fill a component of a data array with a specified value. | |
virtual void | Fill (double value) |
Fill all values of a data array with a specified value. | |
virtual void | CopyComponent (int dstComponent, vtkDataArray *src, int srcComponent) |
Copy a component from one data array into a component on this data array. | |
virtual void * | WriteVoidPointer (vtkIdType valueIdx, vtkIdType numValues)=0 |
Get the address of a particular data index. | |
unsigned long | GetActualMemorySize () const override |
Return the memory in kibibytes (1024 bytes) consumed by this data array. | |
void | CreateDefaultLookupTable () |
Create default lookup table. | |
double * | GetRange () |
Return the range of the data array. | |
void | GetRange (double range[2]) |
The range of the data array values will be returned in the provided range array argument. | |
double * | GetFiniteRange () |
Return the range of the data array. | |
void | GetFiniteRange (double range[2]) |
The range of the data array values will be returned in the provided range array argument. | |
virtual double | GetMaxNorm () |
Return the maximum norm for the tuples. | |
void | Modified () override |
Removes out-of-date L2_NORM_RANGE() and L2_NORM_FINITE_RANGE() values. | |
int | CopyInformation (vtkInformation *infoFrom, vtkTypeBool deep=1) override |
Copy information instance. | |
int | GetArrayType () const override |
Method for type-checking in FastDownCast implementations. | |
virtual void | GetIntegerTuple (vtkIdType tupleIdx, vtkTypeInt64 *tuple) |
Get/set the data at tupleIdx by filling in a user-provided array of integers. | |
virtual void | SetIntegerTuple (vtkIdType tupleIdx, vtkTypeInt64 *tuple) |
Get/set the data at tupleIdx by filling in a user-provided array of integers. | |
virtual void | GetUnsignedTuple (vtkIdType tupleIdx, vtkTypeUInt64 *tuple) |
Get/set the data at tupleIdx by filling in a user-provided array of unsigned integers. | |
virtual void | SetUnsignedTuple (vtkIdType tupleIdx, vtkTypeUInt64 *tuple) |
Get/set the data at tupleIdx by filling in a user-provided array of unsigned integers. | |
double | GetTuple1 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
double * | GetTuple2 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
double * | GetTuple3 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
double * | GetTuple4 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
double * | GetTuple6 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
double * | GetTuple9 (vtkIdType tupleIdx) |
These methods are included as convenience for the wrappers. | |
void | SetTuple1 (vtkIdType tupleIdx, double value) |
These methods are included as convenience for the wrappers. | |
void | SetTuple2 (vtkIdType tupleIdx, double val0, double val1) |
These methods are included as convenience for the wrappers. | |
void | SetTuple3 (vtkIdType tupleIdx, double val0, double val1, double val2) |
These methods are included as convenience for the wrappers. | |
void | SetTuple4 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3) |
These methods are included as convenience for the wrappers. | |
void | SetTuple6 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3, double val4, double val5) |
These methods are included as convenience for the wrappers. | |
void | SetTuple9 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3, double val4, double val5, double val6, double val7, double val8) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple1 (vtkIdType tupleIdx, double value) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple2 (vtkIdType tupleIdx, double val0, double val1) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple3 (vtkIdType tupleIdx, double val0, double val1, double val2) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple4 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple6 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3, double val4, double val5) |
These methods are included as convenience for the wrappers. | |
void | InsertTuple9 (vtkIdType tupleIdx, double val0, double val1, double val2, double val3, double val4, double val5, double val6, double val7, double val8) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple1 (double value) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple2 (double val0, double val1) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple3 (double val0, double val1, double val2) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple4 (double val0, double val1, double val2, double val3) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple6 (double val0, double val1, double val2, double val3, double val4, double val5) |
These methods are included as convenience for the wrappers. | |
void | InsertNextTuple9 (double val0, double val1, double val2, double val3, double val4, double val5, double val6, double val7, double val8) |
These methods are included as convenience for the wrappers. | |
virtual void | RemoveFirstTuple () |
These methods remove tuples from the data array. | |
virtual void | RemoveLastTuple () |
These methods remove tuples from the data array. | |
void | DeepCopy (vtkAbstractArray *aa) override |
Deep copy of data. | |
virtual void | DeepCopy (vtkDataArray *da) |
Deep copy of data. | |
void | SetLookupTable (vtkLookupTable *lut) |
Set/get the lookup table associated with this scalar data, if any. | |
virtual vtkLookupTable * | GetLookupTable () |
Set/get the lookup table associated with this scalar data, if any. | |
void | GetRange (double range[2], int comp) |
The range of the data array values for the given component will be returned in the provided range array argument. | |
void | GetRange (double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip) |
The range of the data array values for the given component will be returned in the provided range array argument. | |
double * | GetRange (int comp) |
Return the range of the data array values for the given component. | |
void | GetFiniteRange (double range[2], int comp) |
The range of the data array values for the given component will be returned in the provided range array argument. | |
void | GetFiniteRange (double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip) |
The range of the data array values for the given component will be returned in the provided range array argument. | |
double * | GetFiniteRange (int comp) |
Return the range of the data array values for the given component. | |
void | GetDataTypeRange (double range[2]) |
These methods return the Min and Max possible range of the native data type. | |
double | GetDataTypeMin () |
These methods return the Min and Max possible range of the native data type. | |
double | GetDataTypeMax () |
These methods return the Min and Max possible range of the native data type. | |
![]() | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkAbstractArray * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | PrintValues (ostream &os) |
Print the array values to an ostream object. | |
virtual vtkTypeBool | Allocate (vtkIdType numValues, vtkIdType ext=1000)=0 |
Allocate memory for this array. | |
virtual void | Initialize ()=0 |
Release storage and reset array to initial state. | |
virtual int | GetDataType () const =0 |
Return the underlying data type. | |
virtual int | GetElementComponentSize () const =0 |
Return the size, in bytes, of the lowest-level element of an array. | |
void | SetComponentName (vtkIdType component, const char *name) |
Set the name for a component. | |
const char * | GetComponentName (vtkIdType component) const |
Get the component name for a given component. | |
bool | HasAComponentName () const |
Returns if any component has had a name assigned. | |
int | CopyComponentNames (vtkAbstractArray *da) |
Copies the component names from the inputted array to the current array make sure that the current array has the same number of components as the input array. | |
virtual void | SetNumberOfTuples (vtkIdType numTuples)=0 |
Set the number of tuples (a component group) in the array. | |
virtual bool | SetNumberOfValues (vtkIdType numValues) |
Specify the number of values (tuples * components) for this object to hold. | |
vtkIdType | GetNumberOfTuples () const |
Get the number of complete tuples (a component group) in the array. | |
vtkIdType | GetNumberOfValues () const |
Get the total number of values in the array. | |
virtual void | SetTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source)=0 |
Set the tuple at dstTupleIdx in this array to the tuple at srcTupleIdx in the source array. | |
virtual void | InsertTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source)=0 |
Insert the tuple at srcTupleIdx in the source array into this array at dstTupleIdx. | |
virtual void | InsertTuples (vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)=0 |
Copy the tuples indexed in srcIds from the source array to the tuple locations indexed by dstIds in this array. | |
virtual void | InsertTuplesStartingAt (vtkIdType dstStart, vtkIdList *srcIds, vtkAbstractArray *source)=0 |
Copy the tuples indexed in srcIds from the source array to the tuple locations starting at index dstStart. | |
virtual void | InsertTuples (vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)=0 |
Copy n consecutive tuples starting at srcStart from the source array to this array, starting at the dstStart location. | |
virtual vtkIdType | InsertNextTuple (vtkIdType srcTupleIdx, vtkAbstractArray *source)=0 |
Insert the tuple from srcTupleIdx in the source array at the end of this array. | |
virtual void | GetTuples (vtkIdList *tupleIds, vtkAbstractArray *output) |
Given a list of tuple ids, return an array of tuples. | |
virtual void | GetTuples (vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) |
Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive). | |
virtual bool | HasStandardMemoryLayout () const |
Returns true if this array uses the standard memory layout defined in the VTK user guide, e.g. | |
virtual void * | GetVoidPointer (vtkIdType valueIdx)=0 |
Return a void pointer. | |
virtual void | DeepCopy (vtkAbstractArray *da) |
Deep copy of data. | |
virtual void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)=0 |
Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. | |
virtual void | InterpolateTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx1, vtkAbstractArray *source1, vtkIdType srcTupleIdx2, vtkAbstractArray *source2, double t)=0 |
Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices, srcTupleIdx1 and srcTupleIdx2, and an interpolation factor, t. | |
virtual void | Squeeze ()=0 |
Free any unnecessary memory. | |
virtual vtkTypeBool | Resize (vtkIdType numTuples)=0 |
Resize the array to the requested number of tuples and preserve data. | |
vtkIdType | GetSize () const |
Return the size of the data. | |
vtkIdType | GetMaxId () const |
What is the maximum id currently in the array. | |
virtual void | SetArrayFreeFunction (void(*callback)(void *))=0 |
This method allows the user to specify a custom free function to be called when the array is deallocated. | |
virtual void | ExportToVoidPointer (void *out_ptr) |
This method copies the array data to the void pointer specified by the user. | |
virtual unsigned long | GetActualMemorySize () const =0 |
Return the memory in kibibytes (1024 bytes) consumed by this data array. | |
virtual const char * | GetDataTypeAsString () const |
Get the name of a data type as a string. | |
virtual int | IsNumeric () const =0 |
This method is here to make backward compatibility easier. | |
virtual bool | IsIntegral () const |
This method will return true if and only if an array contains integer-valued data. | |
virtual vtkArrayIterator * | NewIterator ()=0 |
Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate. | |
virtual vtkIdType | GetDataSize () const |
Returns the size of the data in DataTypeSize units. | |
virtual vtkVariant | GetVariantValue (vtkIdType valueIdx) |
Retrieve value from the array as a variant. | |
virtual void | InsertVariantValue (vtkIdType valueIdx, vtkVariant value)=0 |
Insert a value into the array from a variant. | |
virtual void | SetVariantValue (vtkIdType valueIdx, vtkVariant value)=0 |
Set a value in the array from a variant. | |
virtual void | DataChanged ()=0 |
Tell the array explicitly that the data has changed. | |
virtual void | ClearLookup ()=0 |
Delete the associated fast lookup data structure on this array, if it exists. | |
virtual void | GetProminentComponentValues (int comp, vtkVariantArray *values, double uncertainty=1.e-6, double minimumProminence=1.e-3) |
Populate the given vtkVariantArray with a set of distinct values taken on by the requested component (or, when passed -1, by the tuples as a whole). | |
vtkInformation * | GetInformation () |
Get an information object that can be used to annotate the array. | |
bool | HasInformation () const |
Inquire if this array has an instance of vtkInformation already associated with it. | |
virtual int | CopyInformation (vtkInformation *infoFrom, vtkTypeBool deep=1) |
Copy information instance. | |
void | Modified () override |
Removes out-of-date PER_COMPONENT() and PER_FINITE_COMPONENT() values. | |
virtual int | GetArrayType () const |
Method for type-checking in FastDownCast implementations. | |
const char * | GetArrayTypeAsString () const |
Get the name for the array type as string. | |
int | GetNumberOfComponents () const |
Set/Get the dimension (n) of the components. | |
void | Reset () |
Reset to an empty state, without freeing any memory. | |
virtual void | SetVoidArray (void *vtkNotUsed(array), vtkIdType vtkNotUsed(size), int vtkNotUsed(save))=0 |
This method lets the user specify data to be held by the array. | |
virtual void | SetVoidArray (void *array, vtkIdType size, int save, int vtkNotUsed(deleteMethod)) |
This method lets the user specify data to be held by the array. | |
virtual void | SetName (const char *) |
Set/get array's name. | |
virtual char * | GetName () |
Set/get array's name. | |
virtual unsigned int | GetMaxDiscreteValues () |
Get/Set the maximum number of prominent values this array may contain before it is considered continuous. | |
virtual void | SetMaxDiscreteValues (unsigned int) |
Get/Set the maximum number of prominent values this array may contain before it is considered continuous. | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
vtkTypeBool | InvokeEvent (unsigned long event) |
vtkTypeBool | InvokeEvent (const char *event) |
std::string | GetObjectDescription () const override |
The object description printed in messages and PrintSelf output. | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. | |
vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
vtkTypeBool | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
virtual void | SetObjectName (const std::string &objectName) |
Set/get the name of this object for reporting purposes. | |
virtual std::string | GetObjectName () const |
Set/get the name of this object for reporting purposes. | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual std::string | GetObjectDescription () const |
The object description printed in messages and PrintSelf output. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual bool | UsesGarbageCollector () const |
Indicate whether the class uses vtkGarbageCollector or not. | |
Static Public Member Functions | |
static vtkImplicitArray * | New () |
static vtkImplicitArray< BackendT > * | FastDownCast (vtkAbstractArray *source) |
Perform a fast, safe cast from a vtkAbstractArray to a vtkDataArray. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkDataArray * | SafeDownCast (vtkObjectBase *o) |
static vtkDataArray * | FastDownCast (vtkAbstractArray *source) |
Perform a fast, safe cast from a vtkAbstractArray to a vtkDataArray. | |
static vtkDataArray * | CreateDataArray (int dataType) |
Creates an array for dataType where dataType is one of VTK_BIT, VTK_CHAR, VTK_SIGNED_CHAR, VTK_UNSIGNED_CHAR, VTK_SHORT, VTK_UNSIGNED_SHORT, VTK_INT, VTK_UNSIGNED_INT, VTK_LONG, VTK_UNSIGNED_LONG, VTK_FLOAT, VTK_DOUBLE, VTK_ID_TYPE. | |
static vtkInformationDoubleVectorKey * | COMPONENT_RANGE () |
This key is used to hold tight bounds on the range of one component over all tuples of the array. | |
static vtkInformationDoubleVectorKey * | L2_NORM_RANGE () |
This key is used to hold tight bounds on the $L_2$ norm of tuples in the array. | |
static vtkInformationDoubleVectorKey * | L2_NORM_FINITE_RANGE () |
This key is used to hold tight bounds on the $L_2$ norm of tuples in the array. | |
static vtkInformationStringKey * | UNITS_LABEL () |
A human-readable string indicating the units for the array data. | |
static void | GetDataTypeRange (int type, double range[2]) |
These methods return the Min and Max possible range of the native data type. | |
static double | GetDataTypeMin (int type) |
These methods return the Min and Max possible range of the native data type. | |
static double | GetDataTypeMax (int type) |
These methods return the Min and Max possible range of the native data type. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkAbstractArray * | SafeDownCast (vtkObjectBase *o) |
static vtkAbstractArray * | CreateArray (int dataType) |
Creates an array for dataType where dataType is one of VTK_BIT, VTK_CHAR, VTK_UNSIGNED_CHAR, VTK_SHORT, VTK_UNSIGNED_SHORT, VTK_INT, VTK_UNSIGNED_INT, VTK_LONG, VTK_UNSIGNED_LONG, VTK_FLOAT, VTK_DOUBLE, VTK_ID_TYPE, VTK_STRING. | |
static vtkInformationIntegerKey * | GUI_HIDE () |
This key is a hint to end user interface that this array is internal and should not be shown to the end user. | |
static vtkInformationInformationVectorKey * | PER_COMPONENT () |
This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array. | |
static vtkInformationInformationVectorKey * | PER_FINITE_COMPONENT () |
This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array. | |
static vtkInformationVariantVectorKey * | DISCRETE_VALUES () |
A key used to hold discrete values taken on either by the tuples of the array (when present in this->GetInformation()) or individual components (when present in one entry of the PER_COMPONENT() information vector). | |
static vtkInformationDoubleVectorKey * | DISCRETE_VALUE_SAMPLE_PARAMETERS () |
A key used to hold conditions under which cached discrete values were generated; the value is a 2-vector of doubles. | |
static int | GetDataTypeSize (int type) |
Return the size of the underlying data type. | |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (vtkTypeBool val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static vtkTypeBool | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
vtkImplicitArray () | |
~vtkImplicitArray () override | |
bool | AllocateTuples (vtkIdType vtkNotUsed(numTuples)) |
No allocation necessary. | |
bool | ReallocateTuples (vtkIdType vtkNotUsed(numTuples)) |
No allocation necessary. | |
![]() | |
vtkGenericDataArray () | |
~vtkGenericDataArray () override | |
bool | AllocateTuples (vtkIdType numTuples) |
Allocate space for numTuples. | |
bool | ReallocateTuples (vtkIdType numTuples) |
Allocate space for numTuples. | |
bool | EnsureAccessToTuple (vtkIdType tupleIdx) |
void | ComputeValueRange (ValueType range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Compute the range for a specific component. | |
void | ComputeFiniteValueRange (ValueType range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Compute the range for a specific component. | |
bool | ComputeScalarValueRange (ValueType *ranges, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
bool | ComputeVectorValueRange (ValueType range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Returns true if the range was computed. | |
bool | ComputeFiniteScalarValueRange (ValueType *ranges, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
bool | ComputeFiniteVectorValueRange (ValueType range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Returns true if the range was computed. | |
![]() | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkDataArray () | |
~vtkDataArray () override | |
virtual void | ComputeRange (double range[2], int comp) |
Compute the range for a specific component. | |
virtual void | ComputeRange (double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Compute the range for a specific component. | |
virtual void | ComputeFiniteRange (double range[2], int comp) |
Compute the range for a specific component. | |
virtual void | ComputeFiniteRange (double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Compute the range for a specific component. | |
virtual bool | ComputeScalarRange (double *ranges) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
virtual bool | ComputeScalarRange (double *ranges, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
virtual bool | ComputeVectorRange (double range[2]) |
Returns true if the range was computed. | |
virtual bool | ComputeVectorRange (double range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Returns true if the range was computed. | |
virtual bool | ComputeFiniteScalarRange (double *ranges) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
virtual bool | ComputeFiniteScalarRange (double *ranges, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Computes the range for each component of an array, the length of ranges must be two times the number of components. | |
virtual bool | ComputeFiniteVectorRange (double range[2]) |
Returns true if the range was computed. | |
virtual bool | ComputeFiniteVectorRange (double range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff) |
Returns true if the range was computed. | |
![]() | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkAbstractArray () | |
~vtkAbstractArray () override | |
virtual void | SetInformation (vtkInformation *) |
Set an information object that can be used to annotate the array. | |
virtual void | UpdateDiscreteValueSet (double uncertainty, double minProminence) |
Obtain the set of unique values taken on by each component of the array, as well as by the tuples of the array. | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
virtual void | ObjectFinalize () |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
std::unique_ptr< vtkInternals > | Internals |
std::shared_ptr< BackendT > | Backend |
The backend object actually mapping the indexes. | |
![]() | |
std::vector< double > | LegacyTuple |
std::vector< ValueType > | LegacyValueRange |
std::vector< ValueType > | LegacyValueRangeFull |
vtkGenericDataArrayLookupHelper< SelfType > | Lookup |
![]() | |
vtkLookupTable * | LookupTable |
double | Range [2] |
double | FiniteRange [2] |
![]() | |
vtkIdType | Size |
vtkIdType | MaxId |
int | NumberOfComponents |
unsigned int | MaxDiscreteValues |
char * | Name |
bool | RebuildArray |
vtkInformation * | Information |
vtkInternalComponentNames * | ComponentNames |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
std::string | ObjectName |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Friends | |
class | vtkGenericDataArray< vtkImplicitArray< BackendT >, ValueTypeT > |
Additional Inherited Members | |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
A read only array class that wraps an implicit function from integers to any value type supported by VTK.
This templated array class allows one to mimic the vtkDataArray interface using an implicit map behind the scenes. The BackendT
type can be a class or a struct that implements a const map method that takes integers to any VTK value type. It can also be any type of Closure/Functor that implements a const operator() method from integers to the value type of the array. If a void mapTuple(vtkIdType, TupleType*) const method is also present, the array will use this method to to populate the tuple instead of the map method. If a ValueType mapComponent(vtkIdType, int) const method is also present, the array will use this method to populate the GetTypedComponent function instead of the map method.
The ordering of the array for tuples and components is implicitly AOS.
The backend type can be trivially constructible, in which case the array gets initialized with a default constructed instance of the BackendT, or not default constructible, in which case the backend is initially a nullptr and must be set using the SetBackend
method.
Being a "read_only" array, any attempt to set a value in the array will result in a warning message with no change to the backend itself. This may evolve in future versions of the class as the needs of users become clearer.
The GetVoidPointer
method will create an internal vtkAOSDataArrayTemplate and populate it with the values from the implicit array and can thus be very memory intensive. The Squeeze
method will destroy this internal memory array. Both deep and shallow copies to other types of arrays will populate the other array with the implicit values contained in the implicit one. Deep and shallow copies from other array into this one do not make sense and will result in undefined behavior. Deep and shallow copies from implicit arrays of the same type will act the same way and will transfer a shared backend object pointer. Deep and shallow copies from one type of implicit array to a different type should result in a compile time error.
Constraints on the backend type are enforced through implicit_array_traits
found in the vtkImplicitArrayTraits header file. These traits use metaprogramming to check the proposed backend type at compile time. The decision to use this type of structure was taken for the following reasons:
Example for array that always returns 42:
Example for array that implements map and mapTuple
example for array that implements map and mapComponent
A peculiarity of vtkImplicitArray
s is that their NewInstance
method no longer gives an instance of the exact same array type. A NewInstance
call on a vtkImplicitArray
will return a vtkAOSDataArrayTemplate<ValueTypeT>
with the same value type as the original implicit array. This is so that the following workflow (used extensively throughout VTK) can work without issues:
Optionally, vtkImplicitArray
s backends can return their memory usage in KiB by defining the function getMemorySize
returning unsigned long
. vtkImplicitArray
then exposes this function through the GetActualMemorySize
function. If the backend does not define it, GetActualMemorySize
always returns 1.
Definition at line 160 of file vtkImplicitArray.h.
using vtkImplicitArray< BackendT >::SelfType = vtkImplicitArray<BackendT> |
Definition at line 172 of file vtkImplicitArray.h.
using vtkImplicitArray< BackendT >::ValueType = typename GenericDataArrayType::ValueType |
Definition at line 174 of file vtkImplicitArray.h.
using vtkImplicitArray< BackendT >::BackendType = BackendT |
Definition at line 175 of file vtkImplicitArray.h.
|
protected |
|
overrideprotected |
vtkImplicitArray< BackendT >::vtkImplicitArrayTypeMacro | ( | SelfType | , |
GenericDataArrayType | |||
) |
|
static |
|
inline |
Implementation of vtkGDAConceptMethods.
Get the value at idx. idx assumes AOS ordering.
Definition at line 186 of file vtkImplicitArray.h.
void vtkImplicitArray< BackendT >::SetValue | ( | vtkIdType | idx, |
ValueType | value | ||
) |
Will not do anything for these read only arrays!
|
inline |
Copy the tuple at idx into tuple.
Definition at line 196 of file vtkImplicitArray.h.
void vtkImplicitArray< BackendT >::SetTypedTuple | ( | vtkIdType | tupleIdx, |
const ValueType * | tuple | ||
) |
Will not do anything for these read only arrays!
|
inline |
Get component comp of the tuple at idx.
Definition at line 209 of file vtkImplicitArray.h.
void vtkImplicitArray< BackendT >::SetTypedComponent | ( | vtkIdType | tupleIdx, |
int | comp, | ||
ValueType | value | ||
) |
Will not do anything for these read only arrays!
|
inline |
Setter/Getter for Backend.
Definition at line 224 of file vtkImplicitArray.h.
|
inline |
Setter/Getter for Backend.
Definition at line 229 of file vtkImplicitArray.h.
|
inline |
Utility method for setting backend parameterization directly.
Definition at line 236 of file vtkImplicitArray.h.
|
overridevirtual |
Use of this method is discouraged, it creates a memory copy of the data into a contiguous AoS-ordered buffer internally.
Implicit array aims to limit memory consumption. Calling this method breaks this paradigm and can cause unexpected memory consumption, specially when called indirectly by some implementation details. E.g. when using the numpy wrapping, see #19304.
Reimplemented from vtkGenericDataArray< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >.
|
overridevirtual |
Release all extraneous internal memory including the void pointer used by GetVoidPointer
Reimplemented from vtkGenericDataArray< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >.
|
inlineoverridevirtual |
Get the type of array this is when down casting.
Reimplemented from vtkDataArray.
Definition at line 260 of file vtkImplicitArray.h.
|
inlineoverridevirtual |
Reset the array to default construction.
Reimplemented from vtkGenericDataArray< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >.
Definition at line 265 of file vtkImplicitArray.h.
|
inlineoverridevirtual |
Return the memory in kibibytes (1024 bytes) consumed by this implicit data array.
The value returned is guaranteed to be greater than or equal to the memory required to actually represent the data represented by this object.
Implicit array backends can implement the getMemorySize
function to override the default implementation, which always returns 1.
Reimplemented from vtkDataArray.
Definition at line 280 of file vtkImplicitArray.h.
|
inline |
Specific DeepCopy for implicit arrays.
This method should be preferred for two implicit arrays having the same backend. We cannot call the method DeepCopy
since that conflicts with the virtual function of the same name that cannot be templated. The non-interopability of templates and virtual functions is a language limitation at the time of writing this documentation. We can call this from the dispatched version of the DeepCopy
in vtkDataArray
. However, the implicit array needs to be dispatchable in order to to not enter into the Generic implementation of the deep copy. This dispatch is not always the case for all implicit arrays.
Definition at line 297 of file vtkImplicitArray.h.
|
static |
Perform a fast, safe cast from a vtkAbstractArray to a vtkDataArray.
This method checks if source->GetArrayType() returns DataArray or a more derived type, and performs a static_cast to return source as a vtkDataArray pointer. Otherwise, nullptr is returned.
|
inlineprotected |
No allocation necessary.
Definition at line 325 of file vtkImplicitArray.h.
|
inlineprotected |
No allocation necessary.
Definition at line 326 of file vtkImplicitArray.h.
|
friend |
Definition at line 485 of file vtkImplicitArray.h.
|
protected |
Definition at line 330 of file vtkImplicitArray.h.
|
protected |
The backend object actually mapping the indexes.
Definition at line 335 of file vtkImplicitArray.h.