2#include "Engine/Network/NodeAlias.h"
3#include "Engine/Network/NodeType.h"
16 std::string constructor;
28using NodeImplementation = std::variant<CppImplementation, AliasImplementation>;
63 const NodeImplementation& getImplementation()
const {
return implementation_; }
72 return parameterValues_;
87 NodeImplementation implementation_;
88 std::map<std::string, std::vector<std::string>> parameterValues_;
The in memory form of one node's manifest file.
Definition NodeManifest.h:50
static NodeManifest loadFromString(const std::string &yaml)
Returns the manifest described by a yaml document.
Definition NodeManifest.cpp:395
static NodeManifest loadFromFile(const std::filesystem::path &path)
Returns the manifest described by a node.yaml file.
Definition NodeManifest.cpp:471
const std::map< std::string, std::vector< std::string > > & getParameterValues() const
Returns the parameter values an alias sets, as written in the manifest.
Definition NodeManifest.h:70
NodeAlias getNodeAlias(const NodeType &aliasedType) const
Returns the alias this manifest describes.
Definition NodeManifest.cpp:431
const NodeType & getNodeType() const
Returns the node type this manifest describes, with no constructor or folder filled in yet.
Definition NodeManifest.h:62
The node type an alias creates in its place.
Definition NodeManifest.h:21
std::string aliasedType
The full name of the node type the alias stands in for, such as "enzo::attributeNoise".
Definition NodeManifest.h:24
The constructor a shared library exports to give a node its behaviour.
Definition NodeManifest.h:14
A tab menu entry that creates a node of another type with its own starting values.
Definition NodeAlias.h:18
Everything every node of one kind shares.
Definition NodeType.h:40