]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trackpart.h
Remove diversion logic
[r2c2.git] / source / libr2c2 / trackpart.h
index 42945845add5aa8d58d17ddd82f6c498f3d4f100..787a6ca5777bd4543d53c16d82992cda0f1fc6a9 100644 (file)
@@ -1,14 +1,7 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2006-2010  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef LIBR2C2_TRACKPART_H_
 #define LIBR2C2_TRACKPART_H_
 
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
 #include "geometry.h"
 
 namespace R2C2 {
@@ -16,7 +9,7 @@ namespace R2C2 {
 class TrackPart
 {
 public:
-       class Loader: public Msp::DataFile::BasicLoader<TrackPart>
+       class Loader: public Msp::DataFile::ObjectLoader<TrackPart>
        {
        public:
                Loader(TrackPart &);
@@ -40,10 +33,12 @@ public:
        float get_length() const;
        bool is_curved() const { return radius; }
        TrackPoint get_point(float) const;
+       TrackPoint get_nearest_point(const Vector &) const;
        unsigned get_path() const { return path; }
        bool is_dead_end() const { return dead_end; }
        void check_link(TrackPart &);
        TrackPart *get_link(unsigned) const;
+       bool collide_ray(const Vector &, const Vector &, float) const;
 };
 
 } // namespace R2C2