VTK: IO/Xdmf2/vtkSILBuilder.h Source File

| VTK 9.3.1

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
22 class vtkUnsignedCharArray;
23 class vtkStringArray;
24 class vtkMutableDirectedGraph;
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
37 void SetSIL(vtkMutableDirectedGraph*);
38 vtkGetObjectMacro(SIL, vtkMutableDirectedGraph);
40
44 void Initialize();
45
47
50 vtkIdType AddVertex(const char* name);
51 vtkIdType AddChildEdge(vtkIdType parent, vtkIdType child);
52 vtkIdType AddCrossEdge(vtkIdType src, vtkIdType dst);
54
56
59 vtkGetMacro(RootVertex, vtkIdType);
61
62 protected:
63 vtkSILBuilder();
64 ~vtkSILBuilder() override;
65
66 vtkStringArray* NamesArray;
67 vtkUnsignedCharArray* CrossEdgesArray;
68 vtkMutableDirectedGraph* SIL;
69
70 vtkIdType RootVertex;
71
72 private:
73 vtkSILBuilder(const vtkSILBuilder&) = delete;
74 void operator=(const vtkSILBuilder&) = delete;
75 };
76
77 VTK_ABI_NAMESPACE_END
78 #endif
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkMutableDirectedGraph
An editable directed graph.
Definition: vtkMutableDirectedGraph.h:46
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:61
vtkSILBuilder
helper class to build a SIL i.e.
Definition: vtkSILBuilder.h:27
vtkSILBuilder::AddChildEdge
vtkIdType AddChildEdge(vtkIdType parent, vtkIdType child)
Add vertex, child-edge or cross-edge to the graph.
vtkSILBuilder::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSILBuilder::New
static vtkSILBuilder * New()
vtkSILBuilder::AddCrossEdge
vtkIdType AddCrossEdge(vtkIdType src, vtkIdType dst)
Add vertex, child-edge or cross-edge to the graph.
vtkSILBuilder::NamesArray
vtkStringArray * NamesArray
Definition: vtkSILBuilder.h:66
vtkSILBuilder::SetSIL
void SetSIL(vtkMutableDirectedGraph *)
Get/Set the graph to populate.
vtkSILBuilder::vtkSILBuilder
vtkSILBuilder()
vtkSILBuilder::SIL
vtkMutableDirectedGraph * SIL
Definition: vtkSILBuilder.h:68
vtkSILBuilder::CrossEdgesArray
vtkUnsignedCharArray * CrossEdgesArray
Definition: vtkSILBuilder.h:67
vtkSILBuilder::Initialize
void Initialize()
Initializes the data-structures.
vtkSILBuilder::RootVertex
vtkIdType RootVertex
Definition: vtkSILBuilder.h:70
vtkSILBuilder::~vtkSILBuilder
~vtkSILBuilder() override
vtkSILBuilder::AddVertex
vtkIdType AddVertex(const char *name)
Add vertex, child-edge or cross-edge to the graph.
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:41
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:40
vtkX3D::name
@ name
Definition: vtkX3D.h:219
vtkObject.h
vtkIdType
int vtkIdType
Definition: vtkType.h:315