public override bool Run(FeatureContext context) { TopoShape box = GlobalInstance.BrepTools.MakeBox(Vector3.ZERO, Vector3.UNIT_Z, new Vector3(10, 10, 10)); RenderableEntity entity = GlobalInstance.TopoShapeConvert.ToEntity(box, 0); for (int ii = 0; ii < 10; ++ii) { EntitySceneNode node = new EntitySceneNode(); node.SetEntity(entity); Matrix4 trf = GlobalInstance.MatrixBuilder.MakeTranslate(new Vector3(11 * ii, 0, 0)); node.SetTransform(trf); context.ShowSceneNode(node); } context.RequestDraw(); SceneNodeIterator itr = context.RenderView.SceneManager.NewSceneNodeIterator(); String msg = "Node Ids: "; while (itr.More()) { SceneNode node = itr.Next(); msg += String.Format(" {0}", node.GetId().AsInt()); } MessageBox.Show(msg); return(true); }
public override bool Run(FeatureContext context) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "IGES File (*.igs;*.iges)|*.igs;*.iges||"; if (DialogResult.OK != dlg.ShowDialog()) { return(true); } var shape = GlobalInstance.BrepTools.LoadFile(new Path(dlg.FileName)); var size = shape.GetBBox().Size(); var entity = GlobalInstance.TopoShapeConvert.ToEntity(shape, 1); for (int ii = 0; ii < 7; ++ii) { for (int jj = 0; jj < 7; ++jj) { var node = new EntitySceneNode(); node.SetEntity(entity); var trf = GlobalInstance.MatrixBuilder.MakeTranslate(new Vector3(size.X * ii, size.Y * jj, 0)); node.SetTransform(trf); context.ShowSceneNode(node); } } return(true); }
private void performanceToolStripMenuItem_Click(object sender, EventArgs e) { TopoShape box = GlobalInstance.BrepTools.MakeBox(Vector3.ZERO, Vector3.UNIT_Z, Vector3.UNIT_SCALE); RenderableGeometry geom = new RenderableGeometry(); geom.SetGeometry(box); for (int ii = 0; ii < 100; ++ii) { for (int jj = 0; jj < 200; ++jj) { EntitySceneNode node = new EntitySceneNode(); node.SetEntity(geom); node.SetTransform(GlobalInstance.MatrixBuilder.MakeTranslate(ii * 5 - 250, jj * 5 - 500, 0)); renderView.ShowSceneNode(node); } } renderView.RequestDraw(); }