Code

Spelling fix
[inkscape.git] / src / 2geom / concepts.h
index 42192c4458178444b6970aab08d3c6a40704652e..50cef4e4b34e2fd7f275678bea8c8621d8c8294b 100644 (file)
@@ -34,7 +34,7 @@
 #include "sbasis.h"
 #include "interval.h"
 #include "point.h"
-
+#include <vector>
 #include <boost/concept_check.hpp>
 
 namespace Geom {
@@ -66,15 +66,22 @@ struct FragmentConcept {
     bool b;
     BoundsType i;
     Interval dom;
+    std::vector<OutputType> v;
+    unsigned u;
+    SbType sb;
     void constraints() {
         t = T(o);
         b = t.isZero();
+        b = t.isConstant();
         b = t.isFinite();
         o = t.at0();
         o = t.at1();
         o = t.valueAt(d);
         o = t(d);
-        SbType sb = t.toSBasis();
+        v = t.valueAndDerivatives(d, u);
+               //Is a pure derivative (ignoring others) accessor ever much faster?
+               //u = number of values returned. first val is value.
+        sb = t.toSBasis();
         t = reverse(t);
         i = bounds_fast(t);
         i = bounds_exact(t);
@@ -98,7 +105,7 @@ struct NearConcept {
     double tol;
     bool res;
     void constraints() {
-        res = near(a, b, tol);
+        res = are_near(a, b, tol);
     }
 };