vtkIndexedIdTypeArray.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 vtkIndexedIdTypeArray_h
14 #define vtkIndexedIdTypeArray_h
15 
16 #include "vtkIndexedArray.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 vtkIndexedArray<vtkIdType>
23 #endif
26 {
27 public:
28  vtkImplicitArrayTypeMacro(vtkIndexedIdTypeArray, vtkDataArray);
29 #ifndef __VTK_WRAP__
30 #undef vtkDataArray
31 #endif
32 
33  static vtkIndexedIdTypeArray* New();
34  static vtkIndexedIdTypeArray* 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 
48  {
49  return static_cast<vtkIndexedIdTypeArray*>(Superclass::FastDownCast(source));
50  }
51 
53 
56  void ConstructBackend(vtkIdList* indexes, vtkDataArray* array);
57  void ConstructBackend(vtkDataArray* indexes, vtkDataArray* array);
59 
60 protected:
62  ~vtkIndexedIdTypeArray() override;
63 
64 private:
65  typedef vtkIndexedArray<vtkIdType> RealSuperclass;
66 
68  void operator=(const vtkIndexedIdTypeArray&) = delete;
69 };
70 
71 // Define vtkArrayDownCast implementation:
73 
75 #endif
76 // VTK-HeaderTest-Exclude: TYPEMACRO
vtkArrayDownCast_FastCastMacro(vtkIndexedIdTypeArray)
#define VTKCOMMONCORE_EXPORT
#define VTK_ABI_NAMESPACE_END
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
int vtkIdType
indexed implicit array of vtkIdType.
#define VTK_ABI_NAMESPACE_BEGIN
static vtkIndexedIdTypeArray * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
static vtkObject * New()
void operator=(const vtkObjectBase &)