TrackAttachmentHandle.h

Go to the documentation of this file.
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

Get Racer at SourceForge.net. Fast, secure and Free Open Source software downloads

Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.