]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/profile.cpp
Separate train routing logic to a class derived from TrainAI
[r2c2.git] / source / libr2c2 / profile.cpp
index 257b898f39d14fa390e8d58b3b918faf24cc520f..a9951b2aebc5ab88139edd69c1447b97f7333064 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #include <cmath>
 #include "profile.h"
 
@@ -13,7 +6,7 @@ using namespace Msp;
 
 namespace R2C2 {
 
-void Profile::append_vertex(const Point &p, bool smooth)
+void Profile::append_vertex(const Vector &p, bool smooth)
 {
        if(vertices.size()>1 && !vertices.back().smooth)
                vertices.push_back(vertices.back());
@@ -32,7 +25,7 @@ void Profile::append_vertex(const Point &p, bool smooth)
 
                if(vertices.back().smooth)
                {
-                       Point &n = vertices.back().normal;
+                       Vector &n = vertices.back().normal;
                        n.x += v.normal.x;
                        n.y += v.normal.y;
                        len = sqrt(n.x*n.x+n.y*n.y);
@@ -62,7 +55,7 @@ void Profile::append_vertex(const Point &p, bool smooth)
 const Profile::Vertex &Profile::get_vertex(unsigned i) const
 {
        if(i>=vertices.size())
-               throw InvalidParameterValue("Index out of range");
+               throw out_of_range("Profile::get_vertex");
        return vertices[i];
 }
 
@@ -76,12 +69,12 @@ Profile::Loader::Loader(Profile &p):
 
 void Profile::Loader::point(float x, float y)
 {
-       obj.append_vertex(Point(x/1000, y/1000), false);
+       obj.append_vertex(Vector(x/1000, y/1000), false);
 }
 
 void Profile::Loader::smooth_point(float x, float y)
 {
-       obj.append_vertex(Point(x/1000, y/1000), true);
+       obj.append_vertex(Vector(x/1000, y/1000), true);
 }
 
 } // namespace R2C2