double l2next = icp.getInlineLength();
double l2 = l2prev + l2next;
double l2s = l2 * l2;
- if (l > l2s) {
+ double diff = l - l2s;
+ if (diff >= MIN_INLINE_LENGTH) {
if (allowInsertRemove) {
dir.normalize();
double length = Math.sqrt(l) - l2; // true length of the variable length component
other = u.end;
position = u.startPoint;
dcpStart = true;
+ if (!u.reversed)
+ canMoveOther = true;
inlineEnd = u.end.isInline();
} else {
dcp = u.end;
other = u.start;
position = u.endPoint;
+ if (u.reversed)
+ canMoveOther = true;
inlineEnd = u.start.isInline();
}
- canMoveOther = !(other == u.updated);
-
+
Vector3d directedDirection = direction(dcp, dcpStart ? Direction.NEXT : Direction.PREVIOUS);
if (directedDirection == null) {
//updateTurnControlPointTurn(dcp, dcp.getPrevious(), dcp.getNext());
R = tr / t;
if (R <= curr)
break;
- curr = R*1.01;
+ curr = R*1.001;
iter--;
}
return curr;