VTK  9.1.0
vtkAbstractCellLinks.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAbstractCellLinks.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
31#ifndef vtkAbstractCellLinks_h
32#define vtkAbstractCellLinks_h
33
34#include "vtkCommonDataModelModule.h" // For export macro
35#include "vtkObject.h"
36
37class vtkDataSet;
38class vtkCellArray;
39class vtkIdList;
40
41class VTKCOMMONDATAMODEL_EXPORT vtkAbstractCellLinks : public vtkObject
42{
43public:
45
49 void PrintSelf(ostream& os, vtkIndent indent) override;
51
55 virtual void BuildLinks(vtkDataSet* data) = 0;
56
60 virtual void Initialize() = 0;
61
65 virtual void Squeeze() = 0;
66
70 virtual void Reset() = 0;
71
80 virtual unsigned long GetActualMemorySize() = 0;
81
86 virtual void DeepCopy(vtkAbstractCellLinks* src) = 0;
87
88 // Enums for cell links type. Note that the specialized type is
89 // set when users do not use ComputeType() and roll their own type.
91 {
92 LINKS_NOT_DEFINED = 0,
93 CELL_LINKS = 1,
94 STATIC_CELL_LINKS_USHORT = 2,
95 STATIC_CELL_LINKS_UINT = 3,
96 STATIC_CELL_LINKS_IDTYPE = 4,
97 STATIC_CELL_LINKS_SPECIALIZED = 5
98 };
99
111 static int ComputeType(vtkIdType maxPtId, vtkIdType maxCellId, vtkCellArray* ca);
112
116 int GetType() { return this->Type; }
117
132
139 virtual void SelectCells(vtkIdType minMaxDegree[2], unsigned char* cellSelection) = 0;
141
143
151 vtkSetMacro(SequentialProcessing, bool);
152 vtkGetMacro(SequentialProcessing, bool);
153 vtkBooleanMacro(SequentialProcessing, bool);
155
156protected:
159
160 bool SequentialProcessing; // control whether to thread or not
161 int Type; // derived classes set this instance variable when constructed
162
163private:
165 void operator=(const vtkAbstractCellLinks&) = delete;
166};
167
168#endif
object to represent cell connectivity
Definition: vtkCellArray.h:290
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:82
int vtkIdType
Definition: vtkType.h:332