vtkAffineUnsignedIntArray.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 vtkAffineUnsignedIntArray_h
14 #define vtkAffineUnsignedIntArray_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<unsigned int>
23 #endif
25 class VTKCOMMONCORE_EXPORT VTK_DEPRECATED_IN_9_6_0("Use vtkAffineType*Array instead") vtkAffineUnsignedIntArray : public vtkDataArray
26 {
27 public:
28  vtkImplicitArrayTypeMacro(vtkAffineUnsignedIntArray, vtkDataArray);
29 #ifndef __VTK_WRAP__
30 #undef vtkDataArray
31 #endif
32 
33  static vtkAffineUnsignedIntArray* New();
34  static vtkAffineUnsignedIntArray* 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(unsigned int);
42 #endif
43 
47  static vtkAffineUnsignedIntArray* FastDownCast(vtkAbstractArray* source)
48  {
49  return static_cast<vtkAffineUnsignedIntArray*>(Superclass::FastDownCast(source));
50  }
51 
58  void ConstructBackend(unsigned int slope, unsigned int intercept);
59 
60 protected:
61  vtkAffineUnsignedIntArray();
62  ~vtkAffineUnsignedIntArray() override;
63 
64 private:
65  typedef vtkAffineArray<unsigned int> RealSuperclass;
66 
67  vtkAffineUnsignedIntArray(const vtkAffineUnsignedIntArray&) = delete;
68  void operator=(const vtkAffineUnsignedIntArray&) = delete;
69 };
70 
71 // Define vtkArrayDownCast implementation:
72 vtkArrayDownCast_FastCastMacro(vtkAffineUnsignedIntArray);
73 
74 VTK_ABI_NAMESPACE_END
75 #endif
76 // VTK-HeaderTest-Exclude: TYPEMACRO
#define VTKCOMMONCORE_EXPORT
#define VTK_ABI_NAMESPACE_BEGIN