EdgeStrengthHandle.h

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

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.