17 #ifndef vtkPeriodicDataArray_h
18 #define vtkPeriodicDataArray_h
24 VTK_ABI_NAMESPACE_BEGIN
25 template <
class Scalar>
38 using typename Superclass::ArrayTypeTag;
39 using typename Superclass::DataTypeTag;
40 using typename Superclass::ValueType;
93 void ClearLookup() override;
104 void GetTuple(
vtkIdType i,
double* tuple) override;
109 vtkIdType LookupTypedValue(Scalar value) override;
114 void LookupTypedValue(Scalar value,
vtkIdList* ids) override;
133 void GetTypedTuple(
vtkIdType idx, Scalar* t) const;
145 unsigned long GetActualMemorySize() const override;
155 void SetNumberOfTuples(
vtkIdType number) override;
195 void InsertTuplesStartingAt(
232 void InterpolateTuple(
259 void RemoveFirstTuple() override;
264 void SetTypedTuple(
vtkIdType i, const Scalar* t);
269 void SetTypedComponent(
vtkIdType t,
int c, Scalar v);
274 void InsertTypedTuple(
vtkIdType i, const Scalar* t);
279 vtkIdType InsertNextTypedTuple(const Scalar* t);
284 void SetValue(
vtkIdType idx, Scalar value);
294 void InsertValue(
vtkIdType idx, Scalar v);
300 vtkSetMacro(Normalize,
bool);
301 vtkGetMacro(Normalize,
bool);
306 ~vtkPeriodicDataArray() override;
312 bool ReallocateTuples(
vtkIdType numTuples);
318 virtual
void Transform(Scalar* tuple) const = 0;
328 bool ComputeScalarRange(
double*
range) override;
333 bool ComputeVectorRange(
double range[2]) override;
338 bool ComputeFiniteScalarRange(
double*
range) override;
343 bool ComputeFiniteVectorRange(
double range[2]) override;
348 virtual
void ComputePeriodicRange(
bool finite = false);
353 void InvalidateRange();
358 vtkPeriodicDataArray(const vtkPeriodicDataArray&) = delete;
359 void operator=(const vtkPeriodicDataArray&) = delete;
363 Scalar* TempScalarArray;
364 double* TempDoubleArray;
368 bool InvalidRange = true;
369 double PeriodicRange[6];
370 bool InvalidFiniteRange = true;
371 double PeriodicFiniteRange[6];
377 VTK_ABI_NAMESPACE_END
378 #include "vtkPeriodicDataArray.txx"
380 #endif // vtkPeriodicDataArray_h
abstract base class for most VTK objects
Abstract superclass for all arrays.
virtual void Initialize()
Release storage and reset array to initial state.
void Squeeze() override
Free any unnecessary memory.
Base interface for all typed vtkDataArray subclasses.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
A type representing the union of many types.
Map native an Array into an angulat periodic array.
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
Abstract superclass to iterate over elements in an vtkAbstractArray.
vtkTemplateTypeMacro(SelfType, vtkDataArray)
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void GetTuples(vtkIdList *tupleIds, vtkAbstractArray *output) override
Given a list of tuple ids, return an array of tuples.
A filter to produce mapped angular periodic multiblock dataset from a single block, by rotation.
vtkArrayDownCast_TemplateFastCastMacro(vtkPeriodicDataArray)
std::integral_constant< int, vtkArrayTypes::VTK_ABSTRACT_ARRAY > ArrayTypeTag
#define VTK_DEPRECATED_IN_9_7_0(reason)