Ejemplo n.º 1
0
void Viewer::redo() {

  if (m_redo.empty()) {
    Gtk::MessageDialog dialog("Can't redo");
    dialog.run();
    return;
  }

  History record = m_redo.top();
  m_redo.pop();

    // execute that record
  SceneNode *node = m_root->find(record.id);
  assert(node);
  assert(node->is_joint());
  JointNode *joint = dynamic_cast<JointNode*>(node);
  assert(joint);

  joint->joint_x() = record.xRot;
  joint->joint_y() = record.yRot;


  m_undo.push(record);
}