43 #include <mesosim/MELoop.h>
44 #include <mesosim/MESegment.h>
47 #ifdef CHECK_MEMORY_LEAKS
49 #endif // CHECK_MEMORY_LEAKS
58 of.
openTag(
"?xml") <<
" version=\"1.0\" encoding=\"UTF-8\" ?>\n";
59 of.
openTag(
"VTKFile") <<
" type=\"PolyData\" version=\"0.1\" order=\"LittleEndian\" >\n";
60 of.
openTag(
"PolyData") <<
">\n";
62 std::vector<double> speed =
getSpeed();
66 of.
openTag(
"Piece") <<
" NumberOfPoints=\"" << speed.size() <<
67 "\" NumberOfVerts=\"1\" NumberOfLines=\"0\" NumberOfStrips=\"0\" NumberOfPolys=\"0\">\n";
69 of.
openTag(
"PointData") <<
">\n";
89 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"connectivity\" format=\"ascii\" >" <<
getOffset((
int) speed.size());
92 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"offsets\" format=\"ascii\" >" << speed.size();
99 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"connectivity\" format=\"ascii\"";
102 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"offsets\" format=\"ascii\"";
109 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"connectivity\" format=\"ascii\"";
112 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"offsets\" format=\"ascii\"";
119 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"connectivity\" format=\"ascii\"";
122 of.
openTag(
"DataArray") <<
" type=\"Int64\" Name=\"offsets\" format=\"ascii\"";
142 std::vector<double> output;
149 for (; it != end; ++it) {
155 output.push_back(veh->
getSpeed() * 3.6);
166 std::vector<double> output;
173 for (; it != end; ++it) {
192 std::string output =
"";
193 for (
unsigned i = 0; i < input.size(); i++) {
195 std::stringstream ss;
198 ss.precision(::std::numeric_limits<double>::digits10);
199 ss.unsetf(::std::ios::dec);
200 ss.setf(::std::ios::scientific);
202 ss << input[i] <<
" ";
212 std::string output =
"";
213 for (
int i = 0; i < nr; i++) {
215 std::stringstream ss;
225 if (c ==
' ' || c ==
'\t' || c ==
'\r' || c ==
'\n' || c == 11) {
233 bool trimmed =
false;
236 istring.erase(istring.length() - 1);
248 return trim(istring);
static bool ctype_space(const char c)
Checks if there is a whitespace.
Representation of a vehicle in the micro simulation.
Position positionAtOffset(SUMOReal pos) const
Returns the position at the given length.
constVehIt loadedVehBegin() const
Returns the begin of the internal vehicle map.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
Position getPosition(SUMOReal offset=0) const
Return current position (x/y, cartesian)
SUMOReal getPositionOnLane() const
Get the vehicle's position along the lane.
constVehIt loadedVehEnd() const
Returns the end of the internal vehicle map.
SUMOReal x() const
Returns the x-position.
static std::vector< double > getPositions()
Get a Vector of the Positions (x,y,z) of each vehicle in the actual timestep.
A point in 2D or 3D with translation and scaling methods.
MSVehicleControl & getVehicleControl()
Returns the vehicle control.
SUMOReal z() const
Returns the z-position.
static void write(OutputDevice &of, SUMOTime timestep)
Produce a VTK output to use with Tools like ParaView.
static std::vector< double > getSpeed()
Get a Vector with the speed values of each vehicle in the actual timestep.
static std::string List2String(std::vector< double > input)
Get a comma separated String from a Vector.
SUMOReal y() const
Returns the y-position.
static std::string trim(std::string istring)
Deletes the whitespaces at the end of a String.
SUMOReal getSpeed() const
Returns the vehicle's current speed.
std::map< std::string, SUMOVehicle * >::const_iterator constVehIt
Definition of the internal vehicles map iterator.
const PositionVector & getShape() const
Returns this lane's shape.
Static storage of an output device and its base (abstract) implementation.
bool closeTag()
Closes the most recently opened tag.
static std::string getOffset(int nr)
Get a String with the indexes of all vehicles (needed in the VTk File)
The class responsible for building and deletion of vehicles.
bool isOnRoad() const
Returns the information whether the vehicle is on a road (is simulated)
MSLane * getLane() const
Returns the lane the vehicle is on.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.