Set correct aspect ratio to camera
Add serial to svn:ignore
{
for(map<const TrackType *, TrackType3D *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
delete i->second;
{
for(map<const TrackType *, TrackType3D *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
delete i->second;
+ for(map<const VehicleType *, VehicleType3D *>::iterator i=vehicles.begin(); i!=vehicles.end(); ++i)
+ delete i->second;
}
const TrackType3D &Catalogue3D::get_track(const TrackType &tt) const
}
const TrackType3D &Catalogue3D::get_track(const TrackType &tt) const
layout.remove_track(*this);
layout.get_scene().remove(*this);
layout.remove_track(*this);
layout.get_scene().remove(*this);
border.erase(graham_scan(border.begin(), border.end()), border.end());
}
border.erase(graham_scan(border.begin(), border.end()), border.end());
}
+TrackType3D::~TrackType3D()
+{
+ for(vector<GL::Mesh *>::iterator i=path_meshes.begin(); i!=path_meshes.end(); ++i)
+ delete *i;
+}
+
void TrackType3D::get_bounds(float angle, Point &minp, Point &maxp) const
{
float c = cos(-angle);
void TrackType3D::get_bounds(float angle, Point &minp, Point &maxp) const
{
float c = cos(-angle);
public:
TrackType3D(const Catalogue3D &, const TrackType &);
public:
TrackType3D(const Catalogue3D &, const TrackType &);
void get_bounds(float, Point &, Point &) const;
const Msp::GL::Mesh &get_path_mesh(unsigned) const;
void get_bounds(float, Point &, Point &) const;
const Msp::GL::Mesh &get_path_mesh(unsigned) const;
camera.set_position(pos);
camera.set_up_direction(up);
camera.set_look_direction(GL::Vector3(0, 0, -1));
camera.set_position(pos);
camera.set_up_direction(up);
camera.set_look_direction(GL::Vector3(0, 0, -1));
+ camera.set_aspect(float(window.get_width())/window.get_height());
camera.set_depth_clip(pos.z*0.5, pos.z*1.5);
}
camera.set_depth_clip(pos.z*0.5, pos.z*1.5);
}
#include <string>
#include <vector>
#include <string>
#include <vector>
+#include <sigc++/trackable.h>
#include <msp/datafile/objectloader.h>
#include <msp/time/timestamp.h>
#include <msp/datafile/objectloader.h>
#include <msp/time/timestamp.h>
class Block;
class Train;
class Block;
class Train;
+class Timetable: public sigc::trackable
{
public:
class Loader: public Msp::DataFile::ObjectLoader<Timetable>
{
public:
class Loader: public Msp::DataFile::ObjectLoader<Timetable>
+ delete control;
+ delete timetable;
for(vector<Vehicle *>::iterator i=vehicles.begin(); i!=vehicles.end(); ++i)
delete *i;
layout.remove_train(*this);
for(vector<Vehicle *>::iterator i=vehicles.begin(); i!=vehicles.end(); ++i)
delete *i;
layout.remove_train(*this);