]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/track.h
Add functions to resolve an arbitrary point to the nearest point on a track
[r2c2.git] / source / libr2c2 / track.h
index 8f75f78fc1c093f94e83f74e70a5518b1f378aa3..3ae5d602295dcd1fdcbf074b8d47880e8d5e45c8 100644 (file)
@@ -1,17 +1,10 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2006-2010  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef LIBR2C2_TRACK_H_
 #define LIBR2C2_TRACK_H_
 
 #include <list>
 #include <set>
 #include <sigc++/trackable.h>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
 #include "geometry.h"
 
 namespace R2C2 {
@@ -23,7 +16,7 @@ class TrackType;
 class Track: public sigc::trackable
 {
 public:
-       class Loader: public Msp::DataFile::BasicLoader<Track>
+       class Loader: public Msp::DataFile::ObjectLoader<Track>
        {
        public:
                Loader(Track &);
@@ -88,6 +81,9 @@ public:
        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 &);
 
        void save(std::list<Msp::DataFile::Statement> &) const;
 private: