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 00012 #ifndef LIBTRACK_DOCUMENT_SET_EDGE_STRENGTH_DELTA_H 00013 #define LIBTRACK_DOCUMENT_SET_EDGE_STRENGTH_DELTA_H 00014 00015 #include "ChangePropertyDelta.h" 00016 00017 #include <LinearMath/btVector3.h> 00018 00019 #include "../edit_base/EdgeStrengthHandle.h" 00020 00021 namespace Document 00022 { 00023 00026 class EdgeStrengthFinder : public PropertyDeltaIdentifier<btScalar> 00027 { 00028 public: 00029 typedef Track::EditAssist::EdgeStrengthHandle::EdgeEnd EdgeEndEnum; 00034 EdgeStrengthFinder(std::size_t edge_index, EdgeEndEnum end); 00035 00040 virtual void read(const Track::Track & track, btScalar & strength); 00041 00046 virtual void write(Track::Track & track, const btScalar & new_strength); 00047 protected: 00049 std::size_t edge_index; 00051 EdgeEndEnum end; 00052 }; 00053 00056 typedef ChangePropertyDelta<EdgeStrengthFinder, btScalar> SetEdgeStrengthDelta; 00057 00058 } 00059 00060 #endif // LIBTRACK_DOCUMENT_SET_EDGE_STRENGTH_DELTA_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.