@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void testIsLineSegmentIntersectingPlane1()
{
FramePoint3D pointOnPlane = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 0);
FrameVector3D planeNormal = new FrameVector3D(pointOnPlane.getReferenceFrame(), 0, 0, 1);
FramePoint3D lineStart = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, -1);
FramePoint3D lineEnd = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 3);
assertTrue(GeometryTools.isLineSegmentIntersectingPlane(pointOnPlane, planeNormal, lineStart, lineEnd));
pointOnPlane = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 0);
planeNormal = new FrameVector3D(pointOnPlane.getReferenceFrame(), 1, 0, 0);
lineStart = new FramePoint3D(ReferenceFrame.getWorldFrame(), -6, 3, -3);
lineEnd = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, 3, 6);
assertTrue(GeometryTools.isLineSegmentIntersectingPlane(pointOnPlane, planeNormal, lineStart, lineEnd));
pointOnPlane = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 0);
planeNormal = new FrameVector3D(pointOnPlane.getReferenceFrame(), 0, 1, 0);
lineStart = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, -3, -3);
lineEnd = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, 3, 6);
assertTrue(GeometryTools.isLineSegmentIntersectingPlane(pointOnPlane, planeNormal, lineStart, lineEnd));
pointOnPlane = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 0);
planeNormal = new FrameVector3D(pointOnPlane.getReferenceFrame(), 0, 0, 1);
lineStart = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, -3, 3);
lineEnd = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, 3, 6);
assertFalse(GeometryTools.isLineSegmentIntersectingPlane(pointOnPlane, planeNormal, lineStart, lineEnd));
pointOnPlane = new FramePoint3D(ReferenceFrame.getWorldFrame(), 0, 0, 0);
planeNormal = new FrameVector3D(pointOnPlane.getReferenceFrame(), 0, 0, 1);
lineStart = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, -3, -3);
lineEnd = new FramePoint3D(ReferenceFrame.getWorldFrame(), 6, 3, -1);
assertFalse(GeometryTools.isLineSegmentIntersectingPlane(pointOnPlane, planeNormal, lineStart, lineEnd));
}