39#include "vtkCommonCoreModule.h"
40#include "vtkVTK_USE_SCALED_SOA_ARRAYS.h"
97 double* weights)
override;
142 virtual
void SetTuple(
vtkIdType tupleIdx, const
float* tuple)
143 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
144 virtual
void SetTuple(
vtkIdType tupleIdx, const
double* tuple)
145 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
155 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
156 void SetTuple2(
vtkIdType tupleIdx,
double val0,
double val1)
157 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
158 void SetTuple3(
vtkIdType tupleIdx,
double val0,
double val1,
double val2)
159 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
160 void SetTuple4(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3)
161 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
162 void SetTuple6(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3,
163 double val4,
double val5)
VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
164 void SetTuple9(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3,
165 double val4,
double val5,
double val6,
double val7,
double val8)
166 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
186 void InsertTuple3(
vtkIdType tupleIdx,
double val0,
double val1,
double val2)
188 void InsertTuple4(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3)
190 void InsertTuple6(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3,
191 double val4,
double val5)
VTK_EXPECTS(0 <= tupleIdx);
192 void InsertTuple9(
vtkIdType tupleIdx,
double val0,
double val1,
double val2,
double val3,
193 double val4,
double val5,
double val6,
double val7,
double val8)
VTK_EXPECTS(0 <= tupleIdx);
202 virtual
vtkIdType InsertNextTuple(const
float* tuple) = 0;
203 virtual
vtkIdType InsertNextTuple(const
double* tuple) = 0;
212 void InsertNextTuple1(
double value);
213 void InsertNextTuple2(
double val0,
double val1);
214 void InsertNextTuple3(
double val0,
double val1,
double val2);
215 void InsertNextTuple4(
double val0,
double val1,
double val2,
double val3);
216 void InsertNextTuple6(
217 double val0,
double val1,
double val2,
double val3,
double val4,
double val5);
218 void InsertNextTuple9(
double val0,
double val1,
double val2,
double val3,
double val4,
219 double val5,
double val6,
double val7,
double val8);
229 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples()) = 0;
230 virtual
void RemoveFirstTuple() { this->RemoveTuple(0); }
248 virtual
void SetComponent(
vtkIdType tupleIdx,
int compIdx,
double value)
249 VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples())
250 VTK_EXPECTS(0 <= compIdx && compIdx < GetNumberOfComponents());
256 virtual
void InsertComponent(
vtkIdType tupleIdx,
int compIdx,
double value)
267 virtual
void GetData(
296 virtual
void FillComponent(
int compIdx,
double value)
297 VTK_EXPECTS(0 <= compIdx && compIdx < GetNumberOfComponents());
302 virtual
void Fill(
double value);
312 virtual
void CopyComponent(
int dstComponent,
vtkDataArray* src,
int srcComponent);
329 unsigned long GetActualMemorySize() const override;
335 void CreateDefaultLookupTable();
363 void GetRange(
double range[2],
int comp) { this->ComputeRange(range, comp); }
364 void GetRange(
double range[2],
int comp,
const unsigned char* ghosts,
unsigned char ghostsToSkip)
366 this->ComputeRange(range, comp, ghosts, ghostsToSkip);
381 this->GetRange(this->Range, comp);
424 void GetFiniteRange(
double range[2],
int comp) { this->ComputeFiniteRange(range, comp); }
426 double range[2],
int comp,
const unsigned char* ghosts,
unsigned char ghostsToSkip)
428 this->ComputeFiniteRange(range, comp, ghosts, ghostsToSkip);
443 this->GetFiniteRange(this->FiniteRange, comp);
444 return this->FiniteRange;
572 double range[2],
int comp,
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
594 double range[2],
int comp,
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
615 double* ranges,
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
633 double range[2],
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
653 double* ranges,
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
671 double range[2],
const unsigned char* ghosts,
unsigned char ghostsToSkip = 0xff);
680 double FiniteRange[2];
695 switch (
source->GetArrayType())
Abstract superclass for all arrays.
vtkIdType GetNumberOfTuples() const
Get the number of complete tuples (a component group) in the array.
virtual int GetDataTypeSize() const =0
Return the size of the underlying data type.
abstract superclass for arrays of numeric data
virtual double * GetTuple(vtkIdType tupleIdx)=0
Get the data tuple at tupleIdx.
double * GetRange()
Return the range of the data array.
virtual void ComputeRange(double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff)
Compute the range for a specific component.
static double GetDataTypeMin(int type)
These methods return the Min and Max possible range of the native data type.
double * GetTuple2(vtkIdType tupleIdx)
These methods are included as convenience for the wrappers.
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 th...
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 ...
virtual bool ComputeVectorRange(double range[2])
Returns true if the range was computed.
int IsNumeric() const override
This method is here to make backward compatibility easier.
void SetTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override
See documentation from parent class.
void GetDataTypeRange(double range[2])
These methods return the Min and Max possible range of the native data type.
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,...
virtual void ComputeRange(double range[2], int comp)
Compute the range for a specific component.
double * GetFiniteRange()
Return the range of the data array.
virtual bool ComputeScalarRange(double *ranges)
Computes the range for each component of an array, the length of ranges must be two times the number ...
void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source) override
See documentation from parent class.
virtual bool ComputeFiniteVectorRange(double range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff)
Returns true if the range was computed.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool ComputeVectorRange(double range[2], const unsigned char *ghosts, unsigned char ghostsToSkip=0xff)
Returns true if the range was computed.
int GetArrayType() const override
Method for type-checking in FastDownCast implementations.
int GetElementComponentSize() const override
Return the size, in bytes, of the lowest-level element of an array.
virtual bool ComputeFiniteVectorRange(double range[2])
Returns true if the range was computed.
static vtkInformationDoubleVectorKey * COMPONENT_RANGE()
This key is used to hold tight bounds on the range of one component over all tuples of the array.
virtual void RemoveLastTuple()
These methods remove tuples from the data array.
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 arr...
void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) override
Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive).
static vtkInformationDoubleVectorKey * L2_NORM_RANGE()
This key is used to hold tight bounds on the $L_2$ norm of tuples in the array.
double GetDataTypeMin()
These methods return the Min and Max possible range of the native data type.
void InsertTuplesStartingAt(vtkIdType dstStart, vtkIdList *srcIds, vtkAbstractArray *source) override
See documentation from parent class.
void GetTuples(vtkIdList *tupleIds, vtkAbstractArray *output) override
Given a list of tuple ids, return an array of tuples.
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 larg...
double GetTuple1(vtkIdType tupleIdx)
These methods are included as convenience for the wrappers.
static vtkInformationDoubleVectorKey * L2_NORM_FINITE_RANGE()
This key is used to hold tight bounds on the $L_2$ norm of tuples in the array.
double GetDataTypeMax()
These methods return the Min and Max possible range of the native data type.
int CopyInformation(vtkInformation *infoFrom, int deep=1) override
Copy information instance.
void GetRange(double range[2])
The range of the data array values will be returned in the provided range array argument.
static vtkDataArray * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkDataArray.
virtual double GetComponent(vtkIdType tupleIdx, int compIdx)
Return the data component at the location specified by tupleIdx and compIdx.
vtkIdType InsertNextTuple(vtkIdType srcTupleIdx, vtkAbstractArray *source) override
See documentation from parent class.
virtual void ComputeFiniteRange(double range[2], int comp)
Compute the range for a specific component.
virtual double GetMaxNorm()
Return the maximum norm for the tuples.
void InsertTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override
See documentation from parent class.
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 arr...
static void GetDataTypeRange(int type, double range[2])
These methods return the Min and Max possible range of the native data type.
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 ...
virtual void ComputeFiniteRange(double range[2], int comp, const unsigned char *ghosts, unsigned char ghostsToSkip=0xff)
Compute the range for a specific component.
static vtkDataArray * CreateDataArray(int dataType)
Creates an array for dataType where dataType is one of VTK_BIT, VTK_CHAR, VTK_SIGNED_CHAR,...
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 arr...
void GetFiniteRange(double range[2])
The range of the data array values 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 InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source) override
See documentation from parent class.
static vtkInformationStringKey * UNITS_LABEL()
A human-readable string indicating the units for the array data.
virtual bool ComputeFiniteScalarRange(double *ranges)
Computes the range for each component of an array, the length of ranges must be two times the number ...
void Modified() override
Removes out-of-date L2_NORM_RANGE() and L2_NORM_FINITE_RANGE() values.
static double GetDataTypeMax(int type)
These methods return the Min and Max possible range of the native data type.
vtkLookupTable * LookupTable
dynamic, self-adjusting array of double
represent and manipulate fields of data
list of point or cell ids
a simple class to control print indentation
map scalar values into colors via a lookup table
represent and manipulate 3D points
#define vtkArrayDownCast_FastCastMacro(ArrayT)
This macro is used to tell vtkArrayDownCast to use FastDownCast instead of SafeDownCast.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_SIZEHINT(...)