#include <list>
#include <set>
#include <sigc++/trackable.h>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
#include "geometry.h"
namespace R2C2 {
class Track: public sigc::trackable
{
public:
- class Loader: public Msp::DataFile::BasicLoader<Track>
+ class Loader: public Msp::DataFile::ObjectLoader<Track>
{
public:
Loader(Track &);
unsigned sensor_id;
std::vector<Track *> links;
unsigned active_path;
+ bool path_changing;
Track(const Track &);
Track &operator=(const Track &);
unsigned get_sensor_id() const { return sensor_id; }
void set_active_path(unsigned);
unsigned get_active_path() const { return active_path; }
+ bool is_path_changing() const { return path_changing; }
int get_endpoint_by_link(Track &) const;
Vector get_endpoint_position(unsigned) const;
Track *get_link(unsigned) const;
TrackPoint get_point(unsigned, unsigned, float) const;
TrackPoint get_point(unsigned, float) const;
+ TrackPoint get_nearest_point(const Vector &) const;
bool collide_ray(const Vector &, const Vector &);