VTK  9.7.1
vtkDoubleArray.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
18 #ifndef vtkDoubleArray_h
19 #define vtkDoubleArray_h
20 
21 #include "vtkAOSDataArrayTemplate.h" // Real Superclass
22 #include "vtkCommonCoreModule.h" // For export macro
23 #include "vtkDataArray.h"
24 
25 // Fake the superclass for non-Python wrappers.
26 // Python can handle the templated superclass; Java and others cannot.
27 #if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_PYTHON__) || defined(__VTK_WRAP_HIERARCHY__)
28 #define vtkDataArray vtkAOSDataArrayTemplate<double>
29 #endif
30 VTK_ABI_NAMESPACE_BEGIN
31 class VTKCOMMONCORE_EXPORT vtkDoubleArray : public vtkDataArray
32 {
33 public:
34  vtkTypeMacro(vtkDoubleArray, vtkDataArray);
35 #if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_PYTHON__) || defined(__VTK_WRAP_HIERARCHY__)
36 #undef vtkDataArray
37 #endif
38  static vtkDoubleArray* New();
39  static vtkDoubleArray* ExtendedNew();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
42  // This macro expands to the set of method declarations that
43  // make up the interface of vtkAOSDataArrayTemplate, which is ignored
44  // by the wrappers.
45 #if (defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)) && !defined(__VTK_WRAP_PYTHON__)
47 #endif
48 
53  {
54  return static_cast<vtkDoubleArray*>(Superclass::FastDownCast(source));
55  }
56 
57 protected:
59  ~vtkDoubleArray() override;
60 
61 private:
62  typedef vtkAOSDataArrayTemplate<double> RealSuperclass;
63 
64  vtkDoubleArray(const vtkDoubleArray&) = delete;
65  void operator=(const vtkDoubleArray&) = delete;
66 };
67 
68 // Define vtkArrayDownCast implementation:
70 
71 VTK_ABI_NAMESPACE_END
72 #endif
Abstract superclass for all arrays.
#define vtkCreateWrappedArrayInterface(T)
static vtkDoubleArray * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkArrayDownCast_FastCastMacro(vtkDoubleArray)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...