Code

typo fixes
[inkscape.git] / src / 2geom / linear.h
index 271e87be4642a4a29d84483b95c4c07146e75220..a7f4c8f21950364b3bd00a8c7f73ab69f056da7d 100644 (file)
@@ -1,5 +1,6 @@
-/*
- *  linear.h - Linear fragment function class
+/**
+ * \file
+ * \brief  Linear fragment function class
  *
  *  Authors:
  *   Nathan Hurst <njh@mail.csse.monash.edu.au>
 
 #ifndef SEEN_LINEAR_H
 #define SEEN_LINEAR_H
-#include "interval.h"
-#include "isnan.h"
+#include <2geom/interval.h>
+#include <2geom/isnan.h>
+
+
+//#define USE_SBASIS_OF
+
+#ifdef USE_SBASIS_OF
+
+#include "linear-of.h"
+
+#else
 
 namespace Geom{
 
@@ -42,36 +52,12 @@ inline double lerp(double t, double a, double b) { return a*(1-t) + b*t; }
 
 class SBasis;
 
-class Hat{
-public:
-    Hat () {}
-    Hat(double d) :d(d) {}
-    operator double() const { return d; }
-    double d;
-};
-
-class Tri{
-public:
-    Tri () {}
-    Tri(double d) :d(d) {}
-    operator double() const { return d; }
-    double d;
-};
-
 class Linear{
 public:
     double a[2];
     Linear() {}
     Linear(double aa, double b) {a[0] = aa; a[1] = b;}
-    Linear(Hat h, Tri t) {
-        a[0] = double(h) - double(t)/2; 
-        a[1] = double(h) + double(t)/2;
-    }
-
-    Linear(Hat h) {
-        a[0] = double(h); 
-        a[1] = double(h);
-    }
+    Linear(double aa) {a[0] = aa; a[1] = aa;}
 
     double operator[](const int i) const {
         assert(i >= 0);
@@ -99,14 +85,14 @@ public:
     //defined in sbasis.h
     inline SBasis toSBasis() const;
 
-    inline Interval bounds_exact() const { return Interval(a[0], a[1]); }
-    inline Interval bounds_fast() const { return bounds_exact(); }
-    inline Interval bounds_local(double u, double v) const { return Interval(valueAt(u), valueAt(v)); }
+    inline OptInterval bounds_exact() const { return Interval(a[0], a[1]); }
+    inline OptInterval bounds_fast() const { return bounds_exact(); }
+    inline OptInterval bounds_local(double u, double v) const { return Interval(valueAt(u), valueAt(v)); }
 
-    operator Tri() const {
+    double tri() const {
         return a[1] - a[0];
     }
-    operator Hat() const {
+    double hat() const {
         return (a[1] + a[0])/2;
     }
 };
@@ -168,7 +154,9 @@ inline Linear operator/=(Linear & a, double b) {
     a[0] /= b; a[1] /= b;
     return a;
 }
-};
+
+}
+#endif
 
 #endif //SEEN_LINEAR_H