18 #ifndef vtkStructuredPointArray_h
19 #define vtkStructuredPointArray_h
21 #include "vtkCommonCoreModule.h"
27 VTK_ABI_NAMESPACE_BEGIN
28 template <
class ValueTypeT>
32 vtkArrayTypes::VTK_STRUCTURED_POINT_ARRAY>
36 #else // Fake the superclass for the wrappers.
45 using typename Superclass::ArrayTypeTag;
46 using typename Superclass::DataTypeTag;
47 using typename Superclass::ValueType;
57 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
74 VTK_FUTURE_CONST
int extent[6],
int dataDescription,
double dirMatrix[9]);
76 VTK_FUTURE_CONST
int extent[6],
int dataDescription);
91 bool GetUsesDirectionMatrix();
105 VTK_ABI_NAMESPACE_END
110 #define vtkCreateStructuredPointWrappedArrayInterface(T) \
111 vtkCreateImplicitWrappedArrayInterface(T); \
112 void ConstructBackend(vtkDataArray* xCoords, vtkDataArray* yCoords, vtkDataArray* zCoords, \
113 int extent[6], int dataDescription, double dirMatrix[9]); \
114 void ConstructBackend(vtkDataArray* xCoords, vtkDataArray* yCoords, vtkDataArray* zCoords, \
115 int extent[6], int dataDescription); \
116 vtkDataArray* GetXCoordinates(); \
117 vtkDataArray* GetYCoordinates(); \
118 vtkDataArray* GetZCoordinates(); \
119 bool GetUsesDirectionMatrix();
123 VTK_ABI_NAMESPACE_BEGIN
130 template <
typename ValueTypeT>
133 int dataDescription,
double dirMatrix[9]);
134 VTK_ABI_NAMESPACE_END
137 #endif // vtkStructuredPointArray_h
143 #ifdef VTK_STRUCTURED_POINT_ARRAY_INSTANTIATING
144 #define VTK_STRUCTURED_POINT_ARRAY_INSTANTIATE(T) \
145 namespace vtkDataArrayPrivate \
147 VTK_ABI_NAMESPACE_BEGIN \
148 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkStructuredPointArray<T>, double); \
149 VTK_ABI_NAMESPACE_END \
151 VTK_ABI_NAMESPACE_BEGIN \
152 template class VTKCOMMONCORE_EXPORT vtkStructuredPointArray<T>; \
153 VTK_ABI_NAMESPACE_END \
156 VTK_ABI_NAMESPACE_BEGIN \
157 template VTKCOMMONCORE_EXPORT vtkSmartPointer<vtkStructuredPointArray<T>> \
158 CreateStructuredPointArray(vtkDataArray* xCoords, vtkDataArray* yCoords, vtkDataArray* zCoords, \
159 int extent[6], int dataDescription, double dirMatrix[9]); \
160 VTK_ABI_NAMESPACE_END \
165 #define VTK_STRUCTURED_POINT_ARRAY_INSTANTIATE_VALUERANGE(T) \
166 namespace vtkDataArrayPrivate \
168 VTK_ABI_NAMESPACE_BEGIN \
169 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkStructuredPointArray<T>, T); \
170 VTK_ABI_NAMESPACE_END \
172 #elif defined(VTK_USE_EXTERN_TEMPLATE)
173 #ifndef VTK_STRUCTURED_POINT_ARRAY_EXTERN
174 #define VTK_STRUCTURED_POINT_ARRAY_EXTERN
176 #pragma warning(push)
179 #pragma warning(disable : 4910) // extern and dllexport incompatible
181 VTK_ABI_NAMESPACE_BEGIN
183 VTK_ABI_NAMESPACE_END
187 VTK_ABI_NAMESPACE_BEGIN
209 VTK_ABI_NAMESPACE_END
215 #endif // VTK_STRUCTURED_POINT_ARRAY_EXTERN
218 #elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
219 #pragma warning(push)
222 #pragma warning(disable : 4091)
225 #pragma warning(disable : 4231)
238 #pragma warning(disable : 4910) // extern and dllexport incompatible
242 VTK_ABI_NAMESPACE_BEGIN
244 VTK_ABI_NAMESPACE_END
vtkArrayDownCast_TemplateFastCastMacro(vtkStructuredPointArray)
Abstract superclass for all arrays.
vtkImplicitArrayTypeMacro(SelfType, GenericDataArrayType)
vtkSmartPointer< vtkStructuredPointArray< ValueTypeT > > CreateStructuredPointArray(vtkDataArray *xCoords, vtkDataArray *yCoords, vtkDataArray *zCoords, int extent[6], int dataDescription, double dirMatrix[9])
Create an implicit point array from the given coordinates and direction matrix which is optional...
#define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType)
Hold a reference to a vtkObjectBase instance.
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
Base interface for all typed vtkDataArray subclasses.
vtkInstantiateTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkArrayIteratorTemplate)
vtkExternTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkStructuredPointArray)
abstract superclass for arrays of numeric data
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
A read only array class that wraps an implicit function from integers to any value type supported by ...
A structured point array used by vtkCartesianGrid subclasses.
#define vtkCreateImplicitWrappedArrayInterface(T)
static vtkImplicitArray * New()
void ConstructBackend(Params &&...params)
Utility method for setting backend parameterization directly.
static vtkStructuredPointArray< ValueType > * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.