45 #ifndef vtkArrayListTemplate_h
46 #define vtkArrayListTemplate_h
58 VTK_ABI_NAMESPACE_BEGIN
83 #ifdef VTK_USE_64BIT_IDS
84 virtual void Copy(
unsigned int inId,
unsigned int outId) = 0;
86 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
88 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
89 virtual void Average(
int numPts,
const unsigned int* ids,
unsigned int outId) = 0;
91 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId) = 0;
92 virtual void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId) = 0;
95 virtual void Copy(
unsigned short inId,
unsigned short outId) = 0;
97 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
99 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
100 virtual void Average(
int numPts,
const unsigned short* ids,
unsigned short outId) = 0;
102 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId) = 0;
104 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId) = 0;
111 template <
typename T>
127 template <
typename IdTypeT>
128 void Copy(IdTypeT inId, IdTypeT outId)
130 for (
int j = 0; j < this->
NumComp; ++j)
132 this->Output[outId * this->NumComp + j] =
133 static_cast<T
>(this->Input[inId * this->NumComp + j]);
137 template <
typename IdTypeT>
138 void Interpolate(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
140 for (
int j = 0; j < this->
NumComp; ++j)
143 for (
int i = 0; i < numWeights; ++i)
145 v += weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
147 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
151 template <
typename IdTypeT>
152 void InterpolateOutput(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
154 for (
int j = 0; j < this->
NumComp; ++j)
157 for (
int i = 0; i < numWeights; ++i)
159 v += weights[i] *
static_cast<double>(this->Output[ids[i] * this->NumComp + j]);
161 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
165 template <
typename IdTypeT>
166 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
168 for (
int j = 0; j < this->
NumComp; ++j)
171 for (
int i = 0; i < numPts; ++i)
173 v +=
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
175 v /=
static_cast<double>(numPts);
176 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
180 template <
typename IdTypeT>
181 void WeightedAverage(
int numPts,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
183 for (
int j = 0; j < this->
NumComp; ++j)
186 for (
int i = 0; i < numPts; ++i)
188 v += (weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]));
190 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
194 template <
typename IdTypeT>
198 for (
int j = 0; j < this->
NumComp; ++j)
200 v = this->Input[v0 * this->NumComp + j] +
201 t * (this->Input[v1 * this->NumComp + j] - this->Input[v0 * this->NumComp + j]);
202 this->Output[outId * this->NumComp + j] =
static_cast<T
>(v);
206 template <
typename IdTypeT>
209 for (
int j = 0; j < this->
NumComp; ++j)
211 this->Output[outId * this->NumComp + j] = this->
NullValue;
218 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
220 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
223 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
225 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
229 this->Average<vtkIdType>(numPts, ids, outId);
234 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
238 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
241 #ifdef VTK_USE_64BIT_IDS
242 void Copy(
unsigned int inId,
unsigned int outId)
override
244 this->Copy<unsigned int>(inId, outId);
247 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
249 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
252 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
254 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
256 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
258 this->Average<unsigned int>(numPts, ids, outId);
261 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
263 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
265 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
267 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
269 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
271 void Copy(
unsigned short inId,
unsigned short outId)
override
273 this->Copy<unsigned short>(inId, outId);
276 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
278 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
281 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
283 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
285 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
287 this->Average<unsigned short>(numPts, ids, outId);
290 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
292 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
295 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
297 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
301 this->AssignNullValue<unsigned short>(outId);
329 template <
typename IdTypeT>
330 void Copy(IdTypeT inId, IdTypeT outId)
332 for (
int j = 0; j < this->
NumComp; ++j)
334 this->Output[outId * this->NumComp + j] =
335 static_cast<vtkStdString>(this->Input[inId * this->NumComp + j]);
338 template <
typename IdTypeT>
340 int numWeights,
const IdTypeT* ids,
const double* vtkNotUsed(weights), IdTypeT outId)
342 for (
int i = 0; i < numWeights; ++i)
344 this->
Copy(ids[i], outId);
347 template <
typename IdTypeT>
349 const double* vtkNotUsed(weights), IdTypeT vtkNotUsed(outId))
352 template <
typename IdTypeT>
353 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
355 for (
int i = 0; i < numPts; ++i)
357 this->
Copy(ids[i], outId);
360 template <
typename IdTypeT>
362 int numPts,
const IdTypeT* ids,
const double* vtkNotUsed(weights), IdTypeT outId)
364 for (
int i = 0; i < numPts; ++i)
366 this->
Copy(ids[i], outId);
369 template <
typename IdTypeT>
373 for (
int j = 0; j < this->
NumComp; ++j)
375 s =
std::string(this->Input[v0 * this->NumComp + j]) +
377 this->Output[outId * this->NumComp + j] = s;
381 template <
typename IdTypeT>
384 for (
int j = 0; j < this->
NumComp; ++j)
386 this->Output[outId * this->NumComp + j] = std::to_string(this->NullValue);
393 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
395 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
398 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
400 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
404 this->Average<vtkIdType>(numPts, ids, outId);
409 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
413 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
416 #ifdef VTK_USE_64BIT_IDS
417 void Copy(
unsigned int inId,
unsigned int outId)
override
419 this->Copy<unsigned int>(inId, outId);
422 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
424 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
427 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
429 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
431 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
433 this->Average<unsigned int>(numPts, ids, outId);
436 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
438 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
440 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
442 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
444 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
446 void Copy(
unsigned short inId,
unsigned short outId)
override
448 this->Copy<unsigned short>(inId, outId);
451 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
453 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
456 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
458 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
460 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
462 this->Average<unsigned short>(numPts, ids, outId);
465 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
467 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
470 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
472 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
476 this->AssignNullValue<unsigned short>(outId);
489 template <
typename TInput,
typename TOutput>
506 template <
typename IdTypeT>
507 void Copy(IdTypeT inId, IdTypeT outId)
509 for (
int j = 0; j < this->
NumComp; ++j)
511 this->Output[outId * this->NumComp + j] =
512 static_cast<TOutput
>(this->Input[inId * this->NumComp + j]);
516 template <
typename IdTypeT>
517 void Interpolate(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
519 for (
int j = 0; j < this->
NumComp; ++j)
522 for (
int i = 0; i < numWeights; ++i)
524 v += weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
526 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
530 template <
typename IdTypeT>
531 void InterpolateOutput(
int numWeights,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
533 for (
int j = 0; j < this->
NumComp; ++j)
536 for (
int i = 0; i < numWeights; ++i)
538 v += weights[i] *
static_cast<double>(this->Output[ids[i] * this->NumComp + j]);
540 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
544 template <
typename IdTypeT>
545 void Average(
int numPts,
const IdTypeT* ids, IdTypeT outId)
547 for (
int j = 0; j < this->
NumComp; ++j)
550 for (
int i = 0; i < numPts; ++i)
552 v +=
static_cast<double>(this->Input[ids[i] * this->NumComp + j]);
554 v /=
static_cast<double>(numPts);
555 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
559 template <
typename IdTypeT>
560 void WeightedAverage(
int numPts,
const IdTypeT* ids,
const double* weights, IdTypeT outId)
562 for (
int j = 0; j < this->
NumComp; ++j)
565 for (
int i = 0; i < numPts; ++i)
567 v += (weights[i] *
static_cast<double>(this->Input[ids[i] * this->NumComp + j]));
569 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
573 template <
typename IdTypeT>
577 for (
int j = 0; j < this->
NumComp; ++j)
579 v = this->Input[v0 * this->NumComp + j] +
580 t * (this->Input[v1 * this->NumComp + j] - this->Input[v0 * this->NumComp + j]);
581 this->Output[outId * this->NumComp + j] =
static_cast<TOutput
>(v);
585 template <
typename IdTypeT>
588 for (
int j = 0; j < this->
NumComp; ++j)
590 this->Output[outId * this->NumComp + j] = this->
NullValue;
597 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
599 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
602 int numWeights,
const vtkIdType* ids,
const double* weights,
vtkIdType outId)
override
604 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
608 this->Average<vtkIdType>(numPts, ids, outId);
613 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
617 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
620 #ifdef VTK_USE_64BIT_IDS
621 void Copy(
unsigned int inId,
unsigned int outId)
override
623 this->Copy<unsigned int>(inId, outId);
626 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
628 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
631 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
633 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
635 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
override
637 this->Average<unsigned int>(numPts, ids, outId);
640 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
override
642 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
644 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
override
646 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
648 void AssignNullValue(
unsigned int outId)
override { this->AssignNullValue<unsigned int>(outId); }
650 void Copy(
unsigned short inId,
unsigned short outId)
override
652 this->Copy<unsigned short>(inId, outId);
655 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
657 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
660 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
662 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
664 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
override
666 this->Average<unsigned short>(numPts, ids, outId);
669 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
override
671 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
674 unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
override
676 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
680 this->AssignNullValue<unsigned short>(outId);
694 template <
typename T>
696 ArrayList* list, T* inData, T* outData,
vtkIdType numTuples,
int numComp, T nullValue);
708 double nullValue = 0.0,
vtkTypeBool promote =
true);
728 for (
auto& array : this->Arrays)
735 template <
typename TIdType>
736 void Copy(TIdType inId, TIdType outId)
738 for (
auto& array : this->Arrays)
740 array->Copy(inId, outId);
744 template <
typename TIdType>
745 void Interpolate(
int numWeights,
const TIdType* ids,
const double* weights, TIdType outId)
747 for (
auto& array : this->Arrays)
749 array->Interpolate(numWeights, ids, weights, outId);
753 template <
typename TIdType>
754 void InterpolateOutput(
int numWeights,
const TIdType* ids,
const double* weights, TIdType outId)
756 for (
auto& array : this->Arrays)
758 array->InterpolateOutput(numWeights, ids, weights, outId);
762 template <
typename TIdType>
763 void Average(
int numPts,
const TIdType* ids, TIdType outId)
765 for (
auto& array : this->Arrays)
767 array->Average(numPts, ids, outId);
771 template <
typename TIdType>
772 void WeightedAverage(
int numPts,
const TIdType* ids,
const double* weights, TIdType outId)
774 for (
auto& array : this->Arrays)
776 array->WeightedAverage(numPts, ids, weights, outId);
780 template <
typename TIdType>
783 for (
auto& array : this->Arrays)
785 array->InterpolateEdge(v0, v1, t, outId);
789 template <
typename TIdType>
792 for (
auto& array : this->Arrays)
794 array->AssignNullValue(outId);
809 this->Interpolate<vtkIdType>(numWeights, ids, weights, outId);
817 this->InterpolateOutput<vtkIdType>(numWeights, ids, weights, outId);
824 this->Average<vtkIdType>(numPts, ids, outId);
831 this->WeightedAverage<vtkIdType>(numPts, ids, weights, outId);
838 this->InterpolateEdge<vtkIdType>(v0, v1, t, outId);
844 #ifdef VTK_USE_64BIT_IDS
849 void Copy(
unsigned int inId,
unsigned int outId) { this->Copy<unsigned int>(inId, outId); }
854 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
856 this->Interpolate<unsigned int>(numWeights, ids, weights, outId);
862 int numWeights,
const unsigned int* ids,
const double* weights,
unsigned int outId)
864 this->InterpolateOutput<unsigned int>(numWeights, ids, weights, outId);
869 void Average(
int numPts,
const unsigned int* ids,
unsigned int outId)
871 this->Average<unsigned int>(numPts, ids, outId);
877 int numPts,
const unsigned int* ids,
const double* weights,
unsigned int outId)
879 this->WeightedAverage<unsigned int>(numPts, ids, weights, outId);
884 void InterpolateEdge(
unsigned int v0,
unsigned int v1,
double t,
unsigned int outId)
886 this->InterpolateEdge<unsigned int>(v0, v1, t, outId);
891 void AssignNullValue(
unsigned int outId) { this->AssignNullValue<unsigned int>(outId); }
897 void Copy(
unsigned short inId,
unsigned short outId) { this->Copy<unsigned short>(inId, outId); }
902 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
904 this->Interpolate<unsigned short>(numWeights, ids, weights, outId);
910 int numWeights,
const unsigned short* ids,
const double* weights,
unsigned short outId)
912 this->InterpolateOutput<unsigned short>(numWeights, ids, weights, outId);
917 void Average(
int numPts,
const unsigned short* ids,
unsigned short outId)
919 this->Average<unsigned short>(numPts, ids, outId);
925 int numPts,
const unsigned short* ids,
const double* weights,
unsigned short outId)
927 this->WeightedAverage<unsigned short>(numPts, ids, weights, outId);
932 void InterpolateEdge(
unsigned short v0,
unsigned short v1,
double t,
unsigned short outId)
934 this->InterpolateEdge<unsigned short>(v0, v1, t, outId);
939 void AssignNullValue(
unsigned short outId) { this->AssignNullValue<unsigned short>(outId); }
946 for (
auto& array : this->Arrays)
958 VTK_ABI_NAMESPACE_END
959 #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
Wrapper around std::string to keep symbols short.
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.
vtkAbstractArray * AddArrayPair(vtkIdType numTuples, vtkAbstractArray *inArray, vtkStdString &outArrayName, double nullValue, vtkTypeBool promote)
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 Copy(vtkIdType inId, vtkIdType outId) override
void Interpolate(int numWeights, const unsigned short *ids, const double *weights, unsigned short outId) override
void Interpolate(int numWeights, const IdTypeT *ids, const double *vtkNotUsed(weights), IdTypeT outId)
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 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 InterpolateOutput(int vtkNotUsed(numWeights), const IdTypeT *vtkNotUsed(ids), const double *vtkNotUsed(weights), IdTypeT vtkNotUsed(outId))
void Copy(IdTypeT inId, IdTypeT outId)
void InterpolateEdge(IdTypeT v0, IdTypeT v1, double vtkNotUsed(t), IdTypeT outId)
void WeightedAverage(int numPts, const IdTypeT *ids, const double *vtkNotUsed(weights), 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 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)