43 std::vector<double> speed =
getSpeed();
46 of <<
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
47 of <<
"<VTKFile type=\"PolyData\" version=\"0.1\" order=\"LittleEndian\">\n";
49 of <<
" <Piece NumberOfPoints=\"" << speed.size() <<
"\" NumberOfVerts=\"1\" NumberOfLines=\"0\" NumberOfStrips=\"0\" NumberOfPolys=\"0\">\n";
50 of <<
"<PointData>\n";
51 of <<
" <DataArray type=\"Float64\" Name=\"speed\" format=\"ascii\">" <<
List2String(
getSpeed()) <<
"</DataArray>\n";
52 of <<
"</PointData>\n";
53 of <<
"<CellData/>\n";
55 of <<
" <DataArray type=\"Float64\" Name=\"Points\" NumberOfComponents=\"3\" format=\"ascii\">" <<
List2String(
getPositions()) <<
"</DataArray>\n";
58 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\">" <<
getOffset((
int) speed.size()) <<
"</DataArray>\n";
59 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\">" << speed.size() <<
"</DataArray>\n";
62 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
63 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
66 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
67 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
70 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
71 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
74 of <<
"</PolyData>\n";
82 std::vector<double> output;
89 for (; it != end; ++it) {
106 std::vector<double> output;
113 for (; it != end; ++it) {
132 std::string output =
"";
133 for (
int i = 0; i < (int)input.size(); i++) {
135 std::stringstream ss;
142 ss << input[i] <<
" ";
152 std::string output =
"";
153 for (
int i = 0; i < nr; i++) {
155 std::stringstream ss;
165 if (c ==
' ' || c ==
'\t' || c ==
'\r' || c ==
'\n' || c == 11) {
173 bool trimmed =
false;
176 istring.erase(istring.length() - 1);
188 return trim(istring);
virtual const PositionVector & getShape(bool) const
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
MSVehicleControl & getVehicleControl()
Returns the vehicle control.
static bool ctype_space(const char c)
Checks if there is a whitespace.
static void write(OutputDevice &of, SUMOTime timestep)
Produce a VTK output to use with Tools like ParaView.
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.
static std::vector< double > getPositions()
Get a Vector of the Positions (x,y,z) of each vehicle in the actual timestep.
static std::vector< double > getSpeed()
Get a Vector with the speed values of each vehicle in the actual timestep.
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.
std::map< std::string, SUMOVehicle * >::const_iterator constVehIt
Definition of the internal vehicles map iterator.
constVehIt loadedVehBegin() const
Returns the begin of the internal vehicle map.
constVehIt loadedVehEnd() const
Returns the end of the internal vehicle map.
Representation of a vehicle in the micro simulation.
bool isOnRoad() const
Returns the information whether the vehicle is on a road (is simulated)
Position getPosition(const double offset=0) const
Return current position (x/y, cartesian)
const MSLane * getLane() const
Returns the lane the vehicle is on.
double getSpeed() const
Returns the vehicle's current speed.
double getPositionOnLane() const
Get the vehicle's position along the lane.
Static storage of an output device and its base (abstract) implementation.
A point in 2D or 3D with translation and scaling methods.
double x() const
Returns the x-position.
double z() const
Returns the z-position.
double y() const
Returns the y-position.
Position positionAtOffset(double pos, double lateralOffset=0) const
Returns the position at the given length.