q = getControlPointOrientationQuat(dir, 0.0);
else
q = getControlPointOrientationQuat(dir, rotationAngle);
- Vector3d v = new Vector3d(0.0,offset,0.0);
+ Vector3d v = new Vector3d(0.0,-offset,0.0);
Vector3d offset = new Vector3d();
MathTools.rotate(q, v, offset);
return offset;
q = getControlPointOrientationQuat(0.0);
else
q = getControlPointOrientationQuat(rotationAngle);
- Vector3d v = new Vector3d(0.0,offset,0.0);
+ Vector3d v = new Vector3d(0.0,-offset,0.0);
Vector3d offset = new Vector3d();
MathTools.rotate(q, v, offset);
return offset;
if (pcp.isDualSub()) {
pcp.getParentPoint().setNext(this);
}
- if (isDualInline()) {
- getDualSub().setPrevious(this);
- }
} else {
// if direction is previous, user must have given sizechange
if (pcp.isDualSub())
dir2.scale(length * 0.5);
dir1 = new Vector3d(dir2);
dir1.negate();
+ } else if (isEnd()) {
+ dir2 = dir1 = new Vector3d();
} else {
dir1 = getPathLegDirection(Direction.PREVIOUS);
dir2 = sub.getPathLegDirection(Direction.NEXT);