#ifndef CROTATENODECOMMAND_H #define CROTATENODECOMMAND_H #include #include #include #include "../INodeEditor.h" class CRotateNodeCommand : public QUndoCommand { struct SNodeRotate { CSceneNode *pNode; CVector3f initialPos; CQuaternion initialRot; CVector3f newPos; CQuaternion newRot; }; QList mNodeList; INodeEditor *mpEditor; bool mCommandEnded; public: CRotateNodeCommand(); CRotateNodeCommand(INodeEditor *pEditor, const QList& nodes, const CVector3f& pivot, const CQuaternion& delta, ETransformSpace transformSpace); ~CRotateNodeCommand(); int id() const; bool mergeWith(const QUndoCommand *other); void undo(); void redo(); static CRotateNodeCommand* End(); }; #endif // CROTATENODECOMMAND_H