Transform does not compute 3D line transformations correctly
Since the 3D Line class has been replaced by Apache Commons Math 3D Line which has different constructors semantics, Transform does not transform lines correctly anymore.
This can be observed by separately transforming a line and a point belonging to the line:
Transform transform = ...; Line originalLine = ...; Vector3D pointOnLine = originalLine.pointAt(1.0e6); Line transformedLine = transform.transformLine(originalLine); Vector3D transformedPoint = transform.transformPosition(pointOnLine); System.out.println("distance = " + transformedLine.distance(transformedPoint));
The displayed distance should be very small, but in many cases it is huge.
The problem comes from transformLine method which uses transformVector to compute the second point of the Line constructor, when it should use transformPoint.
(from redmine: issue id 101, created on 2012-06-11, closed on 2012-06-11)