58 std::vector<double> speed =
getSpeed();
61 of <<
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
62 of <<
"<VTKFile type=\"PolyData\" version=\"0.1\" order=\"LittleEndian\">\n";
64 of <<
" <Piece NumberOfPoints=\"" << speed.size() <<
"\" NumberOfVerts=\"1\" NumberOfLines=\"0\" NumberOfStrips=\"0\" NumberOfPolys=\"0\">\n";
65 of <<
"<PointData>\n";
66 of <<
" <DataArray type=\"Float64\" Name=\"speed\" format=\"ascii\">" <<
List2String(
getSpeed()) <<
"</DataArray>\n";
67 of <<
"</PointData>\n";
68 of <<
"<CellData/>\n";
70 of <<
" <DataArray type=\"Float64\" Name=\"Points\" NumberOfComponents=\"3\" format=\"ascii\">" <<
List2String(
getPositions()) <<
"</DataArray>\n";
73 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\">" <<
getOffset((
int) speed.size()) <<
"</DataArray>\n";
74 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\">" << speed.size() <<
"</DataArray>\n";
77 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
78 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
81 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
82 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
85 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
86 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
89 of <<
"</PolyData>\n";
97 std::vector<double> output;
104 for (; it != end; ++it) {
121 std::vector<double> output;
128 for (; it != end; ++it) {
147 std::string output =
"";
148 for (
int i = 0; i < (int)input.size(); i++) {
150 std::stringstream ss;
157 ss << input[i] <<
" ";
167 std::string output =
"";
168 for (
int i = 0; i < nr; i++) {
170 std::stringstream ss;
180 if (c ==
' ' || c ==
'\t' || c ==
'\r' || c ==
'\n' || c == 11) {
188 bool trimmed =
false;
191 istring.erase(istring.length() - 1);
203 return trim(istring);
static bool ctype_space(const char c)
Checks if there is a whitespace.
Representation of a vehicle in the micro simulation.
constVehIt loadedVehBegin() const
Returns the begin of the internal vehicle map.
double z() const
Returns the z-position.
MSLane * getLane() const
Returns the lane the vehicle is on.
double y() const
Returns the y-position.
double getPositionOnLane() const
Get the vehicle's position along the lane.
double x() const
Returns the x-position.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
const PositionVector & getShape() const
Returns this lane's shape.
Position getPosition(const double offset=0) const
Return current position (x/y, cartesian)
static std::vector< double > getPositions()
Get a Vector of the Positions (x,y,z) of each vehicle in the actual timestep.
bool isOnRoad() const
Returns the information whether the vehicle is on a road (is simulated)
A point in 2D or 3D with translation and scaling methods.
MSVehicleControl & getVehicleControl()
Returns the vehicle control.
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.
static std::string trim(std::string istring)
Deletes the whitespaces at the end of a String.
std::map< std::string, SUMOVehicle * >::const_iterator constVehIt
Definition of the internal vehicles map iterator.
Static storage of an output device and its base (abstract) implementation.
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.
double getSpeed() const
Returns the vehicle's current speed.
Position positionAtOffset(double pos, double lateralOffset=0) const
Returns the position at the given length.
constVehIt loadedVehEnd() const
Returns the end of the internal vehicle map.