18#ifndef vtkStructuredPointArray_h
19#define vtkStructuredPointArray_h
21#include "vtkCommonCoreModule.h"
27VTK_ABI_NAMESPACE_BEGIN
28template <
class ValueTypeT>
32 vtkArrayTypes::VTK_STRUCTURED_POINT_ARRAY>
47 using typename Superclass::ValueType;
57#if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
74 int extent[6],
int dataDescription,
double dirMatrix[9]);
76 int extent[6],
int dataDescription);
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();
123VTK_ABI_NAMESPACE_BEGIN
130template <
typename ValueTypeT>
133 int dataDescription,
double dirMatrix[9]);
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
179#pragma warning(disable : 4910)
181VTK_ABI_NAMESPACE_BEGIN
187VTK_ABI_NAMESPACE_BEGIN
218#elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
222#pragma warning(disable : 4091)
225#pragma warning(disable : 4231)
238#pragma warning(disable : 4910)
242VTK_ABI_NAMESPACE_BEGIN
Abstract superclass for all arrays.
std::integral_constant< int, VTK_OPAQUE > DataTypeTag
std::integral_constant< int, vtkArrayTypes::VTK_ABSTRACT_ARRAY > ArrayTypeTag
Hold a reference to a vtkObjectBase instance.
A structured point array used by vtkCartesianGrid subclasses.
static vtkStructuredPointArray< ValueType > * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
vtkStructuredPointArray< ValueTypeT > SelfType
vtkDataArray * GetZCoordinates()
Get the coordinate arrays used to construct the backend.
void ConstructBackend(vtkDataArray *xCoords, vtkDataArray *yCoords, vtkDataArray *zCoords, int extent[6], int dataDescription)
Set the parameters for the strided backend.
~vtkStructuredPointArray() override=default
bool GetUsesDirectionMatrix()
Return true if a non-identity direction matrix is being used.
vtkDataArray * GetXCoordinates()
Get the coordinate arrays used to construct the backend.
void ConstructBackend(vtkDataArray *xCoords, vtkDataArray *yCoords, vtkDataArray *zCoords, int extent[6], int dataDescription, double dirMatrix[9])
Set the parameters for the strided backend.
vtkDataArray * GetYCoordinates()
Get the coordinate arrays used to construct the backend.
static vtkStructuredPointArray * New()
vtkStructuredPointArray()=default
vtkImplicitArrayTypeMacro(SelfType, ImplicitArrayType)
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
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 vtkArrayDownCast_TemplateFastCastMacro(ArrayT)
Same as vtkArrayDownCast_FastCastMacro, but treats ArrayT as a single-parameter template (the paramet...
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType)
#define vtkCreateImplicitWrappedArrayInterface(T)
#define vtkExternTemplateMacro(decl)
A macro to declare extern templates for all numerical types.
#define vtkInstantiateTemplateMacro(decl)
A macro to instantiate a template over all numerical types.
@ VTK_STRUCTURED_POINT_ARRAY