00001 00005 /* Copyright © 2010 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_TRACK_ATTACHMENT_HANDLE_H 00012 #define LIBTRACK_EDIT_BASE_TRACK_ATTACHMENT_HANDLE_H 00013 00014 #include "ControlPoint.h" 00015 00016 namespace Track 00017 { 00018 00019 class PathEdge; 00020 00021 namespace EditAssist 00022 { 00023 00026 class TrackAttachmentHandle 00027 : public ControlPoint 00028 { 00029 public: 00030 TrackAttachmentHandle(const PathEdge & edge, std::size_t attachment_index); 00031 virtual void draw() const; 00032 00033 virtual void snap(btVector3 & position, btVector3 normal) const; 00034 00035 virtual boost::shared_ptr<Document::DocumentDelta> make_delta(btVector3 position) const; 00037 boost::shared_ptr<Document::DocumentDelta> make_remove_delta() const; 00038 protected: 00039 const PathEdge & m_edge; 00040 std::size_t m_attachment_index; 00041 }; 00042 00043 } 00044 00045 } 00046 00047 #endif // LIBTRACK_EDIT_BASE_TRACK_ATTACHMENT_HANDLE_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.