build_endpoint_mesh();
}
+Catalogue3D::~Catalogue3D()
+{
+ for(map<const TrackType *, TrackType3D *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
+ delete i->second;
+}
+
const TrackType3D &Catalogue3D::get_track(const TrackType &tt) const
{
map<const TrackType *, TrackType3D *>::const_iterator i = tracks.find(&tt);
public:
Catalogue3D(const Catalogue &);
+ ~Catalogue3D();
const Catalogue &get_catalogue() const { return catalogue; }
const TrackType3D &get_track(const TrackType &) const;
{
for(map<string, GL::Mesh *>::iterator i=graphics.begin(); i!=graphics.end(); ++i)
delete i->second;
+ for(map<const Track3D *, Icon *>::iterator i=icons.begin(); i!=icons.end(); ++i)
+ delete i->second;
}
void Overlay3D::set_label(const Track3D &track, const string &label)
Designer::~Designer()
{
+ delete overlay;
delete root;
- delete layout;
+ delete pipeline;
+ delete base_object;
delete layout_3d;
+ delete layout;
delete cat_layout_3d;
}
selection.clear();
for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
+ overlay->clear(layout_3d->get_track(**i));
layout->remove_track(**i);
delete *i;
}
{
for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
delete *i;
+ for(map<string, Route *>::iterator i=routes.begin(); i!=routes.end(); ++i)
+ delete i->second;
}
void Layout::add_track(Track &t)