Enzo
Loading...
Searching...
No Matches
NodeParameter.h
1#pragma once
2#include "Engine/Core/Types.h"
3#include "Engine/Parameter/Parameter.h"
4
5namespace enzo::prm {
6
7class NodeParameter : public Parameter
8{
9 public:
10 NodeParameter(Template prmTemplate, enzo::nt::NodeId nodeId);
11 enzo::nt::NodeId getNodeId() const { return nodeId_; }
12
13 protected:
16 std::unique_ptr<expr::ExpressionContext> makeExpressionContext_() const override;
17
21 const expr::ExpressionContext& context,
22 unsigned int index
23 ) const override;
24
25 private:
26 enzo::nt::NodeId nodeId_;
27};
28} // namespace enzo::prm
Basic attribute, parameter, and node types for Enzo.
uint64_t NodeId
The unique ID assigned to each node in the network.
Definition Types.h:306
The world a single expression evaluation reads and writes to.
Definition ExpressionContext.h:21
Definition NodeParameter.h:8
void submitExpressionDependencies_(const expr::ExpressionContext &context, unsigned int index) const override
Records the parameters an expression read as captured dependencies of this component in the network g...
Definition NodeParameter.cpp:18
std::unique_ptr< expr::ExpressionContext > makeExpressionContext_() const override
Builds the context an expression runs from, e.g. what node the parameter belongs to.
Definition NodeParameter.cpp:13
Definition Parameter.h:19
Definition Template.h:18