VTK  9.3.20240418
vtkSILBuilder.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
15 #ifndef vtkSILBuilder_h
16 #define vtkSILBuilder_h
17 
18 #include "vtkIOXdmf2Module.h" // For export macro
19 #include "vtkObject.h"
20 
21 VTK_ABI_NAMESPACE_BEGIN
23 class vtkStringArray;
25 
26 class VTKIOXDMF2_EXPORT vtkSILBuilder : public vtkObject
27 {
28 public:
29  static vtkSILBuilder* New();
30  vtkTypeMacro(vtkSILBuilder, vtkObject);
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
38  vtkGetObjectMacro(SIL, vtkMutableDirectedGraph);
40 
44  void Initialize();
45 
47 
50  vtkIdType AddVertex(const char* name);
54 
56 
59  vtkGetMacro(RootVertex, vtkIdType);
61 
62 protected:
64  ~vtkSILBuilder() override;
65 
69 
71 
72 private:
73  vtkSILBuilder(const vtkSILBuilder&) = delete;
74  void operator=(const vtkSILBuilder&) = delete;
75 };
76 
77 VTK_ABI_NAMESPACE_END
78 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
An editable directed graph.
abstract base class for most VTK objects
Definition: vtkObject.h:162
helper class to build a SIL i.e.
Definition: vtkSILBuilder.h:27
vtkIdType AddChildEdge(vtkIdType parent, vtkIdType child)
Add vertex, child-edge or cross-edge to the graph.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkSILBuilder * New()
vtkIdType AddCrossEdge(vtkIdType src, vtkIdType dst)
Add vertex, child-edge or cross-edge to the graph.
vtkStringArray * NamesArray
Definition: vtkSILBuilder.h:66
void SetSIL(vtkMutableDirectedGraph *)
Get/Set the graph to populate.
vtkMutableDirectedGraph * SIL
Definition: vtkSILBuilder.h:68
vtkUnsignedCharArray * CrossEdgesArray
Definition: vtkSILBuilder.h:67
void Initialize()
Initializes the data-structures.
vtkIdType RootVertex
Definition: vtkSILBuilder.h:70
~vtkSILBuilder() override
vtkIdType AddVertex(const char *name)
Add vertex, child-edge or cross-edge to the graph.
a vtkAbstractArray subclass for strings
dynamic, self-adjusting array of unsigned char
@ name
Definition: vtkX3D.h:219
int vtkIdType
Definition: vtkType.h:315