138#ifndef vtkDataArray_h 
  139#define vtkDataArray_h 
  142#include "vtkCommonCoreModule.h"  
  145VTK_ABI_NAMESPACE_BEGIN
 
  158  using ArrayTypeTag = std::integral_constant<int, vtkArrayTypes::VTK_DATA_ARRAY>;
 
  203    double* weights) 
override;
 
  280  virtual 
void SetTuple(
vtkIdType tupleIdx, const 
float* tuple)
 
  281    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  282  virtual 
void SetTuple(
vtkIdType tupleIdx, const 
double* tuple)
 
  283    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  293    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  294  void SetTuple2(
vtkIdType tupleIdx, 
double val0, 
double val1)
 
  295    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  296  void SetTuple3(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2)
 
  297    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  298  void SetTuple4(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3)
 
  299    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  300  void SetTuple6(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3,
 
  301    double val4, 
double val5) 
VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  302  void SetTuple9(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3,
 
  303    double val4, 
double val5, 
double val6, 
double val7, 
double val8)
 
  304    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples());
 
  324  void InsertTuple3(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2)
 
  326  void InsertTuple4(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3)
 
  328  void InsertTuple6(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3,
 
  329    double val4, 
double val5) 
VTK_EXPECTS(0 <= tupleIdx);
 
  330  void InsertTuple9(
vtkIdType tupleIdx, 
double val0, 
double val1, 
double val2, 
double val3,
 
  331    double val4, 
double val5, 
double val6, 
double val7, 
double val8) 
VTK_EXPECTS(0 <= tupleIdx);
 
  340  virtual 
vtkIdType InsertNextTuple(const 
float* tuple) = 0;
 
  341  virtual 
vtkIdType InsertNextTuple(const 
double* tuple) = 0;
 
  350  void InsertNextTuple1(
double value);
 
  351  void InsertNextTuple2(
double val0, 
double val1);
 
  352  void InsertNextTuple3(
double val0, 
double val1, 
double val2);
 
  353  void InsertNextTuple4(
double val0, 
double val1, 
double val2, 
double val3);
 
  354  void InsertNextTuple6(
 
  355    double val0, 
double val1, 
double val2, 
double val3, 
double val4, 
double val5);
 
  356  void InsertNextTuple9(
double val0, 
double val1, 
double val2, 
double val3, 
double val4,
 
  357    double val5, 
double val6, 
double val7, 
double val8);
 
  367    VTK_EXPECTS(0 <= tupleIdx && tupleIdx < GetNumberOfTuples()) = 0;
 
  368  virtual 
void RemoveFirstTuple() { this->RemoveTuple(0); }
 
  378      VTK_EXPECTS(0 <= compIdx && compIdx < GetNumberOfComponents());
 
  387  virtual 
void SetComponent(
vtkIdType tupleIdx, 
int compIdx, 
double value)
 
  388    VTK_EXPECTS(0 <= tupleIdx && GetNumberOfComponents() * tupleIdx + compIdx < GetNumberOfValues())
 
  389      VTK_EXPECTS(0 <= compIdx && compIdx < GetNumberOfComponents());
 
  395  virtual 
void InsertComponent(
vtkIdType tupleIdx, 
int compIdx, 
double value)
 
  406  virtual 
void GetData(
 
  435  virtual 
void FillComponent(
int compIdx, 
double value)
 
  436    VTK_EXPECTS(0 <= compIdx && compIdx < GetNumberOfComponents());
 
  441  virtual 
void Fill(
double value);
 
  456  virtual 
bool CopyComponent(
int dstComponent, 
vtkDataArray* src, 
int srcComponent);
 
  474  unsigned long GetActualMemorySize() const override;
 
  480  void CreateDefaultLookupTable();
 
  508  void GetRange(
double range[2], 
int comp) { this->ComputeRange(range, comp); }
 
  509  void GetRange(
double range[2], 
int comp, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip)
 
  511    this->ComputeRange(range, comp, ghosts, ghostsToSkip);
 
  526    this->GetRange(this->Range, comp);
 
  569  void GetFiniteRange(
double range[2], 
int comp) { this->ComputeFiniteRange(range, comp); }
 
  571    double range[2], 
int comp, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip)
 
  573    this->ComputeFiniteRange(range, comp, ghosts, ghostsToSkip);
 
  588    this->GetFiniteRange(this->FiniteRange, comp);
 
  589    return this->FiniteRange;
 
  696  int GetArrayType()
 const override { 
return vtkDataArray::ArrayTypeTag::value; }
 
  721    double range[2], 
int comp, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  743    double range[2], 
int comp, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  764    double* ranges, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  782    double range[2], 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  802    double* ranges, 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  820    double range[2], 
const unsigned char* ghosts, 
unsigned char ghostsToSkip = 0xff);
 
  829  double FiniteRange[2];
 
  845VTK_ABI_NAMESPACE_BEGIN
 
Abstract superclass for all arrays.
 
int GetNumberOfComponents() const
Set/Get the dimension (n) of the components.
 
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.
 
std::integral_constant< int, VTK_OPAQUE > DataTypeTag
 
vtkIdType GetNumberOfValues() const
Get the total number of values in the array.
 
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 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 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.
 
virtual void SetUnsignedTuple(vtkIdType tupleIdx, vtkTypeUInt64 *tuple)
Get/set the data at tupleIdx by filling in a user-provided array of unsigned 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 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.
 
static vtkDataArray * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkDataArray.
 
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).
 
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.
 
double GetDataTypeMax()
These methods return the Min and Max possible range of the native data type.
 
void GetRange(double range[2])
The range of the data array values will be returned in the provided range array argument.
 
virtual double GetComponent(vtkIdType tupleIdx, int compIdx)
Return the data component at the location specified by tupleIdx and compIdx.
 
int CopyInformation(vtkInformation *infoFrom, vtkTypeBool deep=1) override
Copy information instance.
 
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.
 
std::integral_constant< int, vtkArrayTypes::VTK_DATA_ARRAY > ArrayTypeTag
 
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.
 
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
 
Represents and manipulates a collection of data arrays.
 
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(...)
 
#define VTK_MARSHALMANUAL