SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
10 #ifndef smtk_markup_Component_h
11 #define smtk_markup_Component_h
13 #include "smtk/markup/Exports.h"
15 #include "smtk/graph/ArcImplementation.h"
16 #include "smtk/graph/Component.h"
18 #include "nlohmann/json.hpp"
20 #include <type_traits>
34 template<
typename ArcTraits,
typename Constness,
typename Outgoingness>
45 struct GroupsToMembers;
46 struct LabelsToSubjects;
47 struct URLsToImportedData;
56 using Serialize = std::true_type;
57 using Index = std::size_t;
59 template<
typename... Args>
67 virtual void initialize(
const nlohmann::json& data, smtk::resource::json::Helper& helper);
70 Component::Index index()
const;
73 std::string name()
const override;
76 bool setName(
const std::string& name);
112 #endif // smtk_markup_Component_h
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
Graph Component represents a node in the graph resource.
Definition: Component.h:62
For endpoint interfaces, provide tag classes used to select incoming or outgoing APIs.
Definition: ArcImplementation.h:35
Definition: Component.h:50
An object that a node instance can present to access/edit its outgoing/incoming arcs.
Definition: ArcImplementation.h:45
For endpoint interfaces, provide tag classes used to select const or non-const APIs.
Definition: ArcImplementation.h:27
#define smtkTypeMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:51
static const Component::Index type_index
A unique integer corresponding to the component type.
Definition: Component.h:79
#define smtkSuperclassMacro(...)
Add a typedef to the superclass of this class.
Definition: SharedFromThis.h:87
Definition: Component.cxx:23