20 std::string paramName,
24 : nodeId_(nodeId), paramName_(paramName), before_(std::move(before)),
25 after_(std::move(after))
32 std::string paramName,
33 const enzo::prm::PrmValues& before,
34 const enzo::prm::PrmValues& after
36 : nodeId_(nodeId), paramName_(paramName), before_(toSerializable(paramName, before)),
37 after_(toSerializable(paramName, after))
41 void undo()
override { restore_(before_); }
42 void redo()
override { restore_(after_); }
44 UndoCommandType type()
const override {
return UndoCommandType::ChangeParameter; }
49 IC(nodeId_, paramName_);
50 if (!nm().isValidNode(nodeId_))
52 IC(
"ChangeParameterCommand — node not found", nodeId_);
55 if (
auto prm = nm().getNode(nodeId_).getParameter(paramName_).lock())
56 applySerializable(*prm, snapshot);
58 IC(
"ChangeParameterCommand — parameter not found", nodeId_, paramName_);
62 std::string paramName_;