VTK  9.4.20241222
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
21VTK_ABI_NAMESPACE_BEGIN
23class vtkStringArray;
25
26class VTKIOXDMF2_EXPORT vtkSILBuilder : public vtkObject
27{
28public:
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
62protected:
64 ~vtkSILBuilder() override;
65
69
71
72private:
73 vtkSILBuilder(const vtkSILBuilder&) = delete;
74 void operator=(const vtkSILBuilder&) = delete;
75};
76
77VTK_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.
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.
vtkIdType AddCrossEdge(vtkIdType src, vtkIdType dst)
Add vertex, child-edge or cross-edge to the graph.
static vtkSILBuilder * New()
vtkStringArray * NamesArray
void SetSIL(vtkMutableDirectedGraph *)
Get/Set the graph to populate.
vtkMutableDirectedGraph * SIL
vtkUnsignedCharArray * CrossEdgesArray
void Initialize()
Initializes the data-structures.
vtkIdType RootVertex
~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
int vtkIdType
Definition vtkType.h:315