14 enzo::prm::PrmValues after)
15 : opId_(opId), paramName_(paramName), before_(before), after_(after) {}
17 void undo()
override {
18 IC(opId_, paramName_);
19 if (!nm().isValidOp(opId_)) {
20 IC(
"ChangeParameterCommand::undo — operator not found", opId_);
23 if (
auto prm = nm().getGeoOperator(opId_).getParameter(paramName_).lock()) {
24 prm->setValues(before_);
26 IC(
"ChangeParameterCommand::undo — parameter not found", opId_, paramName_);
30 void redo()
override {
31 IC(opId_, paramName_);
32 if (!nm().isValidOp(opId_)) {
33 IC(
"ChangeParameterCommand::redo — operator not found", opId_);
36 if (
auto prm = nm().getGeoOperator(opId_).getParameter(paramName_).lock()) {
37 prm->setValues(after_);
39 IC(
"ChangeParameterCommand::redo — parameter not found", opId_, paramName_);
43 UndoCommandType type()
const override {
return UndoCommandType::ChangeParameter; }
47 std::string paramName_;
48 enzo::prm::PrmValues before_;
49 enzo::prm::PrmValues after_;