Esempio n. 1
0
        public void UpdateGeometry()
        {
            if (_VisibleNode == null)
            {
                _VisibleNode = new GroupSceneNode();
                FaceStyle fs = new FaceStyle();
                fs.SetColor(new ColorValue(0, 0, 1.0f, 0.5f));
                fs.SetTransparent(true);
                _VisibleNode.SetFaceStyle(fs);
            }

            _VisibleNode.ClearAll();

            Path.BuildGeometry();

            TopoShape start = GlobalInstance.BrepTools.Extrude(Path.Section, Tool.ZStart, Vector3.UNIT_Z);
            TopoShape end   = GlobalInstance.BrepTools.Extrude(Path.Section, Tool.ZEnd, Vector3.UNIT_Z);

            _VisibleNode.AddNode(GlobalInstance.TopoShapeConvert.ToEntityNode(start, 0.1f));
            _VisibleNode.AddNode(GlobalInstance.TopoShapeConvert.ToEntityNode(end, 0.1f));

            Matrix4 trf = GlobalInstance.MatrixBuilder.MakeTranslate(Tool.Position);

            _VisibleNode.SetTransform(trf);
        }
Esempio n. 2
0
 private void ShowAnyRobot()
 {
     //this.treeViewStp.Nodes.Clear();
     //this.renderView.ClearScene();
     for (int part_i = 0; part_i < any_robot.partList.Count; part_i++)
     {
         GroupSceneNode onePartNode = new GroupSceneNode();
         //Console.Write(onePartNode.GetTransform().GetTranslation().ToString());
         for (int geo_i = 0; geo_i < any_robot.partList[part_i].geometryPathList.Count; geo_i++)
         {
             string relPath = any_robot.partList[part_i].geometryPathList[geo_i];
             string absPath = relPath;
             if (relPath.Contains(":"))
             {
                 absPath = relPath;
             }
             else
             {
                 absPath = path + relPath;
             }
             TopoShape geo        = GlobalInstance.BrepTools.LoadFile(new AnyCAD.Platform.Path(absPath));
             SceneNode oneGeoNode = renderView.ShowGeometry(geo, part_i);
             float[]   oneGeoPq   = new float[7];
             for (int i = 0; i < 7; i++)
             {
                 oneGeoPq[i] = any_robot.partList[part_i].geometryPQ_List[i + geo_i * 7];
                 // oneGeoPq[i] = any_robot.partList[part_i].partPQ_initial[i];
             }
             oneGeoNode.SetTransform(QuaternionToTransform(oneGeoPq));
             renderView.RequestDraw();
             geoNodeList.Add(oneGeoNode);
             onePartNode.AddNode(oneGeoNode);
             renderView.SceneManager.RemoveNode(oneGeoNode);
         }
         float[] onePartPq = new float[7];
         for (int j = 0; j < 7; j++)
         {
             onePartPq[j] = any_robot.partList[part_i].partPQ_initial[j];
         }
         onePartNode.SetTransform(QuaternionToTransform(onePartPq));
         renderView.SceneManager.AddNode(onePartNode);
         partNodeList.Add(onePartNode);
     }
     renderView.SceneManager.AddNode(robot_node);
     robot_node.SetPickable(false);
     renderView.RequestDraw();
     robotLoadCompleted = true;
     for (int k = 0; k < partNodeList.Count; k++)
     {
         Console.WriteLine("part" + k + partNodeList[k].GetTransform().GetTranslation().ToString());
     }
     for (int k = 0; k < geoNodeList.Count; k++)
     {
         Console.WriteLine("geo" + k + geoNodeList[k].GetTransform().GetTranslation().ToString());
     }
 }
Esempio n. 3
0
        void UpdateModel(object source, System.Timers.ElapsedEventArgs e)
        {
            Matrix4 tr   = robot_node.GetTransform();
            Matrix4 tr_1 = GlobalInstance.MatrixBuilder.MakeTranslate(0.1, 0.1, 0.1);
            Matrix4 tr_2 = GlobalInstance.MatrixBuilder.Multiply(tr, tr_1);

            robot_node.SetTransform(tr_2);
            //Console.WriteLine(robot_node.GetTransform().GetTranslation().ToString());

            renderView.RequestDraw();
        }