Exemplo n.º 1
0
std::string KinematicBandsCore::toString() const {
  int precision = Constants::get_output_precision();
  std::string s="";
  s+="## KinematicBandsCore Parameters\n";
  s+=parameters.toString();
  s+="## KinematicBandsCore Internals\n";
  s+="outdated_ = "+Fmb(outdated_)+"\n";
  s+="most_urgent_ac_ = "+most_urgent_ac.getId()+"\n";
  s+="epsh_ = "+Fmi(epsh_)+"\n";
  s+="epsv_ = "+Fmi(epsv_)+"\n";
  for (TrafficState::nat i=0; i < conflict_acs_.size(); ++i) {
    s+="conflict_acs_["+Fmi(i)+"]: "+
        TrafficState::listToString(conflict_acs_[i])+"\n";
  }
  for (Interval::nat i=0; i < tiov_.size(); ++i) {
    s+="tiov_["+Fmi(i)+"]: "+
        tiov_[i].toString(precision)+"\n";
  }
  s+="## Ownship and Traffic\n";
  s+="NAME sx sy sz vx vy vz time\n";
  s+="[none] [m] [m] [m] [m/s] [m/s] [m/s] [s]\n";
  s+=ownship.getId()+", "+ownship.get_s().formatXYZ(precision,"",", ","")+
      ", "+ownship.get_v().formatXYZ(precision,"",", ","")+", "+
      FmPrecision(ownship.getTime(),precision)+"\n";
  for (TrafficState::nat i = 0; i < traffic.size(); i++) {
    s+=traffic[i].getId()+", "+traffic[i].get_s().formatXYZ(precision,"",", ","")+
        ", "+traffic[i].get_v().formatXYZ(precision,"",", ","")+
        ", "+FmPrecision(traffic[i].getTime(),precision)+"\n";
  }
  s+="##\n";
  return s;

}
Exemplo n.º 2
0
std::string TCASTable::toPVS(int prec) const {
  std::string s = "(# ";
  s += "TAU := (: "+Fm1(TAU[0]);
  for (int i=1; i < 7; i++) {
    s += ", "+Fm1(TAU[i]);
  }
  s += " :), TCOA := (: "+Fm1(TCOA[0]);
  for (int i=1; i < 7; i++) {
    s += ", "+Fm1(TCOA[i]);
  }
  s += " :), DMOD := (: "+FmPrecision(DMOD[0],prec);
  for (int i=1; i < 7; i++) {
    s += ", "+FmPrecision(DMOD[i],prec);
  }
  s += " :), ZTHR := (: "+FmPrecision(ZTHR[0],prec);
  for (int i=1; i < 7; i++) {
    s += ", "+FmPrecision(ZTHR[i],prec);
  }
  s += " :), HMD := (: "+FmPrecision(HMD[0],prec);
  for (int i=1; i < 7; i++) {
    s += ", "+FmPrecision(HMD[i],prec);
  }
  s += " :), HMDFilter := ";
  s += (HMDFilter ? "TRUE" : "FALSE");
  return s + " #)";
}
Exemplo n.º 3
0
std::string Vect2::toPVS(int prec) const {
	return "(# x:= "+FmPrecision(x,prec)+", y:= "+FmPrecision(y,prec)+" #)";
}
Exemplo n.º 4
0
std::string Vect2::formatXY(int prec, const std::string& pre, const std::string& mid, const std::string& post) const {
	return  pre+FmPrecision(x,prec)+mid+FmPrecision(y,prec)+post;
}
Exemplo n.º 5
0
std::string Vect2::toStringNP(const std::string& xunit, const std::string& yunit, int prec) const {
	return FmPrecision(Units::to(xunit,x),prec)+", "+FmPrecision(Units::to(yunit,y),prec);
}
Exemplo n.º 6
0
std::string WCVTable::toPVS(int prec) const {
  return "(# DTHR := "+FmPrecision(DTHR,prec)+", ZTHR := "+FmPrecision(ZTHR,prec)+
      ", TTHR := "+Fm1(TTHR)+", TCOA := "+Fm1(TCOA)+" #)";
}