git.ucc.asn.au
/
ipdf
/
code.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.ucc.asn.au:ipdf/code
[ipdf/code.git]
/
src
/
bezier.cpp
diff --git
a/src/bezier.cpp
b/src/bezier.cpp
index
67b384c
..
daa0736
100644
(file)
--- a/
src/bezier.cpp
+++ b/
src/bezier.cpp
@@
-4,6
+4,8
@@
#include <cmath>
#include <algorithm>
#include <cmath>
#include <algorithm>
+
+
using namespace std;
namespace IPDF
using namespace std;
namespace IPDF
@@
-54,11
+56,13
@@
static void CubicSolveSegment(vector<Real> & roots, const Real & a, const Real &
Real l = a*tl*tl*tl + b*tl*tl + c*tl + d;
Real u = a*tu*tu*tu + b*tu*tu + c*tu + d;
if ((l < 0 && u < 0) || (l > 0 && u > 0))
Real l = a*tl*tl*tl + b*tl*tl + c*tl + d;
Real u = a*tu*tu*tu + b*tu*tu + c*tu + d;
if ((l < 0 && u < 0) || (l > 0 && u > 0))
- Debug("Discarding segment (no roots) l = %f (%f), u = %f (%f)", tl, l, tu, u);
+ {
+ //Debug("Discarding segment (no roots) l = %f (%f), u = %f (%f)", Double(tl), Double(l), Double(tu), Double(u));
//return;
//return;
+ }
bool negative = (u < l); // lower point > 0, upper point < 0
bool negative = (u < l); // lower point > 0, upper point < 0
-
Debug("%ft^3 + %ft^2 + %ft + %f is negative (%f < %f) %d", a,b,c,d,u,l
, negative);
+
//Debug("%ft^3 + %ft^2 + %ft + %f is negative (%f < %f) %d", Double(a),Double(b),Double(c),Double(d),Double(u),Double(l)
, negative);
while (tu - tl > delta)
{
Real t(tu+tl);
while (tu - tl > delta)
{
Real t(tu+tl);
@@
-89,7
+93,7
@@
vector<Real> SolveCubic(const Real & a, const Real & b, const Real & c, const Re
Real tu(max);
Real tl(min);
vector<Real> turns(SolveQuadratic(a*3, b*2, c));
Real tu(max);
Real tl(min);
vector<Real> turns(SolveQuadratic(a*3, b*2, c));
- Debug("%u turning points", turns.size());
+
//
Debug("%u turning points", turns.size());
for (unsigned i = 1; i < turns.size(); ++i)
{
tu = turns[i];
for (unsigned i = 1; i < turns.size(); ++i)
{
tu = turns[i];
@@
-422,3
+426,4
@@
Rect Bezier::SolveBounds() const
}
} // end namespace
}
} // end namespace
+
UCC
git Repository :: git.ucc.asn.au