/* * RotateAroundSelfByAngleAction.hpp * * Created on: Aug 06, 2010 * Author: heber */ #ifndef ROTATEAROUNDSELFBYANGLEACTION_HPP #define ROTATEAROUNDSELFBYANGLEACTION_HPP #include "Actions/Action.hpp" class MoleculeListClass; class Vector; void MoleculeRotateOrigin(Vector &Axis); class MoleculeRotateAroundSelfByAngleAction : public Action { friend void MoleculeRotateAroundSelfByAngle(const Vector &Axis, const double angle); public: MoleculeRotateAroundSelfByAngleAction(); virtual ~MoleculeRotateAroundSelfByAngleAction(); bool canUndo(); bool shouldUndo(); virtual const std::string getName(); protected: virtual Dialog * fillDialog(Dialog *dialog); private: virtual void getParametersfromValueStorage(); virtual Action::state_ptr performCall(); virtual Action::state_ptr performUndo(Action::state_ptr); virtual Action::state_ptr performRedo(Action::state_ptr); static const char NAME[]; }; #endif // ROTATEAROUNDSELFBYANGLEACTION_HPP