vtkAffineIdTypeArray.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
13 #ifndef vtkAffineIdTypeArray_h
14 #define vtkAffineIdTypeArray_h
15 
16 #include "vtkAffineArray.h" // Real Superclass
17 #include "vtkCommonCoreModule.h" // For export macro
18 #include "vtkDataArray.h"
19 
20 // Fake the superclass for the wrappers.
21 #ifndef __VTK_WRAP__
22 #define vtkDataArray vtkAffineArray<vtkIdType>
23 #endif
25 class VTKCOMMONCORE_EXPORT VTK_DEPRECATED_IN_9_6_0("Use vtkAffineType*Array instead") vtkAffineIdTypeArray : public vtkDataArray
26 {
27 public:
28  vtkImplicitArrayTypeMacro(vtkAffineIdTypeArray, vtkDataArray);
29 #ifndef __VTK_WRAP__
30 #undef vtkDataArray
31 #endif
32 
33  static vtkAffineIdTypeArray* New();
34  static vtkAffineIdTypeArray* ExtendedNew();
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
37  // This macro expands to the set of method declarations that
38  // make up the interface of vtkImplicitArray, which is ignored
39  // by the wrappers.
40 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
41  vtkCreateReadOnlyWrappedArrayInterface(vtkIdType);
42 #endif
43 
47  static vtkAffineIdTypeArray* FastDownCast(vtkAbstractArray* source)
48  {
49  return static_cast<vtkAffineIdTypeArray*>(Superclass::FastDownCast(source));
50  }
51 
58  void ConstructBackend(vtkIdType slope, vtkIdType intercept);
59 
60 protected:
61  vtkAffineIdTypeArray();
62  ~vtkAffineIdTypeArray() override;
63 
64 private:
65  typedef vtkAffineArray<vtkIdType> RealSuperclass;
66 
67  vtkAffineIdTypeArray(const vtkAffineIdTypeArray&) = delete;
68  void operator=(const vtkAffineIdTypeArray&) = delete;
69 };
70 
71 // Define vtkArrayDownCast implementation:
72 vtkArrayDownCast_FastCastMacro(vtkAffineIdTypeArray);
73 
74 VTK_ABI_NAMESPACE_END
75 #endif
76 // VTK-HeaderTest-Exclude: TYPEMACRO
#define VTKCOMMONCORE_EXPORT
#define VTK_ABI_NAMESPACE_BEGIN