private void TreeView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { viewportLayout1.Entities.DeleteSelected(); TreeViewManager.DeleteSelectedNode(modelTree, viewportLayout1); viewportLayout1.Invalidate(); } }
private void ViewportLayout1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { TreeNode selectedNode = modelTree.SelectedNode; if (selectedNode != null && ((Entity)selectedNode.Tag).Selected) { // Removes all the nodes linked to the deleted entity TreeViewManager.DeleteSelectedNode(modelTree, viewportLayout1); } } }
private void Selection(MouseClickType mouseClickType) { if (_treeModify) { return; } _treeModify = true; if (mouseClickType == MouseClickType.RightClick) { // Sets the parent of the current BlockReference as current. viewportLayout1.Entities.SetParentAsCurrent(); } else { // Deselects the previously selected item if (lastSelectedItem != null) { lastSelectedItem.Select(viewportLayout1, false); lastSelectedItem = null; } var item = viewportLayout1.GetItemUnderMouseCursor(_mousePosition); if (item != null) { lastSelectedItem = item; TreeViewManager.CleanCurrent(viewportLayout1, false); // Marks as selected the entity under the mouse cursor. item.Select(viewportLayout1, true); } else { // Back to the root level if (mouseClickType == MouseClickType.LeftDoubleClick) { TreeViewManager.CleanCurrent(viewportLayout1); } } } // An entity in the viewport was selected, so we highlight the corresponding element in the treeview as well TreeViewManager.SynchScreenSelection(modelTree, new Stack <BlockReference>(viewportLayout1.Entities.CurrentBlockReferences), lastSelectedItem); viewportLayout1.Invalidate(); _treeModify = false; }
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (_treeModify) { return; } _treeModify = true; //An element of the treeview was selected, so we select the corresponding viewport element as well if (lastSelectedItem != null) { lastSelectedItem.Select(viewportLayout1, false); } TreeViewManager.CleanCurrent(viewportLayout1); lastSelectedItem = TreeViewManager.SynchTreeSelection(modelTree, viewportLayout1); viewportLayout1.Invalidate(); _treeModify = false; }
protected override void OnLoad(EventArgs e) { _treeModify = false; testLayer = viewportLayout1.Layers.Add("testLayer", Color.Red); int testLayer1 = viewportLayout1.Layers.Add("onPlane", Color.Blue); spatialLayer = viewportLayout1.Layers.Add("spatialLayer", Color.Green); viewportLayout1.Layers[0].Name = "Default"; //viewportLayout1.Layers[0].Color = Color.Gray; //viewportLayout1.Layers[spatialLayer].Visible = true; //viewportLayout1.Layers[0].Visible = false; //DatabaseIfc db = new DatabaseIfc("C:\\devdept\\IFC Model.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devdept\\IFC\\Martti_Ahtisaaren_RAK.ifc"); //gym exception //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\MOD-Padrão\\MOD-Padrão.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\Blueberry031105_Complete_optimized.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\Clinic_Handover_WithProperty3.ifc"); //Gym exception //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\Duplex_A_20110907.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\NER-38d.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\NHS Office.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\Office_A_20110811.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\porur duplex.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Data\\c_rvt8_Townhouse.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Samples\\01 Fire Protection.ifc"); DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Samples\\ArchiCAD IFC Buildsoft.ifc"); //DatabaseIfc db = new DatabaseIfc("C:\\devDept\\IFC\\IFC Samples\\Clinic_S_20110715_optimized.ifc"); IfcProject project = db.Project; List <IfcBuildingElement> ifcBuildingElement = project.Extract <IfcBuildingElement>(); List <IfcSpatialElement> ifcSpatialElement = project.Extract <IfcSpatialElement>(); List <IfcDistributionElement> ifcDistributionElement = project.Extract <IfcDistributionElement>(); //List<IfcRoot> ifcRoot = project.Extract<IfcRoot>(); foreach (IfcSpatialElement ifcElement in ifcSpatialElement) //ifcmesh { Entity eyeElement = null; Transformation elementTrs = new Transformation(1); if (ifcElement.Placement != null) { elementTrs = Conversion.getPlacementTransformtion(ifcElement.Placement); } if (ifcElement.Representation != null) { eyeElement = Conversion.getEntityFromIfcProductRepresentation(ifcElement.Representation, viewportLayout1, elementTrs); } if (eyeElement != null) { eyeElement.TransformBy(elementTrs); if (eyeElement is BlockReference) { UtilityIfc.loadProperties((IfcBlockReference)eyeElement, ifcElement); } else { IfcMesh ifcMesh; Mesh eyeElementMesh; if (eyeElement is Solid) { Solid eyeElementSolid = (Solid)eyeElement; eyeElementMesh = eyeElementSolid.ConvertToMesh(); } else { eyeElementMesh = (Mesh)eyeElement; } Color color = eyeElementMesh.Color; colorMethodType cmt = eyeElementMesh.ColorMethod; ifcMesh = new IfcMesh(eyeElementMesh.Vertices, eyeElementMesh.Triangles); ifcMesh.Color = color; ifcMesh.ColorMethod = cmt; UtilityIfc.loadProperties(ifcMesh, ifcElement); eyeElement = ifcMesh; } viewportLayout1.Entities.Add(eyeElement, spatialLayer); } } foreach (IfcBuildingElement ifcElement in ifcBuildingElement) { if (ifcElement.GlobalId.StartsWith("3LHl4aR6j6bfwjDqKa2Mh9") && /**/ ifcElement.Decomposes == null) { Entity eyeElement = Conversion.getEntityFromIfcElement(ifcElement, viewportLayout1); if (eyeElement != null) { viewportLayout1.Entities.Add(eyeElement, 0); } } } foreach (IfcDistributionElement ifcElement in ifcDistributionElement) { if (/*ifcElement.GlobalId.StartsWith("2O_tcxRRn1gegwp_L0mkmi") &&/**/ ifcElement.Decomposes == null) { Entity eyeElement = Conversion.getEntityFromIfcElement(ifcElement, viewportLayout1); if (eyeElement != null) { viewportLayout1.Entities.Add(eyeElement, 0); } } } debug += Conversion.Debug; Debug.WriteLine(debug); TreeViewManager.PopulateTree(modelTree, viewportLayout1.Entities.ToList(), viewportLayout1.Blocks); viewportLayout1.ZoomFit(); }