|
@@ -600,6 +600,9 @@ private:
|
|
|
string mColor;
|
|
|
double mWidth;
|
|
|
string mLaneChange;
|
|
|
+
|
|
|
+ vector<LaneRoadMarkLine> mvetorLaneRoadMarkLine;
|
|
|
+
|
|
|
public:
|
|
|
/*
|
|
|
* Constructors
|
|
@@ -628,6 +631,57 @@ public:
|
|
|
double GetWidth();
|
|
|
string GetLaneChange();
|
|
|
|
|
|
+ /**
|
|
|
+ * Methods used to add child records to the respective vectors
|
|
|
+ */
|
|
|
+ unsigned int AddLaneRoadMarkLine(double s, double a, double b, double c, double d);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Methods used to clone child records in the respective vectors
|
|
|
+ */
|
|
|
+ unsigned int CloneLaneRoadMarkLine(unsigned int index);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Methods used to delete child records from the respective vectors
|
|
|
+ */
|
|
|
+ void DeleteLaneRoadMarkLine(unsigned int index);
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get pointers to the records vectors
|
|
|
+ */
|
|
|
+ vector <LaneRoadMarkLine> *GetLaneRoadMarkLineVector();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the number of elements in a certain vector
|
|
|
+ */
|
|
|
+ unsigned int GetLaneRoadMarkLineCount();
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the elements of a certain vectors at position i
|
|
|
+ */
|
|
|
+ LaneWidth* GetLaneRoadMarkLine(unsigned int i);
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the last elements of a certain vectors
|
|
|
+ */
|
|
|
+ LaneWidth* GetLastLaneRoadMarkLine();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the last added elements of a certain vectors (their position might not be at the end of the vector)
|
|
|
+ */
|
|
|
+ LaneWidth* GetLastAddedLaneRoadMarkLine();
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Check the intervals and return the index of the records that applies to the provided s-offset
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -882,9 +936,41 @@ private:
|
|
|
double mspace;
|
|
|
double mtOffset;
|
|
|
double msOffset;
|
|
|
- std::string mrule;
|
|
|
- double width;
|
|
|
- std::string mcolor;
|
|
|
+ std::vector<std::string> mrule;
|
|
|
+ std::vector<double> mwidth;
|
|
|
+ std::vector<std::string> mcolor;
|
|
|
+public:
|
|
|
+ /*
|
|
|
+ * Constructors
|
|
|
+ */
|
|
|
+ LaneRoadMarkLine(double length, double space, double tOffset, double sOffset);
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Methods that return the parameters of the lane offset
|
|
|
+ */
|
|
|
+ double Getlength();
|
|
|
+ double Getspace();
|
|
|
+ double GettOffset();
|
|
|
+ double GetsOffset();
|
|
|
+ int Getrule(std::string & rule); //If return 1, have vaule, return 0 no this value
|
|
|
+ int Getwidth(double & width); //same with rule
|
|
|
+ int Getcolor(std::string & color); //same with rule
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Methods that set the parameters of the lane offset
|
|
|
+ */
|
|
|
+ void Setlength(double length);
|
|
|
+ void Setspace(double space);
|
|
|
+ void SettOffset(double tOffset);
|
|
|
+ void SetsOffset(double sOffset);
|
|
|
+ void Setrule(std::string & rule);
|
|
|
+ void Setwidth(double & width);
|
|
|
+ void Setcolor(std::string & color);
|
|
|
+ void Resetrule();
|
|
|
+ void Resetwidth();
|
|
|
+ void Resetcolor();
|
|
|
};
|
|
|
|
|
|
#endif
|