00001 00005 /* Copyright © 2009 James Legg. 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 */ 00011 #ifndef VERTEX_ROTATION_HANDLE_H_ 00012 #define VERTEX_ROTATION_HANDLE_H_ 00013 00014 #include <LinearMath/btQuaternion.h> 00015 00016 #include "RotationHandle.h" 00017 00018 namespace Track 00019 { 00020 00021 namespace EditAssist 00022 { 00023 00024 class VertexRotationHandle 00025 : public RotationHandle 00026 { 00027 public: 00029 enum Direction 00030 { 00032 DIR_UP = 0, 00034 DIR_FORWARD = 1 00035 }; 00040 VertexRotationHandle(std::size_t vertex_id, Direction direction = DIR_FORWARD); 00041 00051 virtual boost::shared_ptr<Document::DocumentDelta> make_delta(btVector3 position) const; 00058 void update_angle(btQuaternion angle); 00059 00060 virtual void draw() const; 00061 protected: 00063 std::size_t vertex_id; 00065 Direction direction; 00067 btQuaternion rotation; 00068 }; 00069 00070 } 00071 00072 } 00073 00074 #endif // VERTEX_ROTATION_HANDLE_H_
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.