|
@@ -24,6 +24,9 @@ class SuperElevation;
|
|
class Crossfall;
|
|
class Crossfall;
|
|
class surface;
|
|
class surface;
|
|
class surface_CRG;
|
|
class surface_CRG;
|
|
|
|
+class Railroad_Switch;
|
|
|
|
+class Railroad_Switch_MainTrack;
|
|
|
|
+class Railroad_Switch_SideTrack;
|
|
//lanes
|
|
//lanes
|
|
class LaneSection;
|
|
class LaneSection;
|
|
class LaneSectionSample;
|
|
class LaneSectionSample;
|
|
@@ -100,6 +103,8 @@ private:
|
|
|
|
|
|
vector<surface_CRG> mSurfaceCRGVector;
|
|
vector<surface_CRG> mSurfaceCRGVector;
|
|
|
|
|
|
|
|
+ vector<Railroad_Switch> mRailroadSwitchVector;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Indices of the last added child records
|
|
* Indices of the last added child records
|
|
*/
|
|
*/
|
|
@@ -119,6 +124,7 @@ private:
|
|
unsigned int mLastAddedRoadBorrow;
|
|
unsigned int mLastAddedRoadBorrow;
|
|
unsigned int mLastAddedRoadNoavoid;
|
|
unsigned int mLastAddedRoadNoavoid;
|
|
unsigned int mLastAddedSurfaceCRG;
|
|
unsigned int mLastAddedSurfaceCRG;
|
|
|
|
+ unsigned int mLastAddedRailroadSwitch;
|
|
|
|
|
|
public:
|
|
public:
|
|
/**
|
|
/**
|
|
@@ -233,6 +239,10 @@ public:
|
|
surface_CRG* GetSurfaceCRG(unsigned int i);
|
|
surface_CRG* GetSurfaceCRG(unsigned int i);
|
|
unsigned int GetSurfaceCRGCount();
|
|
unsigned int GetSurfaceCRGCount();
|
|
|
|
|
|
|
|
+ vector<Railroad_Switch> *GetRailroadSwitchVector();
|
|
|
|
+ Railroad_Switch* GetRailroadSwitch(unsigned int i);
|
|
|
|
+ unsigned int GetRailroadSwitchCount();
|
|
|
|
+
|
|
|
|
|
|
vector<string> * GetUserData();
|
|
vector<string> * GetUserData();
|
|
//-------------------------------------------------
|
|
//-------------------------------------------------
|
|
@@ -255,6 +265,7 @@ public:
|
|
RoadBorrow * GetLastRoadBorrow();
|
|
RoadBorrow * GetLastRoadBorrow();
|
|
RoadNoavoid * GetLastRoadNoavoid();
|
|
RoadNoavoid * GetLastRoadNoavoid();
|
|
surface_CRG * GetLastSurfaceCRG();
|
|
surface_CRG * GetLastSurfaceCRG();
|
|
|
|
+ Railroad_Switch * GetLastRailroadSwitch();
|
|
|
|
|
|
/**
|
|
/**
|
|
* Getters for the last added child records in their respective vectors
|
|
* Getters for the last added child records in their respective vectors
|
|
@@ -274,6 +285,7 @@ public:
|
|
RoadBorrow* GetLastAddedRoadBorrow();
|
|
RoadBorrow* GetLastAddedRoadBorrow();
|
|
RoadNoavoid* GetLastAddedRoadNoavoid();
|
|
RoadNoavoid* GetLastAddedRoadNoavoid();
|
|
surface_CRG* GetLastAddedSurfaceCRG();
|
|
surface_CRG* GetLastAddedSurfaceCRG();
|
|
|
|
+ Railroad_Switch * GetLastAddedRailroadSwitch();
|
|
|
|
|
|
//-------------------------------------------------
|
|
//-------------------------------------------------
|
|
|
|
|
|
@@ -326,6 +338,7 @@ public:
|
|
unsigned int AddRoadBorrow(double s,double length,string mode);
|
|
unsigned int AddRoadBorrow(double s,double length,string mode);
|
|
unsigned int AddRoadNoavoid(double s,double length);
|
|
unsigned int AddRoadNoavoid(double s,double length);
|
|
unsigned int AddSurfaceCRG(std::string file,double sStart,double sEnd,std::string orientation,std::string mode);
|
|
unsigned int AddSurfaceCRG(std::string file,double sStart,double sEnd,std::string orientation,std::string mode);
|
|
|
|
+ unsigned int AddRailroadSwitch(std::string name, std::string id,std::string position, Railroad_Switch_MainTrack mainTrack, Railroad_Switch_SideTrack sideTrack);
|
|
/**
|
|
/**
|
|
* Methods used to clone child records in the respective vectors
|
|
* Methods used to clone child records in the respective vectors
|
|
*/
|
|
*/
|
|
@@ -344,6 +357,7 @@ public:
|
|
unsigned int CloneRoadBorrow(unsigned int index);
|
|
unsigned int CloneRoadBorrow(unsigned int index);
|
|
unsigned int CloneRoadNoavoid(unsigned int index);
|
|
unsigned int CloneRoadNoavoid(unsigned int index);
|
|
unsigned int CloneSurfaceCRG(unsigned int index);
|
|
unsigned int CloneSurfaceCRG(unsigned int index);
|
|
|
|
+ unsigned int CloneRailroadSwitch(unsigned int index);
|
|
|
|
|
|
/**
|
|
/**
|
|
* Methods used to delete child records from the respective vectors
|
|
* Methods used to delete child records from the respective vectors
|
|
@@ -364,6 +378,7 @@ public:
|
|
void DeleteRoadBorrow(unsigned int index);
|
|
void DeleteRoadBorrow(unsigned int index);
|
|
void DeleteRoadNoavoid(unsigned int index);
|
|
void DeleteRoadNoavoid(unsigned int index);
|
|
void DeleteSurfaceCRG(unsigned int index);
|
|
void DeleteSurfaceCRG(unsigned int index);
|
|
|
|
+ void DeleteRailroadSwitch(unsigned int index);
|
|
|
|
|
|
//-------------------------------------------------
|
|
//-------------------------------------------------
|
|
|
|
|
|
@@ -761,6 +776,100 @@ public:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
|
+
|
|
|
|
+class Railroad_Switch_MainTrack
|
|
|
|
+{
|
|
|
|
+private:
|
|
|
|
+ std::string mid;
|
|
|
|
+ double ms;
|
|
|
|
+ std::string mdir;
|
|
|
|
+
|
|
|
|
+public:
|
|
|
|
+ Railroad_Switch_MainTrack(std::string id, double s, std::string dir);
|
|
|
|
+ Railroad_Switch_MainTrack();
|
|
|
|
+ std::string Getid();
|
|
|
|
+ double Gets();
|
|
|
|
+ std::string Getdir();
|
|
|
|
+ void Setid(std::string id);
|
|
|
|
+ void Sets(double s);
|
|
|
|
+ void Setdir(std::string dir);
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
|
+
|
|
|
|
+class Railroad_Switch_SideTrack
|
|
|
|
+{
|
|
|
|
+private:
|
|
|
|
+ std::string mid;
|
|
|
|
+ double ms;
|
|
|
|
+ std::string mdir;
|
|
|
|
+
|
|
|
|
+public:
|
|
|
|
+ Railroad_Switch_SideTrack(std::string id, double s, std::string dir);
|
|
|
|
+ Railroad_Switch_SideTrack();
|
|
|
|
+ std::string Getid();
|
|
|
|
+ double Gets();
|
|
|
|
+ std::string Getdir();
|
|
|
|
+ void Setid(std::string id);
|
|
|
|
+ void Sets(double s);
|
|
|
|
+ void Setdir(std::string dir);
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
|
+
|
|
|
|
+class Railroad_Switch_Partner
|
|
|
|
+{
|
|
|
|
+private:
|
|
|
|
+ std::vector<std::string> mname;
|
|
|
|
+ std::string mid;
|
|
|
|
+
|
|
|
|
+public:
|
|
|
|
+ Railroad_Switch_Partner(std::string id);
|
|
|
|
+ Railroad_Switch_Partner();
|
|
|
|
+
|
|
|
|
+ int Getname(std::string & name);
|
|
|
|
+ std::string Getid();
|
|
|
|
+
|
|
|
|
+ void Setname(std::string name);
|
|
|
|
+ void Setid(std::string id);
|
|
|
|
+
|
|
|
|
+ void Resetname();
|
|
|
|
+
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
|
+
|
|
|
|
+class Railroad_Switch
|
|
|
|
+{
|
|
|
|
+private:
|
|
|
|
+ std::string mname;
|
|
|
|
+ std::string mid;
|
|
|
|
+ std::string mposition;
|
|
|
|
+
|
|
|
|
+ Railroad_Switch_MainTrack mMainTrack;
|
|
|
|
+ Railroad_Switch_SideTrack mSideTrack;
|
|
|
|
+ std::vector<Railroad_Switch_Partner> mPartner;
|
|
|
|
+
|
|
|
|
+public:
|
|
|
|
+ Railroad_Switch(std::string name, std::string id, std::string position,Railroad_Switch_MainTrack mainTrack,Railroad_Switch_SideTrack sideTrack);
|
|
|
|
+ std::string Getname();
|
|
|
|
+ std::string Getid();
|
|
|
|
+ std::string Getposition();
|
|
|
|
+
|
|
|
|
+ void Setname(std::string name);
|
|
|
|
+ void Setid(std::string id);
|
|
|
|
+ void Setposition(std::string position);
|
|
|
|
+
|
|
|
|
+ void SetPartner(Railroad_Switch_Partner & partner);
|
|
|
|
+ int GetPartner(Railroad_Switch_Partner & partner);
|
|
|
|
+ void ResetPartner();
|
|
|
|
+
|
|
|
|
+ Railroad_Switch_MainTrack * GetMainTrack();
|
|
|
|
+ Railroad_Switch_SideTrack * GetSideTrack();
|
|
|
|
+
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|