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 LIBTRACK_EDIT_BASE_EDGE_STRENGTH_HANDLE_H 00012 #define LIBTRACK_EDIT_BASE_EDGE_STRENGTH_HANDLE_H 00013 00014 #include <LinearMath/btQuaternion.h> 00015 00016 #include "LineConstrainedControlPoint.h" 00017 00018 namespace Track 00019 { 00020 00021 namespace EditAssist 00022 { 00023 00033 class EdgeStrengthHandle 00034 : public LineConstrainedControlPoint 00035 { 00036 public: 00037 enum EdgeEnd 00038 { 00039 EE_SOURCE = 0 00040 , EE_DESTINATION = 1 00041 }; 00046 EdgeStrengthHandle(std::size_t edge_index, EdgeEnd adjust_end); 00047 virtual ~EdgeStrengthHandle(); 00048 00053 void update(btVector3 position, btQuaternion angle, btScalar length); 00054 00055 virtual boost::shared_ptr<Document::DocumentDelta> make_delta(btVector3 position) const; 00056 00057 virtual void draw() const; 00058 protected: 00059 std::size_t edge_index; 00060 EdgeEnd adjust_end; 00061 }; 00062 00063 } // EditAssist namespace 00064 00065 } // Track namespace 00066 00067 #endif // LIBTRACK_EDIT_BASE_EDGE_STRENGTH_HANDLE_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.