34#ifndef vtkArrayListTemplate_h
35#define vtkArrayListTemplate_h
48VTK_ABI_NAMESPACE_BEGIN
73#ifdef VTK_USE_64BIT_IDS
74 virtual void Copy(
unsigned int inId,
unsigned int outId) = 0;
76 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
78 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
79 virtual void Average(
int numPts,
const unsigned int* ids,
unsigned int outId) = 0;
81 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
82 virtual void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId) = 0;
85 virtual void Copy(
unsigned short inId,
unsigned short outId) = 0;
87 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
89 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
90 virtual void Average(
int numPts,
const unsigned short* ids,
unsigned short outId) = 0;
92 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
94 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId) = 0;
117 template <
typename IdTypeT>
118 void Copy(IdTypeT inId, IdTypeT outId)
120 for (
int j = 0; j < this->
NumComp; ++j)
122 this->Output[outId * this->NumComp + j] =
123 static_cast<T
>(this->Input[inId * this->NumComp + j]);
127 template <
typename IdTypeT>
128 void Interpolate(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
130 for (
int j = 0; j < this->
NumComp; ++j)
133 for (
int i = 0; i < numWeights; ++i)
135 v += weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
137 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
141 template <
typename IdTypeT>
142 void InterpolateOutput(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
144 for (
int j = 0; j < this->
NumComp; ++j)
147 for (
int i = 0; i < numWeights; ++i)
149 v += weights[i] *
static_cast<double>(this->Output[ids[i] * this->NumComp + j]);
151 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
155 template <
typename IdTypeT>
156 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
158 for (
int j = 0; j < this->
NumComp; ++j)
161 for (
int i = 0; i < numPts; ++i)
163 v +=
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
165 v /=
static_cast<double>(numPts);
166 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
170 template <
typename IdTypeT>
171 void WeightedAverage(
int numPts,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
173 for (
int j = 0; j < this->
NumComp; ++j)
176 for (
int i = 0; i < numPts; ++i)
178 v += (weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]));
180 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
184 template <
typename IdTypeT>
188 for (
int j = 0; j < this->
NumComp; ++j)
190 v = this->Input[v0 * this->NumComp + j] +
191 t * (this->Input[v1 * this->NumComp + j] - this->Input[v0 * this->NumComp + j]);
192 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
196 template <
typename IdTypeT>
199 for (
int j = 0; j < this->
NumComp; ++j)
201 this->Output[outId * this->NumComp + j] = this->
NullValue;
208 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
210 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
213 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
215 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
219 this->Average<vtkIdType>(numPts, ids, outId);
224 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
228 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
231#ifdef VTK_USE_64BIT_IDS
232 void Copy(
unsigned int inId,
unsigned int outId)
override
234 this->Copy<unsigned int>(inId, outId);
237 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
239 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
242 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
244 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
246 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
248 this->Average<unsigned int>(numPts, ids, outId);
251 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
253 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
255 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
257 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
259 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
261 void Copy(
unsigned short inId,
unsigned short outId)
override
263 this->Copy<unsigned short>(inId, outId);
266 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
268 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
271 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
273 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
275 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
277 this->Average<unsigned short>(numPts, ids, outId);
280 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
282 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
285 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
287 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
291 this->AssignNullValue<unsigned short>(outId);
319 template <
typename IdTypeT>
320 void Copy(IdTypeT inId, IdTypeT outId)
322 for (
int j = 0; j < this->
NumComp; ++j)
324 this->Output[outId * this->NumComp + j] =
325 static_cast<vtkStdString>(this->Input[inId * this->NumComp + j]);
328 template <
typename IdTypeT>
330 int numWeights,
const IdTypeT* ids,
const double* vtkNotUsed(weights), IdTypeT outId)
332 for (
int i = 0; i < numWeights; ++i)
334 this->
Copy(ids[i], outId);
337 template <
typename IdTypeT>
339 const double* vtkNotUsed(weights), IdTypeT vtkNotUsed(outId))
342 template <
typename IdTypeT>
343 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
345 for (
int i = 0; i < numPts; ++i)
347 this->
Copy(ids[i], outId);
350 template <
typename IdTypeT>
352 int numPts,
const IdTypeT* ids,
const double* vtkNotUsed(weights), IdTypeT outId)
354 for (
int i = 0; i < numPts; ++i)
356 this->
Copy(ids[i], outId);
359 template <
typename IdTypeT>
363 for (
int j = 0; j < this->
NumComp; ++j)
365 s = std::string(this->Input[v0 * this->NumComp + j]) +
366 std::string(this->Input[v1 * this->NumComp + j]);
367 this->Output[outId * this->NumComp + j] = s;
371 template <
typename IdTypeT>
374 for (
int j = 0; j < this->
NumComp; ++j)
376 this->Output[outId * this->NumComp + j] = vtk::to_string(this->NullValue);
383 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
385 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
388 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
390 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
394 this->Average<vtkIdType>(numPts, ids, outId);
399 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
403 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
406#ifdef VTK_USE_64BIT_IDS
407 void Copy(
unsigned int inId,
unsigned int outId)
override
409 this->Copy<unsigned int>(inId, outId);
412 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
414 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
417 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
419 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
421 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
423 this->Average<unsigned int>(numPts, ids, outId);
426 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
428 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
430 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
432 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
434 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
436 void Copy(
unsigned short inId,
unsigned short outId)
override
438 this->Copy<unsigned short>(inId, outId);
441 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
443 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
446 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
448 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
450 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
452 this->Average<unsigned short>(numPts, ids, outId);
455 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
457 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
460 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
462 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
466 this->AssignNullValue<unsigned short>(outId);
479template <
typename TInput,
typename TOutput>
496 template <
typename IdTypeT>
497 void Copy(IdTypeT inId, IdTypeT outId)
499 for (
int j = 0; j < this->
NumComp; ++j)
501 this->Output[outId * this->NumComp + j] =
502 static_cast<TOutput
>(this->Input[inId * this->NumComp + j]);
506 template <
typename IdTypeT>
507 void Interpolate(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
509 for (
int j = 0; j < this->
NumComp; ++j)
512 for (
int i = 0; i < numWeights; ++i)
514 v += weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
516 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
520 template <
typename IdTypeT>
521 void InterpolateOutput(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
523 for (
int j = 0; j < this->
NumComp; ++j)
526 for (
int i = 0; i < numWeights; ++i)
528 v += weights[i] *
static_cast<double>(this->Output[ids[i] * this->NumComp + j]);
530 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
534 template <
typename IdTypeT>
535 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
537 for (
int j = 0; j < this->
NumComp; ++j)
540 for (
int i = 0; i < numPts; ++i)
542 v +=
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
544 v /=
static_cast<double>(numPts);
545 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
549 template <
typename IdTypeT>
550 void WeightedAverage(
int numPts,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
552 for (
int j = 0; j < this->
NumComp; ++j)
555 for (
int i = 0; i < numPts; ++i)
557 v += (weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]));
559 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
563 template <
typename IdTypeT>
567 for (
int j = 0; j < this->
NumComp; ++j)
569 v = this->Input[v0 * this->NumComp + j] +
570 t * (this->Input[v1 * this->NumComp + j] - this->Input[v0 * this->NumComp + j]);
571 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
575 template <
typename IdTypeT>
578 for (
int j = 0; j < this->
NumComp; ++j)
580 this->Output[outId * this->NumComp + j] = this->
NullValue;
587 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
589 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
592 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
594 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
598 this->Average<vtkIdType>(numPts, ids, outId);
603 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
607 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
610#ifdef VTK_USE_64BIT_IDS
611 void Copy(
unsigned int inId,
unsigned int outId)
override
613 this->Copy<unsigned int>(inId, outId);
616 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
618 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
621 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
623 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
625 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
627 this->Average<unsigned int>(numPts, ids, outId);
630 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
632 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
634 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
636 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
638 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
640 void Copy(
unsigned short inId,
unsigned short outId)
override
642 this->Copy<unsigned short>(inId, outId);
645 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
647 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
650 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
652 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
654 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
656 this->Average<unsigned short>(numPts, ids, outId);
659 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
661 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
664 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
666 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
670 this->AssignNullValue<unsigned short>(outId);
686 ArrayList* list, T* inData, T* outData,
vtkIdType numTuples,
int numComp, T nullValue);
698 double nullValue = 0.0,
vtkTypeBool promote =
true);
718 for (
auto& array : this->
Arrays)
725 template <
typename TIdType>
726 void Copy(TIdType inId, TIdType outId)
728 for (
auto& array : this->
Arrays)
730 array->Copy(inId, outId);
734 template <
typename TIdType>
735 void Interpolate(
int numWeights,
const TIdType* ids,
const double* weights, TIdType outId)
737 for (
auto& array : this->
Arrays)
739 array->Interpolate(numWeights, ids, weights, outId);
743 template <
typename TIdType>
744 void InterpolateOutput(
int numWeights,
const TIdType* ids,
const double* weights, TIdType outId)
746 for (
auto& array : this->
Arrays)
748 array->InterpolateOutput(numWeights, ids, weights, outId);
752 template <
typename TIdType>
753 void Average(
int numPts,
const TIdType* ids, TIdType outId)
755 for (
auto& array : this->
Arrays)
757 array->Average(numPts, ids, outId);
761 template <
typename TIdType>
762 void WeightedAverage(
int numPts,
const TIdType* ids,
const double* weights, TIdType outId)
764 for (
auto& array : this->
Arrays)
766 array->WeightedAverage(numPts, ids, weights, outId);
770 template <
typename TIdType>
773 for (
auto& array : this->
Arrays)
775 array->InterpolateEdge(v0, v1, t, outId);
779 template <
typename TIdType>
782 for (
auto& array : this->
Arrays)
784 array->AssignNullValue(outId);
799 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
807 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
814 this->Average<vtkIdType>(numPts, ids, outId);
821 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
828 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
834#ifdef VTK_USE_64BIT_IDS
839 void Copy(
unsigned int inId,
unsigned int outId) { this->Copy<unsigned int>(inId, outId); }
844 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
846 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
852 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
854 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
859 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
861 this->Average<unsigned int>(numPts, ids, outId);
867 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
869 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
874 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
876 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
881 void AssignNullValue(
unsigned int outId) { this->AssignNullValue<unsigned int>(outId); }
887 void Copy(
unsigned short inId,
unsigned short outId) { this->Copy<unsigned short>(inId, outId); }
892 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
894 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
900 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
902 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
907 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
909 this->Average<unsigned short>(numPts, ids, outId);
915 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
917 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
922 void InterpolateEdge(
unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
924 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
929 void AssignNullValue(
unsigned short outId) { this->AssignNullValue<unsigned short>(outId); }
936 for (
auto& array : this->
Arrays)
949#include "vtkArrayListTemplate.txx"
Abstract superclass for all arrays.
virtual vtkTypeBool Resize(vtkIdType numTuples)=0
Resize the array to the requested number of tuples and preserve data.
virtual void SetNumberOfTuples(vtkIdType numTuples)=0
Set the number of tuples (a component group) in the array.
virtual void * GetVoidPointer(vtkIdType valueIdx)=0
Return a void pointer.
represent and manipulate attribute data in a dataset
Hold a reference to a vtkObjectBase instance.
Wrapper around std::string to keep symbols short.
vtkAbstractArray * AddArrayPair(vtkIdType numTuples, vtkAbstractArray *inArray, vtkStdString &outArrayName, double nullValue, vtkTypeBool promote)
void Average(int numPts, const vtkIdType *ids, vtkIdType outId)
Loop over the arrays and have them averaged.
void Copy(unsigned short inId, unsigned short outId)
Loop over the array pairs and copy data from one to another.
void InterpolateEdge(vtkIdType v0, vtkIdType v1, double t, vtkIdType outId)
Loop over the arrays perform edge interpolation.
void InterpolateEdge(TIdType v0, TIdType v1, double t, TIdType outId)
void AddSelfInterpolatingArrays(vtkIdType numOutPts, vtkDataSetAttributes *attr, double nullValue=0.0)
void Interpolate(int numWeights, const TIdType *ids, const double *weights, TIdType outId)
void AssignNullValue(vtkIdType outId)
Loop over the arrays and assign the null value.
void WeightedAverage(int numPts, const vtkIdType *ids, const double *weights, vtkIdType outId)
Loop over the arrays and weighted average the attributes.
void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId)
Loop over the arrays and have them interpolate themselves.
vtkTypeBool IsExcluded(vtkAbstractArray *da)
std::vector< vtkAbstractArray * > ExcludedArrays
void InterpolateEdge(unsigned short v0, unsigned short v1, double t, unsigned short outId)
Loop over the arrays perform edge interpolation.
vtkIdType GetNumberOfArrays()
Return the number of arrays.
void Copy(vtkIdType inId, vtkIdType outId)
Loop over the array pairs and copy data from one to another.
void AddArrays(vtkIdType numOutPts, vtkDataSetAttributes *inPD, vtkDataSetAttributes *outPD, double nullValue=0.0, vtkTypeBool promote=true)
void AssignNullValue(TIdType outId)
void Average(int numPts, const TIdType *ids, TIdType outId)
void WeightedAverage(int numPts, const unsigned short *ids, const double *weights, unsigned short outId)
Loop over the arrays and weighted average the attributes.
void ExcludeArray(vtkAbstractArray *da)
void Average(int numPts, const unsigned short *ids, unsigned short outId)
Loop over the arrays and have them averaged.
void InterpolateOutput(int numWeights, const TIdType *ids, const double *weights, TIdType outId)
void Realloc(vtkIdType sze)
Extend (realloc) the arrays.
void InterpolateOutput(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId)
Loop over the arrays and have them interpolate themselves based on the output arrays.
void WeightedAverage(int numPts, const TIdType *ids, const double *weights, TIdType outId)
void Copy(TIdType inId, TIdType outId)
std::vector< BaseArrayPair * > Arrays
void AssignNullValue(unsigned short outId)
Loop over the arrays and assign the null value.
void InterpolateOutput(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId)
Loop over the arrays and have them interpolate themselves based on the output arrays.
void Interpolate(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId)
Loop over the arrays and have them interpolate themselves.
ArrayPair(vtkStdString *in, vtkStdString *out, vtkIdType num, int numComp, vtkAbstractArray *outArray, double null)
void Realloc(vtkIdType sze) override
void AssignNullValue(IdTypeT outId)
void Copy(unsigned short inId, unsigned short outId) override
void InterpolateOutput(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void InterpolateEdge(unsigned short v0, unsigned short v1, double t, unsigned short outId) override
void WeightedAverage(int numPts, const IdTypeT *ids, const double *weights, IdTypeT outId)
void Copy(vtkIdType inId, vtkIdType outId) override
void Interpolate(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
void WeightedAverage(int numPts, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void AssignNullValue(vtkIdType outId) override
void AssignNullValue(unsigned short outId) override
~ArrayPair() override=default
void InterpolateOutput(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
void InterpolateEdge(vtkIdType v0, vtkIdType v1, double t, vtkIdType outId) override
void InterpolateOutput(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
void Interpolate(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void Copy(IdTypeT inId, IdTypeT outId)
void Average(int numPts, const IdTypeT *ids, IdTypeT outId)
void Average(int numPts, const vtkIdType *ids, vtkIdType outId) override
void Average(int numPts, const unsigned short *ids, unsigned short outId) override
void InterpolateEdge(IdTypeT v0, IdTypeT v1, double t, IdTypeT outId)
void WeightedAverage(int numPts, const unsigned short *ids, const double *weights, unsigned short outId) override
void AssignNullValue(unsigned short outId) override
void Interpolate(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
void InterpolateEdge(vtkIdType v0, vtkIdType v1, double t, vtkIdType outId) override
void AssignNullValue(IdTypeT outId)
void InterpolateOutput(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void Average(int numPts, const unsigned short *ids, unsigned short outId) override
void InterpolateOutput(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
void AssignNullValue(vtkIdType outId) override
void Copy(unsigned short inId, unsigned short outId) override
void Average(int numPts, const vtkIdType *ids, vtkIdType outId) override
void WeightedAverage(int numPts, const unsigned short *ids, const double *weights, unsigned short outId) override
void WeightedAverage(int numPts, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void Copy(IdTypeT inId, IdTypeT outId)
~ArrayPair() override=default
ArrayPair(T *in, T *out, vtkIdType num, int numComp, vtkAbstractArray *outArray, T null)
void Interpolate(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void Average(int numPts, const IdTypeT *ids, IdTypeT outId)
void InterpolateEdge(unsigned short v0, unsigned short v1, double t, unsigned short outId) override
void Copy(vtkIdType inId, vtkIdType outId) override
void Realloc(vtkIdType sze) override
void InterpolateOutput(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
void WeightedAverage(int numPts, const IdTypeT *ids, const double *weights, IdTypeT outId)
void InterpolateEdge(IdTypeT v0, IdTypeT v1, double t, IdTypeT outId)
void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
virtual void WeightedAverage(int numPts, const unsigned short *ids, const double *weights, unsigned short outId)=0
virtual void InterpolateOutput(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId)=0
BaseArrayPair(vtkIdType num, int numComp, vtkAbstractArray *outArray)
virtual void Average(int numPts, const vtkIdType *ids, vtkIdType outId)=0
virtual void InterpolateEdge(vtkIdType v0, vtkIdType v1, double t, vtkIdType outId)=0
virtual void Average(int numPts, const unsigned short *ids, unsigned short outId)=0
virtual void InterpolateEdge(unsigned short v0, unsigned short v1, double t, unsigned short outId)=0
virtual void AssignNullValue(unsigned short outId)=0
virtual void AssignNullValue(vtkIdType outId)=0
virtual void Copy(vtkIdType inId, vtkIdType outId)=0
virtual ~BaseArrayPair()=default
virtual void Interpolate(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId)=0
virtual void WeightedAverage(int numPts, const vtkIdType *ids, const double *weights, vtkIdType outId)=0
virtual void Realloc(vtkIdType sze)=0
virtual void Copy(unsigned short inId, unsigned short outId)=0
vtkSmartPointer< vtkAbstractArray > OutputArray
virtual void InterpolateOutput(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId)=0
virtual void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId)=0
void InterpolateEdge(IdTypeT v0, IdTypeT v1, double t, IdTypeT outId)
void Interpolate(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void Average(int numPts, const unsigned short *ids, unsigned short outId) override
void InterpolateOutput(int numWeights, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void InterpolateOutput(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
~RealArrayPair() override=default
void InterpolateEdge(vtkIdType v0, vtkIdType v1, double t, vtkIdType outId) override
void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
void Copy(IdTypeT inId, IdTypeT outId)
void Copy(vtkIdType inId, vtkIdType outId) override
void AssignNullValue(vtkIdType outId) override
void Realloc(vtkIdType sze) override
void Average(int numPts, const IdTypeT *ids, IdTypeT outId)
void Copy(unsigned short inId, unsigned short outId) override
void AssignNullValue(unsigned short outId) override
void Average(int numPts, const vtkIdType *ids, vtkIdType outId) override
void AssignNullValue(IdTypeT outId)
void InterpolateEdge(unsigned short v0, unsigned short v1, double t, unsigned short outId) override
void InterpolateOutput(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
RealArrayPair(TInput *in, TOutput *out, vtkIdType num, int numComp, vtkAbstractArray *outArray, TOutput null)
void WeightedAverage(int numPts, const unsigned short *ids, const double *weights, unsigned short outId) override
void WeightedAverage(int numPts, const IdTypeT *ids, const double *weights, IdTypeT outId)
void Interpolate(int numWeights, const IdTypeT *ids, const double *weights, IdTypeT outId)
void WeightedAverage(int numPts, const vtkIdType *ids, const double *weights, vtkIdType outId) override
void CreateArrayPair(ArrayList *list, T *inData, T *outData, vtkIdType numTuples, int numComp, T nullValue)