VTK  9.7.1
vtkStaticCellLinks.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
34 #ifndef vtkStaticCellLinks_h
35 #define vtkStaticCellLinks_h
36 
37 #include "vtkAbstractCellLinks.h"
38 #include "vtkCommonDataModelModule.h" // For export macro
39 #include "vtkStaticCellLinksTemplate.h" // For implementations
40 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
41 
42 VTK_ABI_NAMESPACE_BEGIN
43 class vtkDataSet;
44 class vtkCellArray;
45 
46 class VTKCOMMONDATAMODEL_EXPORT VTK_MARSHALAUTO vtkStaticCellLinks : public vtkAbstractCellLinks
47 {
48 public:
50 
53  static vtkStaticCellLinks* New();
55  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
61  void BuildLinks() override;
62 
66  vtkIdType GetNumberOfCells(vtkIdType ptId) { return this->Impl->GetNumberOfCells(ptId); }
67 
72  vtkIdType GetNcells(vtkIdType ptId) VTK_FUTURE_CONST
73  {
74  return this->Impl->GetNumberOfCells(ptId);
75  }
76 
80  vtkIdType* GetCells(vtkIdType ptId) { return this->Impl->GetCells(ptId); }
81 
83 
90  void SelectCells(vtkIdType minMaxDegree[2], unsigned char* cellSelection) override
91  {
92  this->Impl->SelectCells(minMaxDegree, cellSelection);
93  }
95 
99  void Initialize() override
100  {
101  this->Impl->Initialize();
102  this->Modified();
103  }
104 
108  void Squeeze() override {}
109 
113  void Reset() override {}
114 
123  unsigned long GetActualMemorySize() override { return this->Impl->GetActualMemorySize(); }
124 
130  void DeepCopy(vtkAbstractCellLinks* src) override;
131 
137  void ShallowCopy(vtkAbstractCellLinks* src) override;
138 
139 protected:
141  ~vtkStaticCellLinks() override;
142 
144 
145 private:
146  vtkStaticCellLinks(const vtkStaticCellLinks&) = delete;
147  void operator=(const vtkStaticCellLinks&) = delete;
148 };
149 
150 VTK_ABI_NAMESPACE_END
151 #endif
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
int vtkIdType
Definition: vtkType.h:363
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void Modified()
Update the modification time for this object.
object to represent cell connectivity
Definition: vtkCellArray.h:177
#define VTK_MARSHALAUTO
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...