51 #ifdef CHECK_MEMORY_LEAKS
53 #endif // CHECK_MEMORY_LEAKS
62 std::vector<double> speed =
getSpeed();
65 of <<
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
66 of <<
"<VTKFile type=\"PolyData\" version=\"0.1\" order=\"LittleEndian\">\n";
68 of <<
" <Piece NumberOfPoints=\"" << speed.size() <<
"\" NumberOfVerts=\"1\" NumberOfLines=\"0\" NumberOfStrips=\"0\" NumberOfPolys=\"0\">\n";
69 of <<
"<PointData>\n";
70 of <<
" <DataArray type=\"Float64\" Name=\"speed\" format=\"ascii\">" <<
List2String(
getSpeed()) <<
"</DataArray>\n";
71 of <<
"</PointData>\n";
72 of <<
"<CellData/>\n";
74 of <<
" <DataArray type=\"Float64\" Name=\"Points\" NumberOfComponents=\"3\" format=\"ascii\">" <<
List2String(
getPositions()) <<
"</DataArray>\n";
77 of <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\">" <<
getOffset((
int) speed.size()) <<
"</DataArray>\n";
78 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\">" << speed.size() <<
"</DataArray>\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 <<
" <DataArray type=\"Int64\" Name=\"connectivity\" format=\"ascii\"/>\n";
90 of <<
" <DataArray type=\"Int64\" Name=\"offsets\" format=\"ascii\"/>\n";
93 of <<
"</PolyData>\n";
101 std::vector<double> output;
108 for (; it != end; ++it) {
125 std::vector<double> output;
132 for (; it != end; ++it) {
151 std::string output =
"";
152 for (
int i = 0; i < (int)input.size(); i++) {
154 std::stringstream ss;
161 ss << input[i] <<
" ";
171 std::string output =
"";
172 for (
int i = 0; i < nr; i++) {
174 std::stringstream ss;
184 if (c ==
' ' || c ==
'\t' || c ==
'\r' || c ==
'\n' || c == 11) {
192 bool trimmed =
false;
195 istring.erase(istring.length() - 1);
207 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.
Position getPosition(const SUMOReal offset=0) const
Return current position (x/y, cartesian)
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
SUMOReal getPositionOnLane() const
Get the vehicle's position along the lane.
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.
Position positionAtOffset(SUMOReal pos, SUMOReal lateralOffset=0) const
Returns the position at the given length.
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.
constVehIt loadedVehEnd() const
Returns the end of the internal vehicle map.
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.