00001 00006 /* Copyright © 2009, 2010 James Legg. 00007 This program is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 */ 00012 00013 #ifndef LIBTRACK_DOCUMENT_SET_START_EDGE_DELTA_H 00014 #define LIBTRACK_DOCUMENT_SET_START_EDGE_DELTA_H 00015 00016 #include "ChangePropertyDelta.h" 00017 #include "StackableDelta.h" 00018 00019 namespace Document 00020 { 00021 00024 class StartEdgeFinder : public PropertyDeltaIdentifier<unsigned long int> 00025 { 00026 public: 00027 StartEdgeFinder(); 00028 virtual void read(const Track::Track & track, unsigned long int & edge_name); 00029 virtual void write(Track::Track & track, const unsigned long int & new_edge_name); 00030 }; 00031 00034 typedef ChangePropertyDelta<StartEdgeFinder, unsigned long int> SetStartEdgeDelta; 00035 00040 class SetStartPositionsDelta 00041 : public StackableDelta 00042 { 00043 public: 00049 SetStartPositionsDelta(const unsigned int edge_name); 00050 virtual void apply(Track::Track & track); 00051 protected: 00053 unsigned int m_edge_name; 00054 }; 00055 00056 } // namespace Document 00057 00058 #endif // LIBTRACK_DOCUMENT_SET_START_EDGE_DELTA_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.