summaryrefslogtreecommitdiffstats
path: root/src/2geom/sbasis-geometric.cpp
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2012-04-10 20:46:16 +0000
committerJohan B. C. Engelen <j.b.c.engelen@alumnus.utwente.nl>2012-04-10 20:46:16 +0000
commitc85efd9949049fdfda8b1decde5cb1e112893e17 (patch)
tree9d39e9b9d019d550a5a8810db556b3b4d0fc7864 /src/2geom/sbasis-geometric.cpp
parentfix 2geom (diff)
downloadinkscape-c85efd9949049fdfda8b1decde5cb1e112893e17.tar.gz
inkscape-c85efd9949049fdfda8b1decde5cb1e112893e17.zip
more 2geom fix
(bzr r11215)
Diffstat (limited to 'src/2geom/sbasis-geometric.cpp')
-rw-r--r--src/2geom/sbasis-geometric.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/2geom/sbasis-geometric.cpp b/src/2geom/sbasis-geometric.cpp
index b228a8ca0..74827e27c 100644
--- a/src/2geom/sbasis-geometric.cpp
+++ b/src/2geom/sbasis-geometric.cpp
@@ -1,9 +1,3 @@
-#include <2geom/sbasis-geometric.h>
-#include <2geom/sbasis.h>
-#include <2geom/sbasis-math.h>
-//#include <2geom/solver.h>
-#include <2geom/sbasis-geometric.h>
-
/** Geometric operators on D2<SBasis> (1D->2D).
* Copyright 2007 JF Barraud
* Copyright 2007 N Hurst
@@ -21,6 +15,12 @@
*
**/
+#include <2geom/sbasis-geometric.h>
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-math.h>
+//#include <2geom/solver.h>
+#include <2geom/sbasis-geometric.h>
+
//namespace Geom{
using namespace Geom;
using namespace std;
@@ -409,6 +409,9 @@ Geom::arc_length_parametrization(D2<SBasis> const &M,
Piecewise<SBasis> s = arcLengthSb(Piecewise<D2<SBasis> >(M),tol);
for (unsigned i=0; i < s.size();i++){
double t0=s.cuts[i],t1=s.cuts[i+1];
+ if ( are_near(s(t0),s(t1)) ) {
+ continue;
+ }
D2<SBasis> sub_M = compose(M,Linear(t0,t1));
D2<SBasis> sub_u;
for (unsigned dim=0;dim<2;dim++){