|
@@ -2337,6 +2337,82 @@ void signal_laneValidity::SettoLane(int toLane)
|
|
|
mtoLane = toLane;
|
|
|
}
|
|
|
|
|
|
+signal_dependency::signal_dependency(std::string id)
|
|
|
+{
|
|
|
+ mstrid = id;
|
|
|
+}
|
|
|
+
|
|
|
+std::string signal_dependency::Getid()
|
|
|
+{
|
|
|
+ return mstrid;
|
|
|
+}
|
|
|
+
|
|
|
+void signal_dependency::Setid(std::string strid)
|
|
|
+{
|
|
|
+ mstrid = strid;
|
|
|
+}
|
|
|
+
|
|
|
+int signal_dependency::Gettype(std::string & strtype)
|
|
|
+{
|
|
|
+ if(mtype.size() == 0)return 0;
|
|
|
+ strtype = mtype[0];
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+void signal_dependency::Settype(std::string strtype)
|
|
|
+{
|
|
|
+ if(mtype.size() > 0)mtype.clear();
|
|
|
+ mtype.push_back(strtype);
|
|
|
+}
|
|
|
+
|
|
|
+void signal_dependency::Resettype()
|
|
|
+{
|
|
|
+ if(mtype.size() > 0)mtype.clear();
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+signal_reference::signal_reference(std::string elementType,std::string elementId)
|
|
|
+{
|
|
|
+ melementType = elementType;
|
|
|
+ melementId = elementId;
|
|
|
+}
|
|
|
+
|
|
|
+std::string signal_reference::GetelementType()
|
|
|
+{
|
|
|
+ return melementType;
|
|
|
+}
|
|
|
+
|
|
|
+std::string signal_reference::GetelementId()
|
|
|
+{
|
|
|
+ return melementId;
|
|
|
+}
|
|
|
+
|
|
|
+void signal_reference::SetelementType(std::string elementType)
|
|
|
+{
|
|
|
+ melementType = elementType;
|
|
|
+}
|
|
|
+
|
|
|
+void signal_reference::SetelementId(std::string elementId)
|
|
|
+{
|
|
|
+ melementId = elementId;
|
|
|
+}
|
|
|
+
|
|
|
+void signal_reference::Settype(std::string type)
|
|
|
+{
|
|
|
+ if(mtype.size()>0)mtype.clear();
|
|
|
+ mtype.push_back(type);
|
|
|
+}
|
|
|
+
|
|
|
+void signal_reference::Resettype()
|
|
|
+{
|
|
|
+ if(mtype.size()>0)mtype.clear();
|
|
|
+}
|
|
|
+int signal_reference::Gettype(std::string & type)
|
|
|
+{
|
|
|
+ if(mtype.size() == 0)return 0;
|
|
|
+ type = mtype[0];
|
|
|
+ return 1;
|
|
|
+}
|
|
|
|
|
|
Signal::Signal(double s, double t, std::string id, std::string name, bool dynamic,string orientation,
|
|
|
double zOffset, string type, std::string country, std::string countryRevision,
|
|
@@ -2672,6 +2748,175 @@ void Signal::SetpositionInertial(double x, double y, double z, double hdg, doubl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+vector<signal_laneValidity> * Signal::GetlaneValidityVector()
|
|
|
+{
|
|
|
+ return &mlaneValidity;
|
|
|
+}
|
|
|
+
|
|
|
+signal_laneValidity* Signal::GetlaneValidity(unsigned int i)
|
|
|
+{
|
|
|
+ if ((mlaneValidity.size()>0)&&(i<(mlaneValidity.size())))
|
|
|
+ return &(mlaneValidity.at(i));
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::GetlaneValidityCount()
|
|
|
+{
|
|
|
+ return static_cast<unsigned int >(mlaneValidity.size()) ;
|
|
|
+}
|
|
|
+
|
|
|
+signal_laneValidity* Signal::GetLastlaneValidity()
|
|
|
+{
|
|
|
+ if (mlaneValidity.size()>0)
|
|
|
+ return &mlaneValidity.at(mlaneValidity.size()-1);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+signal_laneValidity* Signal::GetLastAddedlaneValidity()
|
|
|
+{
|
|
|
+ if(mLastAddedlaneValidity<mlaneValidity.size())
|
|
|
+ return &mlaneValidity.at(mLastAddedlaneValidity);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::AddlaneValidity(int fromLane, int toLane)
|
|
|
+{
|
|
|
+ mlaneValidity.push_back(signal_laneValidity(fromLane,toLane));
|
|
|
+ mLastAddedlaneValidity = static_cast<unsigned int>(mlaneValidity.size()-1) ;
|
|
|
+ return mLastAddedlaneValidity;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::ClonelaneValidity(unsigned int index)
|
|
|
+{
|
|
|
+ if(index<(mlaneValidity.size()-1))
|
|
|
+ mlaneValidity.insert(mlaneValidity.begin()+index+1, mlaneValidity[index]);
|
|
|
+ else if(index==mlaneValidity.size()-1)
|
|
|
+ mlaneValidity.push_back(mlaneValidity[index]);
|
|
|
+ mLastAddedlaneValidity=index+1;
|
|
|
+ return mLastAddedlaneValidity;
|
|
|
+}
|
|
|
+
|
|
|
+void Signal::DeletelaneValidity(unsigned int index)
|
|
|
+{
|
|
|
+ mlaneValidity.erase(mlaneValidity.begin()+index);
|
|
|
+}
|
|
|
+
|
|
|
+vector<signal_dependency> * Signal::GetDependencyVector()
|
|
|
+{
|
|
|
+ return &mdependency;
|
|
|
+}
|
|
|
+
|
|
|
+signal_dependency* Signal::GetDependency(unsigned int i)
|
|
|
+{
|
|
|
+ if ((mdependency.size()>0)&&(i<(mdependency.size())))
|
|
|
+ return &(mdependency.at(i));
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::GetDependencyCount()
|
|
|
+{
|
|
|
+ return static_cast<unsigned int >(mdependency.size()) ;
|
|
|
+}
|
|
|
+
|
|
|
+signal_dependency* Signal::GetLastDependency()
|
|
|
+{
|
|
|
+ if (mdependency.size()>0)
|
|
|
+ return &mdependency.at(mdependency.size()-1);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+signal_dependency* Signal::GetLastAddedDependency()
|
|
|
+{
|
|
|
+ if(mLastAddedDependency<mdependency.size())
|
|
|
+ return &mdependency.at(mLastAddedDependency);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::AddDependency(std::string strid)
|
|
|
+{
|
|
|
+ mdependency.push_back(signal_dependency(strid));
|
|
|
+ mLastAddedDependency = static_cast<unsigned int>(mdependency.size()-1) ;
|
|
|
+ return mLastAddedDependency;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::CloneDependency(unsigned int index)
|
|
|
+{
|
|
|
+ if(index<(mdependency.size()-1))
|
|
|
+ mdependency.insert(mdependency.begin()+index+1, mdependency[index]);
|
|
|
+ else if(index==mdependency.size()-1)
|
|
|
+ mdependency.push_back(mdependency[index]);
|
|
|
+ mLastAddedDependency=index+1;
|
|
|
+ return mLastAddedDependency;
|
|
|
+}
|
|
|
+
|
|
|
+void Signal::DeleteDependency(unsigned int index)
|
|
|
+{
|
|
|
+ mdependency.erase(mdependency.begin()+index);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+vector<signal_reference> * Signal::GetReferenceVector()
|
|
|
+{
|
|
|
+ return &mreference;
|
|
|
+}
|
|
|
+
|
|
|
+signal_reference* Signal::GetReference(unsigned int i)
|
|
|
+{
|
|
|
+ if ((mreference.size()>0)&&(i<(mreference.size())))
|
|
|
+ return &(mreference.at(i));
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::GetReferenceCount()
|
|
|
+{
|
|
|
+ return static_cast<unsigned int >(mreference.size()) ;
|
|
|
+}
|
|
|
+
|
|
|
+signal_reference* Signal::GetLastReference()
|
|
|
+{
|
|
|
+ if (mreference.size()>0)
|
|
|
+ return &mreference.at(mreference.size()-1);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+signal_reference* Signal::GetLastAddedReference()
|
|
|
+{
|
|
|
+ if(mLastAddedReference<mreference.size())
|
|
|
+ return &mreference.at(mLastAddedReference);
|
|
|
+ else
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::AddReference(std::string elementType,std::string elementId)
|
|
|
+{
|
|
|
+ mreference.push_back(signal_reference(elementType,elementId));
|
|
|
+ mLastAddedReference = static_cast<unsigned int>(mreference.size()-1) ;
|
|
|
+ return mLastAddedReference;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int Signal::CloneReference(unsigned int index)
|
|
|
+{
|
|
|
+ if(index<(mreference.size()-1))
|
|
|
+ mreference.insert(mreference.begin()+index+1, mreference[index]);
|
|
|
+ else if(index==mreference.size()-1)
|
|
|
+ mreference.push_back(mreference[index]);
|
|
|
+ mLastAddedReference=index+1;
|
|
|
+ return mLastAddedReference;
|
|
|
+}
|
|
|
+
|
|
|
+void Signal::DeleteReference(unsigned int index)
|
|
|
+{
|
|
|
+ mreference.erase(mreference.begin()+index);
|
|
|
+}
|
|
|
+
|
|
|
signal_laneValidity * Signal::GetlaneValidity()
|
|
|
{
|
|
|
return mpsignal_laneValidity;
|