/* $Id$
This file is part of the MSP Märklin suite
-Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
#ifndef LIBMARKLIN_GEOMETRY_H_
#define LIBMARKLIN_GEOMETRY_H_
+#include <cmath>
#include <vector>
namespace Marklin {
Point(float x_, float y_, float z_): x(x_), y(y_), z(z_) { }
};
+inline float distance(const Point &p, const Point &q)
+{ return sqrt((p.x-q.x)*(p.x-q.x) + (p.y-q.y)*(p.y-q.y) + (p.z-q.z)*(p.z-q.z)); }
+
+struct TrackPoint
+{
+ Point pos;
+ float dir;
+ float grade;
+
+ TrackPoint(): dir(0), grade(0) { }
+};
+
} // namespace Marklin
#endif