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::OpId opId);
11 enzo::nt::OpId getOpId() const { return opId_; }
12
13 protected:
14 void onFloatSet_(const PrmValues& before) override;
15
18 std::unique_ptr<expr::ExpressionContext> makeExpressionContext_() const override;
19
23 const expr::ExpressionContext& context,
24 unsigned int index
25 ) const override;
26
27 private:
28 void addUndo_(PrmValues before);
29
30 enzo::nt::OpId opId_;
31};
32} // namespace enzo::prm
Basic attribute, parameter, and node types for Enzo.
uint64_t OpId
The unique ID assigned to each node in the network.
Definition Types.h:137
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:21
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:16
Definition Parameter.h:19
Definition Template.h:18