]> Dogcows Code - chaz/yoink/blobdiff - src/moof/line.hh
the massive refactoring effort
[chaz/yoink] / src / moof / line.hh
similarity index 55%
rename from src/Moof/Line.hh
rename to src/moof/line.hh
index 679e564fb378964c46c328d2a136c4ac54df917b..b40e7cf8c7c8190c9bb59ef5c8d566cda17edc65 100644 (file)
 #ifndef _MOOF_LINE_HH_
 #define _MOOF_LINE_HH_
 
-#include <Moof/Contact.hh>
-#include <Moof/Drawable.hh>
-#include <Moof/Log.hh>
-#include <Moof/Math.hh>
-#include <Moof/OpenGL.hh>
-#include <Moof/Ray.hh>
-#include <Moof/Shape.hh>
-#include <Moof/Sphere.hh>
-#include <Moof/Texture.hh>
+/**
+ * \file line.hh
+ * Classes related to line segments.
+ */
 
+#include <moof/contact.hh>
+#include <moof/drawable.hh>
+#include <moof/log.hh>
+#include <moof/math.hh>
+#include <moof/opengl.hh>
+#include <moof/ray.hh>
+#include <moof/shape.hh>
+#include <moof/sphere.hh>
+#include <moof/texture.hh>
 
-namespace Mf {
+
+namespace moof {
 
 
 template <int D>
-struct Line : public Drawable, public Shape<D>
+struct line : public drawable, public shape<D>
 {
-       typedef cml::vector< Scalar, cml::fixed<D> > Vector;
+       typedef moof::vector< scalar, fixed<D> > vector;
+
 
-       Vector  a;
-       Vector  b;
+       vector  a;
+       vector  b;
 
 
-       Line() {}
+       line() {}
 
-       Line(const Vector& point1, const Vector& point2) :
+       line(const vector& point1, const vector& point2) :
                a(point1),
                b(point2) {}
 
 
-       Vector getDirection() const
+       vector direction() const
        {
                return b - a;
        }
 
-       Scalar getLength() const
+       scalar length() const
        {
-               return getDirection().length();
+               return direction().length();
        }
 
 
-       bool intersect(const Line& other, Contact<D>& hit) const
+       bool intersect(const line& other, contact<D>& hit) const
        {
-               Scalar d = (other.b[1] - other.a[1]) * (b[0] - a[0]) -
+               scalar d = (other.b[1] - other.a[1]) * (b[0] - a[0]) -
                                   (other.b[0] - other.a[0]) * (b[1] - a[1]);
 
                if (d == SCALAR(0.0)) return false;                     // lines are parallel
                // ignoring the (somewhat remote) possibility of coincidence
 
-               Scalar m = ((other.b[0] - other.a[0]) * (a[1] - other.a[1]) -
+               scalar m = ((other.b[0] - other.a[0]) * (a[1] - other.a[1]) -
                                        (other.b[1] - other.a[1]) * (a[0] - other.a[0])) / d;
 
-               Scalar n = ((b[0] - a[0]) * (b[1] - other.a[1]) -
+               scalar n = ((b[0] - a[0]) * (b[1] - other.a[1]) -
                                        (b[1] - a[1]) * (b[0] - other.a[0])) / d;
 
                if (m < SCALAR(0.0) || m > SCALAR(1.0) ||       // not intersecting
                        n < SCALAR(0.0) || n > SCALAR(1.0)) return false;
 
-               Vector2 tangent = b - a;
-               Vector2 normal = cml::perp(tangent).normalize();
+               vector2 tangent = b - a;
+               vector2 normal = perp(tangent).normalize();
 
-               if (cml::dot(normal, other.a - other.b) < SCALAR(0.0))
+               if (dot(normal, other.a - other.b) < SCALAR(0.0))
                {
                        normal = -normal;
                }
@@ -85,15 +91,15 @@ struct Line : public Drawable, public Shape<D>
                return true;
        }
 
-       bool intersect(const Sphere<D>& other, Contact<D>& hit) const
+       bool intersect(const sphere<D>& other, contact<D>& hit) const
        {
-               Vector surface = b - a;
-               Vector toPoint = other.point - a;
+               vector surface = b - a;
+               vector toPoint = other.point - a;
 
-               Scalar surfaceLength = surface.length();
+               scalar surfaceLength = surface.length();
                surface.normalize();
 
-               Scalar projection = cml::dot(surface, toPoint);
+               scalar projection = dot(surface, toPoint);
 
                if (projection < SCALAR(0.0) || projection > surfaceLength)
                {
@@ -115,10 +121,10 @@ struct Line : public Drawable, public Shape<D>
                        return false;
                }
 
-               Vector point = a + surface * projection;
-               Vector normal = other.point - point;
+               vector point = a + surface * projection;
+               vector normal = other.point - point;
 
-               Scalar distance = normal.length();
+               scalar distance = normal.length();
 
                if (distance > other.radius) false;             // not intersecting
 
@@ -132,14 +138,14 @@ struct Line : public Drawable, public Shape<D>
        }
 
 
-       bool intersectRay(const Ray<2>& ray, Ray<2>::Contact& hit) const
+       bool intersect_ray(const ray<2>& ray, ray<2>::contact& hit) const
        {
-               Vector2 v1 = a - ray.point;
-               Scalar  a1 = cml::signed_angle_2D(v1, b - ray.point);
+               vector2 v1 = a - ray.point;
+               scalar  a1 = signed_angle_2D(v1, b - ray.point);
 
-               //logWarning << "angle:::::::::: " << a1 << std::endl;
+               //log_warning << "angle:::::::::: " << a1 << std::endl;
 
-               if (a1 == Constants::pi())
+               if (a1 == constants::pi())
                {
                        hit.distance = 5.4321;
                        return true;
@@ -150,18 +156,18 @@ struct Line : public Drawable, public Shape<D>
                        return true;
                }
 
-               Scalar  a2 = cml::signed_angle_2D(v1, ray.direction);
+               scalar  a2 = signed_angle_2D(v1, ray.direction);
 
                if (a2 < SCALAR(0.0) || a2 > a1) return false;
 
                //hit.distance = 1.23456;
-               //hit.normal = Vector2(0.0, 0.0);
+               //hit.normal = vector2(0.0, 0.0);
 
-               Vector2 n = (b - a).normalize();
-               Scalar  z = cml::dot(ray.point - a, n);
-               Vector2 p = a + n * z;
+               vector2 n = (b - a).normalize();
+               scalar  z = dot(ray.point - a, n);
+               vector2 p = a + n * z;
                hit.distance = (ray.point - p).length();
-               hit.normal = cml::perp(a - b);
+               hit.normal = perp(a - b);
                return true;
 
 
@@ -174,19 +180,19 @@ struct Line : public Drawable, public Shape<D>
                //        C = ray.point
                //        D = ray.direction
 
-               Scalar denom = ray.direction[0] * (b[1] - a[1]) +
+               scalar denom = ray.direction[0] * (b[1] - a[1]) +
                                           ray.direction[1] * (a[0] - b[0]);
 
                // check if the ray and line are parallel
-               //if (isEqual(denom, SCALAR(0.0)))
+               //if (is_equal(denom, SCALAR(0.0)))
                if (denom == SCALAR(0.0))
                {
-                       Scalar numer = a[0] * (ray.point[1] - b[1]) +
+                       scalar numer = a[0] * (ray.point[1] - b[1]) +
                                                   b[0] * (a[1] - ray.point[1]) +
                                                   ray.point[0] * (b[1] - a[1]);
 
                        // check if they are collinear
-                       if (isEqual(numer, SCALAR(0.0)))
+                       if (is_equal(numer, SCALAR(0.0)))
                        {
                                hit.distance = SCALAR(0.0);
                                hit.normal.set(0.0, 0.0);
@@ -196,7 +202,7 @@ struct Line : public Drawable, public Shape<D>
                        return false;
                }
 
-               Scalar s = (ray.direction[0] * (ray.point[1] - a[1]) +
+               scalar s = (ray.direction[0] * (ray.point[1] - a[1]) +
                                        ray.direction[1] * (a[0] - ray.point[0])) / denom;
 
                // check if the ray hits the segment
@@ -209,17 +215,17 @@ struct Line : public Drawable, public Shape<D>
                // check if the intersection is behind the ray
                if (hit.distance < SCALAR(0.0)) return false;
 
-               Vector normal = cml::perp(a - b);
-               if (cml::dot(a - ray.point, normal) < 0) hit.normal = normal;
+               vector normal = perp(a - b);
+               if (dot(a - ray.point, normal) < 0) hit.normal = normal;
                else                                     hit.normal = -normal;
                return true;
                */
        }
 
 
-       void draw(Scalar alpha = 0.0) const
+       void draw(scalar alpha = 0.0) const
        {
-               Mf::Texture::resetBind();
+               texture::reset_binding();
                glBegin(GL_LINES);
                        glVertex(a);
                        glVertex(b);
@@ -228,27 +234,27 @@ struct Line : public Drawable, public Shape<D>
 };
 
 
-typedef Line<2>                Line2;
-typedef Line<3>                Line3;
+typedef line<2>                line2;
+typedef line<3>                line3;
 
 
 template <int D, int N>
-struct Polygon : public Drawable, public Shape<D>
+struct polygon : public drawable, public shape<D>
 {
-       typedef cml::vector< Scalar, cml::fixed<D> > Vector;
+       typedef moof::vector< scalar, fixed<D> > vector;
 
-       Vector  points[N];
+       vector  points[N];
 
-       Polygon() {}
+       polygon() {}
 
-       bool intersectRay(const Ray<D>& ray, typename Ray<D>::Contact& hit)
+       bool intersect_ray(const ray<D>& ray, typename ray<D>::contact& hit)
        {
                return false;
        }
 
-       void draw(Scalar alpha = 0.0) const
+       void draw(scalar alpha = 0.0) const
        {
-               Mf::Texture::resetBind();
+               texture::reset_binding();
                glBegin(GL_POLYGON);
                for (int i = 0; i < D; ++i)
                {
@@ -259,19 +265,19 @@ struct Polygon : public Drawable, public Shape<D>
 };
 
 
-typedef Polygon<2,3>   Triangle2;
-typedef Polygon<3,3>   Triangle3;
+typedef polygon<2,3>   triangle2;
+typedef polygon<3,3>   triangle3;
 
 
 template <int D>
-bool intersect(const Line<D>& line, const Sphere<D>& sphere,
-                          Contact<D>& hit)
+bool intersect(const line<D>& line, const sphere<D>& sphere,
+                          contact<D>& hit)
 {
        return false;
 }
 
 
-} // namespace Mf
+} // namespace moof
 
 #endif // _MOOF_LINE_HH_
 
This page took 0.028281 seconds and 4 git commands to generate.