Пример #1
0
        public void DirectionsTest(string p1s, string p2s, string evs)
        {
            var l         = LineSegment3D.Parse(p1s, p2s);
            var excpected = UnitVector3D.Parse(evs, tolerance: 1);

            AssertGeometry.AreEqual(excpected, l.Direction);
        }
Пример #2
0
        public void IsParallelToWithinAngleTol(string s1, string e1, string s2, string e2, double degreesTol, bool expected)
        {
            var line1 = LineSegment3D.Parse(s1, e1);
            var line2 = LineSegment3D.Parse(s2, e2);

            Assert.AreEqual(expected, line1.IsParallelTo(line2, Angle.FromDegrees(degreesTol)));
        }
Пример #3
0
        public void ClosestPointTo(string start, string end, string point, string expected)
        {
            var line = LineSegment3D.Parse(start, end);
            var p    = Point3D.Parse(point);
            var e    = Point3D.Parse(expected);

            Assert.AreEqual(e, line.ClosestPointTo(p));
        }
Пример #4
0
        public void TranslateBy(string spoint1, string spoint2, string svector, string spoint3, string spoint4)
        {
            var line     = LineSegment3D.Parse(spoint1, spoint2);
            var expected = LineSegment3D.Parse(spoint3, spoint4);
            var vector   = Vector3D.Parse(svector);

            Assert.AreEqual(expected.Length, line.Length);
            Assert.AreEqual(expected, line.TranslateBy(vector));
        }
Пример #5
0
        [TestCase("6.0241017,5.1715162,5.7250655", "5.6868388,6.0031583,1.2902594", "3.4800129,9.7922534,2.4761596", "0.0589551,3.4081038,0.9383102", "5.6945715,5.9840905,1.3919397", "2.3316866,7.6493234,1.9599588")] // projection between segments, generated in GOM Inspect Professional V8
        public void ClosestPointsBetweenOnSegment(string s1, string e1, string s2, string e2, string cp1, string cp2)
        {
            var l1 = LineSegment3D.Parse(s1, e1);
            var l2 = LineSegment3D.Parse(s2, e2);

            Assert.AreEqual(true, l1.TryShortestLineTo(l2, Angle.FromRadians(0.00001), out var result));
            AssertGeometry.AreEqual(Point3D.Parse(cp1), result.StartPoint);
            AssertGeometry.AreEqual(Point3D.Parse(cp2), result.EndPoint);
        }