VTK  9.3.1
vtkUnsignedCharArray.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 vtkUnsignedCharArray_h
19 #define vtkUnsignedCharArray_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 the wrappers.
26 #ifndef __VTK_WRAP__
27 #define vtkDataArray vtkAOSDataArrayTemplate<unsigned char>
28 #endif
29 VTK_ABI_NAMESPACE_BEGIN
30 class VTKCOMMONCORE_EXPORT vtkUnsignedCharArray : public vtkDataArray
31 {
32 public:
34 #ifndef __VTK_WRAP__
35 #undef vtkDataArray
36 #endif
37  static vtkUnsignedCharArray* New();
38  static vtkUnsignedCharArray* ExtendedNew();
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
41  // This macro expands to the set of method declarations that
42  // make up the interface of vtkAOSDataArrayTemplate, which is ignored
43  // by the wrappers.
44 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
45  vtkCreateWrappedArrayInterface(unsigned char);
46 #endif
47 
52  {
53  return static_cast<vtkUnsignedCharArray*>(Superclass::FastDownCast(source));
54  }
55 
59  static unsigned char GetDataTypeValueMin() { return VTK_UNSIGNED_CHAR_MIN; }
60 
64  static unsigned char GetDataTypeValueMax() { return VTK_UNSIGNED_CHAR_MAX; }
65 
66 protected:
68  ~vtkUnsignedCharArray() override;
69 
70 private:
71  typedef vtkAOSDataArrayTemplate<unsigned char> RealSuperclass;
72 
74  void operator=(const vtkUnsignedCharArray&) = delete;
75 };
76 
77 // Define vtkArrayDownCast implementation:
79 
80 VTK_ABI_NAMESPACE_END
81 #endif
static vtkUnsignedCharArray * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
Abstract superclass for all arrays.
#define vtkCreateWrappedArrayInterface(T)
static unsigned char GetDataTypeValueMin()
Get the minimum data value in its native type.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_UNSIGNED_CHAR_MAX
Definition: vtkType.h:138
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 *)
dynamic, self-adjusting array of unsigned char
vtkArrayDownCast_FastCastMacro(vtkUnsignedCharArray)
#define VTK_UNSIGNED_CHAR_MIN
Definition: vtkType.h:137
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
static unsigned char GetDataTypeValueMax()
Get the maximum data value in its native type.