Example #1
0
        public void TrimCircleTest()
        {
            var action = new TrimAction();

            var nodeBuilder1 = BuildLine(new Point3D(0, 0, 0), new Point3D(5, 5, 0));
            var builder      = _sketchCreator.CreateBuilder(FunctionNames.Circle);

            builder[0].Reference = GetPointNode(new Point3D(2, 2, 0));
            builder[1].Real      = 1;
            builder.ExecuteFunction();


            Assert.AreEqual(_document.Root.Children.Count, 6);
            var clickPoint = new Point3D(2, 3, 0);

            var trimmedEntities = new List <SceneSelectedEntity>
            {
                new SceneSelectedEntity(builder.Node)
                {
                    ShapeType = TopAbsShapeEnum.TopAbs_WIRE
                }
            };

            var trimmingEntities = new List <SceneSelectedEntity>
            {
                new SceneSelectedEntity(nodeBuilder1.Node)
                {
                    ShapeType = TopAbsShapeEnum.TopAbs_WIRE
                }
            };

            var newNodes = action.GetTrimResult(_document, trimmedEntities, clickPoint);

            // the resulting arc has the end points on the line (x==y) and the distance between them is the diameter of the circle

            Assert.AreEqual(newNodes.Count, 1);
            var nb = newNodes[0];

            Assert.AreEqual(nb.FunctionName, FunctionNames.Arc);
            Assert.AreEqual(nb.Node.Children.Count, 3);

            var nodeBuilder = new NodeBuilder(nb.Node.Children[1].Get <ReferenceInterpreter>().Node);

            Assert.AreEqual(nodeBuilder[1].Name, "Point3D");
            Assert.AreEqual(nodeBuilder[1].TransformedPoint3D.IsEqual(new Point3D(2, 2, 0)), true);

            nodeBuilder = new NodeBuilder(nb.Node.Children[2].Get <ReferenceInterpreter>().Node);
            Assert.AreEqual(nodeBuilder[1].Name, "Point3D");
            Assert.IsTrue(nodeBuilder[1].TransformedPoint3D.Distance(new Point3D(1.2928, 1.2928, 0)) < 0.001);

            nodeBuilder = new NodeBuilder(nb.Node.Children[3].Get <ReferenceInterpreter>().Node);
            Assert.AreEqual(nodeBuilder[1].Name, "Point3D");
            Assert.IsTrue(nodeBuilder[1].TransformedPoint3D.Distance(new Point3D(2.7071, 2.7071, 0)) < 0.001);

            Assert.IsTrue((new Point3D(1.2928, 1.2928, 0)).Distance(new Point3D(2.7071, 2.7071, 0)) - 4 < 0.001);
        }
 private void InitialiseMembers()
 {
     Trim             = new EmptyFdpTrim();
     IdentifierPrefix = "Page";
     Programmes       = Enumerable.Empty <Programme>();
     Gateways         = Enumerable.Empty <Gateway>();
     CarLines         = Enumerable.Empty <CarLine>();
     ModelYears       = Enumerable.Empty <ModelYear>();
     CurrentAction    = TrimAction.NotSet;
 }
Example #3
0
        public void TrimLineTest()
        {
            var action = new TrimAction();

            var nodeBuilder1 = BuildLine(new Point3D(0, 0, 0), new Point3D(5, 5, 0));
            var nodeBuilder2 = BuildLine(new Point3D(2, 0, 0), new Point3D(2, 5, 0));

            var clickPoint = new Point3D(4, 4, 0);

            var trimmedEntities = new List <SceneSelectedEntity>
            {
                new SceneSelectedEntity(nodeBuilder1.Node)
                {
                    ShapeType = TopAbsShapeEnum.TopAbs_WIRE
                }
            };

            var trimmingEntities = new List <SceneSelectedEntity>
            {
                new SceneSelectedEntity(nodeBuilder2.Node)
                {
                    ShapeType = TopAbsShapeEnum.TopAbs_WIRE
                }
            };

            var newNodes = action.GetTrimResult(_document, trimmedEntities, clickPoint);

            Assert.AreEqual(newNodes.Count, 1);
            var nb = newNodes[0];

            Assert.AreEqual(nb.FunctionName, FunctionNames.LineTwoPoints);
            Assert.AreEqual(nb.Node.Children.Count, 2);

            var nodeBuilder = new NodeBuilder(nb.Node.Children[1].Get <ReferenceInterpreter>().Node);

            Assert.AreEqual(nodeBuilder[1].Name, "Point3D");
            Assert.AreEqual(nodeBuilder[1].TransformedPoint3D.IsEqual(new Point3D(0, 0, 0)), true);

            nodeBuilder = new NodeBuilder(nb.Node.Children[2].Get <ReferenceInterpreter>().Node);
            Assert.AreEqual(nodeBuilder[1].Name, "Point3D");
            Assert.AreEqual(nodeBuilder[1].TransformedPoint3D.IsEqual(new Point3D(2, 2, 0)), true);
        }
 private string GetContentPartialViewName(TrimAction forAction)
 {
     return(string.Format("_{0}", Enum.GetName(forAction.GetType(), forAction)));
 }
 public TrimParameters()
 {
     Action = TrimAction.NotSet;
 }
Example #6
0
 public TrimParameters()
 {
     Action = TrimAction.NotSet;
 }
 private void InitialiseMembers()
 {
     Trim = new EmptyFdpTrim();
     IdentifierPrefix = "Page";
     Programmes = Enumerable.Empty<Programme>();
     Gateways = Enumerable.Empty<Gateway>();
     CarLines = Enumerable.Empty<CarLine>();
     ModelYears = Enumerable.Empty<ModelYear>();
     CurrentAction = TrimAction.NotSet;
 }