VTK  9.4.20250309
vtkCPExodusIINodalCoordinatesTemplate.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
15#ifndef vtkCPExodusIINodalCoordinatesTemplate_h
16#define vtkCPExodusIINodalCoordinatesTemplate_h
17
18#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_5_0
19#include "vtkIOExodusModule.h" // For export macro
20#include "vtkMappedDataArray.h"
21
22#include "vtkObjectFactory.h" // for vtkStandardNewMacro
23
24VTK_ABI_NAMESPACE_BEGIN
25template <class Scalar>
27 "Please use the SetArray functionality of `vtkSOADataArrayTemplate` instead.")
29{
30public:
34 Scalar>) static vtkCPExodusIINodalCoordinatesTemplate* New();
35 void PrintSelf(ostream& os, vtkIndent indent) override;
36
37 typedef typename Superclass::ValueType ValueType;
38
43 void SetExodusScalarArrays(Scalar* x, Scalar* y, Scalar* z, vtkIdType numPoints);
44
45 // Reimplemented virtuals -- see superclasses for descriptions:
46 void Initialize() override;
47 void GetTuples(vtkIdList* ptIds, vtkAbstractArray* output) override;
48 void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray* output) override;
49 void Squeeze() override;
50 VTK_NEWINSTANCE vtkArrayIterator* NewIterator() override;
51 vtkIdType LookupValue(vtkVariant value) override;
52 void LookupValue(vtkVariant value, vtkIdList* ids) override;
53 vtkVariant GetVariantValue(vtkIdType idx) override;
54 void ClearLookup() override;
55 double* GetTuple(vtkIdType i) override;
56 void GetTuple(vtkIdType i, double* tuple) override;
57 vtkIdType LookupTypedValue(Scalar value) override;
58 void LookupTypedValue(Scalar value, vtkIdList* ids) override;
59 ValueType GetValue(vtkIdType idx) const override;
60 ValueType& GetValueReference(vtkIdType idx) override;
61 void GetTypedTuple(vtkIdType idx, Scalar* t) const override;
62
64
68 vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext) override;
69 vtkTypeBool Resize(vtkIdType numTuples) override;
70 void SetNumberOfTuples(vtkIdType number) override;
71 void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source) override;
72 void SetTuple(vtkIdType i, const float* source) override;
73 void SetTuple(vtkIdType i, const double* source) override;
74 void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source) override;
75 void InsertTuple(vtkIdType i, const float* source) override;
76 void InsertTuple(vtkIdType i, const double* source) override;
77 void InsertTuples(vtkIdList* dstIds, vtkIdList* srcIds, vtkAbstractArray* source) override;
78 void InsertTuplesStartingAt(
79 vtkIdType dstStart, vtkIdList* srcIds, vtkAbstractArray* source) override;
80 void InsertTuples(
81 vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray* source) override;
82 vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray* source) override;
83 vtkIdType InsertNextTuple(const float* source) override;
84 vtkIdType InsertNextTuple(const double* source) override;
85 void DeepCopy(vtkAbstractArray* aa) override;
86 void DeepCopy(vtkDataArray* da) override;
87 void InterpolateTuple(
88 vtkIdType i, vtkIdList* ptIndices, vtkAbstractArray* source, double* weights) override;
89 void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray* source1, vtkIdType id2,
90 vtkAbstractArray* source2, double t) override;
91 void SetVariantValue(vtkIdType idx, vtkVariant value) override;
92 void InsertVariantValue(vtkIdType idx, vtkVariant value) override;
93 void RemoveTuple(vtkIdType id) override;
94 void RemoveFirstTuple() override;
95 void RemoveLastTuple() override;
96 void SetTypedTuple(vtkIdType i, const Scalar* t) override;
97 void InsertTypedTuple(vtkIdType i, const Scalar* t) override;
98 vtkIdType InsertNextTypedTuple(const Scalar* t) override;
99 void SetValue(vtkIdType idx, Scalar value) override;
100 vtkIdType InsertNextValue(Scalar v) override;
101 void InsertValue(vtkIdType idx, Scalar v) override;
103
104protected:
107
108 Scalar* XArray;
109 Scalar* YArray;
110 Scalar* ZArray;
111
112private:
114 void operator=(const vtkCPExodusIINodalCoordinatesTemplate&) = delete;
115
116 vtkIdType Lookup(const Scalar& val, vtkIdType startIndex);
117 double* TempDoubleArray;
118};
119
120VTK_ABI_NAMESPACE_END
121#include "vtkCPExodusIINodalCoordinatesTemplate.txx"
122
123#endif // vtkCPExodusIINodalCoordinatesTemplate_h
124
125// VTK-HeaderTest-Exclude: vtkCPExodusIINodalCoordinatesTemplate.h
Abstract superclass for all arrays.
Abstract superclass to iterate over elements in an vtkAbstractArray.
Map native Exodus II coordinate arrays into the vtkDataArray interface.
vtkAbstractTemplateTypeMacro(vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkMappedDataArray< Scalar >) vtkMappedDataArrayNewInstanceMacro(vtkCPExodusIINodalCoordinatesTemplate< Scalar >) static vtkCPExodusIINodalCoordinatesTemplate *New()
abstract superclass for arrays of numeric data
list of point or cell ids
Definition vtkIdList.h:133
a simple class to control print indentation
Definition vtkIndent.h:108
Map non-contiguous data structures into the vtkDataArray API.
A type representing the union of many types.
Definition vtkVariant.h:162
int vtkTypeBool
Definition vtkABI.h:64
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_DEPRECATED_IN_9_5_0(reason)
#define vtkMappedDataArrayNewInstanceMacro(thisClass)
int vtkIdType
Definition vtkType.h:332
#define VTK_NEWINSTANCE