Beispiel #1
0
        public void ClosedBSplineCurve_WhenAllPointsAreLinear()
        {
            var model = dynSettings.Controller.DynamoModel;

            string openPath = Path.Combine(GetTestDirectory(), @"core\GeometryTestFiles\ClosedBSplineCurve_WhenAllPointsAreLinear.dyn");

            model.Open(openPath);

            // check all the nodes and connectors are loaded
            Assert.AreEqual(9, model.CurrentWorkspace.Nodes.Count);
            Assert.AreEqual(14, model.CurrentWorkspace.Connectors.Count);

            // run the expression
            dynSettings.Controller.RunExpression(null);

            // Verification for BSplineCurve node.
            Autodesk.LibG.Geometry geometry1 = null;
            var getGeometry1 = model.CurrentWorkspace.NodeFromWorkspace <ClosedBSplineCurveNode>("ba9c10bc-a932-43e8-8741-f5d79e7966ac");

            Assert.IsTrue(Utils.Convert(getGeometry1.GetValue(0), ref geometry1));

            Autodesk.LibG.BSplineCurve bSCurve = geometry1 as Autodesk.LibG.BSplineCurve;
            Assert.AreNotEqual(null, bSCurve);
            Assert.IsTrue(bSCurve.is_closed());
            Assert.IsTrue(bSCurve.is_planar());
            //Assert.AreEqual(0, bSCurve.start_point().x());
            //Assert.AreEqual(10, bSCurve.end_point().y());
        }
Beispiel #2
0
        public void BSplineCurveTest()
        {
            var model = dynSettings.Controller.DynamoModel;

            string openPath = Path.Combine(GetTestDirectory(), @"core\GeometryTestFiles\BSplineCurveTest.dyn");

            model.Open(openPath);

            // check all the nodes and connectors are loaded
            Assert.AreEqual(5, model.CurrentWorkspace.Nodes.Count);
            Assert.AreEqual(5, model.CurrentWorkspace.Connectors.Count);

            // run the expression
            dynSettings.Controller.RunExpression(null);

            // Verification for BSplineCurve node.
            Autodesk.LibG.Geometry geometry1 = null;
            var getGeometry1 = model.CurrentWorkspace.NodeFromWorkspace <BSplineCurveNode>("78c56e90-0bc2-4629-8335-fef14ba958ed");
            FSharpList <FScheme.Value> innerList1 = getGeometry1.GetValue(0).GetListFromFSchemeValue();

            Assert.IsTrue(Utils.Convert(innerList1[0], ref geometry1));

            Autodesk.LibG.BSplineCurve bSCurve = geometry1 as Autodesk.LibG.BSplineCurve;
            Assert.AreNotEqual(null, bSCurve);
            Assert.IsFalse(bSCurve.is_closed());
            Assert.IsTrue(bSCurve.is_planar());
            Assert.AreEqual(1, bSCurve.start_point().x());
            Assert.AreEqual(5, bSCurve.end_point().y());
        }
Beispiel #3
0
        public void PropertycheckTest()
        {
            var model = dynSettings.Controller.DynamoModel;

            string openPath = Path.Combine(GetTestDirectory(), @"core\GeometryTestFiles\PropertycheckTest.dyn");

            model.Open(openPath);

            // check all the nodes and connectors are loaded
            Assert.AreEqual(19, model.CurrentWorkspace.Nodes.Count);
            Assert.AreEqual(31, model.CurrentWorkspace.Connectors.Count);

            // run the expression
            dynSettings.Controller.RunExpression(null);

            // Verification for Area Node
            Autodesk.LibG.Geometry geometry1 = null;
            var getGeometry1 = model.CurrentWorkspace.NodeFromWorkspace <SweepAsSurfaceNode>("a61da19c-b8cc-429d-867f-46e38c89829a");

            Assert.IsTrue(Utils.Convert(getGeometry1.GetValue(0), ref geometry1));

            Autodesk.LibG.Surface sweptSurface = geometry1 as Autodesk.LibG.Surface;
            Assert.AreNotEqual(null, sweptSurface);

            double sweptSurfaceArea = sweptSurface.area();

            Assert.AreEqual(182.24579120015983, sweptSurfaceArea);

            var areFromNode = model.CurrentWorkspace.NodeFromWorkspace <AreaNode>("9ef163dd-e0e0-4acc-a07b-b901e41f1512");

            Assert.AreEqual(sweptSurfaceArea, areFromNode.GetValue(0).GetDoubleFromFSchemeValue());

            Autodesk.LibG.Geometry geometry2 = null;
            var getGeometry2 = model.CurrentWorkspace.NodeFromWorkspace <BSplineCurveNode>("064e5f0a-62a4-405c-ba3f-cde337afaa9c");

            Assert.IsTrue(Utils.Convert(getGeometry2.GetValue(0), ref geometry2));

            //Verification for Length Node.
            Autodesk.LibG.BSplineCurve bSCurve = geometry2 as Autodesk.LibG.BSplineCurve;
            Assert.AreNotEqual(null, bSCurve);

            double curveLength = bSCurve.length();

            var lengthNode = model.CurrentWorkspace.NodeFromWorkspace <LengthNode>("f3d354ad-7e1e-4b2e-8401-3f534ee4e2f0");

            Assert.AreEqual(curveLength, lengthNode.GetValue(0).GetDoubleFromFSchemeValue());
        }