|
@@ -560,14 +560,14 @@ void Road::RemoveNeighbor2()
|
|
|
/**
|
|
|
* Methods used to add child records to the respective vectors
|
|
|
*/
|
|
|
-unsigned int Road::AddRoadType(double s, string type)
|
|
|
+unsigned int Road::AddRoadType(double s, string type,string country)
|
|
|
{
|
|
|
// Gets the index where the record should be inserted in the vector
|
|
|
unsigned int index = CheckRoadTypeInterval(s)+1;
|
|
|
// If larger than the record count - push to the back
|
|
|
- if(index>=GetRoadTypeCount()) mRoadTypeVector.push_back(RoadType(s, type));
|
|
|
+ if(index>=GetRoadTypeCount()) mRoadTypeVector.push_back(RoadType(s, type,country));
|
|
|
// else insert in the middle
|
|
|
- else mRoadTypeVector.insert(mRoadTypeVector.begin()+index, RoadType(s, type));
|
|
|
+ else mRoadTypeVector.insert(mRoadTypeVector.begin()+index, RoadType(s, type,country));
|
|
|
// Save the last added record index
|
|
|
mLastAddedRoadType=index;
|
|
|
return index;
|
|
@@ -1228,9 +1228,9 @@ void RoadNeighbor::SetDirection(string direction)
|
|
|
/**
|
|
|
* Constructor which intializes the basic properties
|
|
|
*/
|
|
|
-RoadType::RoadType (double s, string type)
|
|
|
+RoadType::RoadType (double s, string type,string country)
|
|
|
{
|
|
|
- mS=s; mType=type;
|
|
|
+ mS=s; mType=type;mCountry = country;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1244,6 +1244,10 @@ void RoadType::SetType(string type)
|
|
|
{
|
|
|
mType=type;
|
|
|
}
|
|
|
+void RoadType::SetCountry(std::string country)
|
|
|
+{
|
|
|
+ mCountry = country;
|
|
|
+}
|
|
|
|
|
|
/**
|
|
|
* Getters for the basic properties
|
|
@@ -1256,7 +1260,85 @@ string RoadType::GetType()
|
|
|
{
|
|
|
return mType;
|
|
|
}
|
|
|
+string RoadType::GetCountry()
|
|
|
+{
|
|
|
+ return mCountry;
|
|
|
+}
|
|
|
+
|
|
|
+vector<RoadTypeSpeed> * RoadType::GetRoadTypeSpeedVector()
|
|
|
+{
|
|
|
+ return &mRoadTypeSpeedVector;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int RoadType::GetRoadTypeSpeedCount()
|
|
|
+{
|
|
|
+ return mRoadTypeSpeedVector.size();
|
|
|
+}
|
|
|
+
|
|
|
+RoadTypeSpeed * RoadType::GetRoadTypeSpeed(unsigned int i)
|
|
|
+{
|
|
|
+ if ((mRoadTypeSpeedVector.size()>0)&&(i<mRoadTypeSpeedVector.size()))
|
|
|
+ return &mRoadTypeSpeedVector.at(i);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int RoadType::AddRoadTypeSpeed(double maxSpeed, std::string unit)
|
|
|
+{
|
|
|
+ RoadTypeSpeed rts(maxSpeed,unit);
|
|
|
+ if(mRoadTypeSpeedVector.size()>0)mRoadTypeSpeedVector.clear();
|
|
|
+ mRoadTypeSpeedVector.push_back(rts);
|
|
|
+ return mRoadTypeSpeedVector.size()-1;
|
|
|
+}
|
|
|
+
|
|
|
+void RoadType::DeleteRoadTypeSpeed(unsigned int index)
|
|
|
+{
|
|
|
+ if(index >= 1)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ mRoadTypeSpeedVector.clear();
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//***********************************************************************************
|
|
|
+//Road Type Speed
|
|
|
+//***********************************************************************************
|
|
|
+/**
|
|
|
+ * Constructor which intializes the basic properties
|
|
|
+ */
|
|
|
+
|
|
|
+RoadTypeSpeed::RoadTypeSpeed(double maxSpeed, std::string unit)
|
|
|
+{
|
|
|
+ mmaxSpeed = maxSpeed;
|
|
|
+ munit = unit;
|
|
|
+}
|
|
|
|
|
|
+/**
|
|
|
+ * Setters for the basic properties
|
|
|
+ */
|
|
|
+void RoadTypeSpeed::SetmaxSpeed(double value)
|
|
|
+{
|
|
|
+ mmaxSpeed = value;
|
|
|
+}
|
|
|
+void RoadTypeSpeed::Setunit(std::string unit)
|
|
|
+{
|
|
|
+ munit = unit;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Getters for the basic properties
|
|
|
+ */
|
|
|
+double RoadTypeSpeed::GetmaxSpeed()
|
|
|
+{
|
|
|
+ return mmaxSpeed;
|
|
|
+}
|
|
|
+string RoadTypeSpeed::Getunit()
|
|
|
+{
|
|
|
+ return munit;
|
|
|
+}
|
|
|
|
|
|
|
|
|
|