Revision: 52565
http://brlcad.svn.sourceforge.net/brlcad/?rev=52565&view=rev
Author: starseeker
Date: 2012-09-26 20:52:12 +0000 (Wed, 26 Sep 2012)
Log Message:
-----------
If we've got a singleton interval, don't try going deeper with it - leads to
crashing.
Modified Paths:
--------------
brlcad/trunk/src/libnurbs/opennurbs_ext.cpp
Modified: brlcad/trunk/src/libnurbs/opennurbs_ext.cpp
===================================================================
--- brlcad/trunk/src/libnurbs/opennurbs_ext.cpp 2012-09-26 20:51:15 UTC (rev
52564)
+++ brlcad/trunk/src/libnurbs/opennurbs_ext.cpp 2012-09-26 20:52:12 UTC (rev
52565)
@@ -225,7 +225,8 @@
for (int knot_index = 1; knot_index <= knotcnt; knot_index++) {
ON_Interval range(knots[knot_index - 1], knots[knot_index]);
- getHVTangents(trimCurve, range, splitlist);
+ if(!range.IsSingleton())
+ getHVTangents(trimCurve, range, splitlist);
}
for (std::list<double>::iterator l = splitlist.begin(); l !=
splitlist.end(); l++) {
double xmax = *l;
@@ -476,8 +477,10 @@
double midpoint = (t[1]+t[0])/2.0;
ON_Interval left(t[0], midpoint);
ON_Interval right(midpoint, t[1]);
- getHVTangents(curve, left, list);
- getHVTangents(curve, right, list);
+ if(!left.IsSingleton())
+ getHVTangents(curve, left, list);
+ if(!right.IsSingleton())
+ getHVTangents(curve, right, list);
return true;
} else if (tanx_changed) {//find horz
double x = getVerticalTangent(curve, t[0], t[1]);
@@ -514,8 +517,10 @@
double midpoint = (t[1]+t[0])/2.0;
ON_Interval left(t[0], midpoint);
ON_Interval right(midpoint, t[1]);
- getHVTangents(curve, left, list);
- getHVTangents(curve, right, list);
+ if(!left.IsSingleton())
+ getHVTangents(curve, left, list);
+ if(!right.IsSingleton())
+ getHVTangents(curve, right, list);
return true;
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
How fast is your code?
3 out of 4 devs don\\\'t know how their code performs in production.
Find out how slow your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219672;13503038;z?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits