20 std::string paramName,
24 : opId_(opId), paramName_(paramName), before_(std::move(before)), after_(std::move(after))
31 std::string paramName,
32 const enzo::prm::PrmValues& before,
33 const enzo::prm::PrmValues& after
35 : opId_(opId), paramName_(paramName), before_(toSerializable(paramName, before)),
36 after_(toSerializable(paramName, after))
40 void undo()
override { restore_(before_); }
41 void redo()
override { restore_(after_); }
43 UndoCommandType type()
const override {
return UndoCommandType::ChangeParameter; }
48 IC(opId_, paramName_);
49 if (!nm().isValidOp(opId_))
51 IC(
"ChangeParameterCommand — operator not found", opId_);
54 if (
auto prm = nm().getGeoOperator(opId_).getParameter(paramName_).lock())
55 applySerializable(*prm, snapshot);
57 IC(
"ChangeParameterCommand — parameter not found", opId_, paramName_);
61 std::string paramName_;