private void OpenSolutionDlg() { var dlg = new Microsoft.Win32.OpenFileDialog() { Filter = "Solution (*.txt)|*.txt|All Files (*.*)|*.*", Title = "Open Solution" }; var res = dlg.ShowDialog(); if (res == true) { var fileName = dlg.FileName; var canvas = Editor.Context.CurrentCanvas; ModelEditor.Clear(canvas); TreeSolution solution = Editor.OpenSolution(fileName); if (solution != null) { UpdateSolutionState(false, fileName); var tree = Editor.Context.CurrentTree; Editor.Clear(tree, canvas, canvas.GetCounter()); Editor.Parse(tree, solution, canvas.GetCounter(), Editor.Context.CreateSolution); } } }
public void ShowDiagramSelectedElements() { var model = ModelEditor.Generate(ModelEditor.GetSelected(Editor.Context.CurrentCanvas)); var diagrams = new List <string>(); diagrams.Add(model); ShowDiagramsWindow(diagrams, "Diagram (Selected Elements)"); }
void WriteBarycentricVertices(Mesh assimpMesh, ModelData.MeshPart meshPart, ModelData.VertexBuffer vertexBuffer, int vertexBufferElementSize) { //System.Diagnostics.Debugger.Launch(); int[] indices = assimpMesh.GetIntIndices(); int indexCount = indices.Length; // Write all vertices meshPart.VertexBufferRange.Count = indexCount; vertexBuffer.Count = indexCount; vertexBuffer.Buffer = new byte[vertexBufferElementSize * indexCount]; // Update the MaximumBufferSizeInBytes needed to load this model if (vertexBuffer.Buffer.Length > model.MaximumBufferSizeInBytes) { model.MaximumBufferSizeInBytes = vertexBuffer.Buffer.Length; } var vertexStream = DataStream.Create(vertexBuffer.Buffer, true, true); boundingPoints = new Vector3[indexCount]; var newVertices = new VertexPositionNormalTexture[indices.Length]; for (int i = 0; i < indexCount; i++) { try { int i0 = indices[i]; var v0 = assimpMesh.Vertices[i0]; var v = new Vector3(v0.X, v0.Y, v0.Z); var n0 = assimpMesh.Normals[i0]; var n = new Vector3(n0.X, n0.Y, n0.Z); var uv = assimpMesh.GetTextureCoords(0)[i0]; var t = new Vector2(uv.X, uv.Y); // Store bounding points for BoundingSphere pre-calculation boundingPoints[currentBoundingPointIndex++] = v; newVertices[i0] = new VertexPositionNormalTexture(v, n, t); } catch (Exception ex) { Debug.WriteLine("!" + ex); } } var barycentricVertices = ModelEditor.ConvertToBarycentricEdgeNormalVertices(newVertices, indices); foreach (var vertex in barycentricVertices) { vertexStream.Write(vertex.Position); vertexStream.Write(vertex.Normal); vertexStream.Write(vertex.TextureUV); vertexStream.Write(vertex.Barycentric); } vertexStream.Dispose(); }
void Item_Selected(object sender, RoutedEventArgs e) { var item = sender as ListBoxItem; var model = item.Tag as string; ModelEditor.Clear(Editor.Context.CurrentCanvas); ModelEditor.Parse(model, Editor.Context.CurrentCanvas, Editor.Context.DiagramCreator, 0, 0, false, true, false, true); }
private void UpdateDiagramGrid(bool undo) { var canvas = Editor.Context.CurrentCanvas; var creator = Editor.Context.DiagramCreator; if (undo == true) { HistoryEditor.Add(canvas); } Editor.Context.UpdateProperties(); ModelEditor.SetGrid(canvas, creator); }
private void DxfExportDiagram(string fileName, ICanvas canvas, bool shortenStart, bool shortenEnd, DxfAcadVer version, DiagramTable table) { string model = ModelEditor.GenerateDiagram(canvas, null, canvas.GetProperties()); string dxf = DxfGenerate(model, shortenStart, shortenEnd, version, table); DxfSave(fileName, dxf); }
public void InsertElements(IEnumerable <object> elements, bool select, double offsetX, double offsetY) { var canvas = ParserCanvas; ModelEditor.Insert(canvas, elements.Cast <IElement>(), select, offsetX, offsetY); }
public virtual void Create() { Camera = new Camera() { Position = new Vector3(0, 0, -400) }; AddObject(Camera); DrawWrapper.Camera = Camera; ModelEditor = new ModelEditor(); AddObject(ModelEditor); for (int i = 0; i < GameObjects.Count(); i++) { var go = GameObjects[i]; go.Create(); } }
private void NewSolution() { UpdateSolutionState(false, null); SetProperties(DiagramProperties.Default); UpdateDiagramGrid(false); ModelEditor.Clear(Editor.Context.CurrentCanvas); Editor.Clear(Editor.Context.CurrentTree, Editor.Context.CurrentCanvas, Editor.Context.CurrentCanvas.GetCounter()); TreeEditor.CreateDefaultSolution(Editor.Context.CurrentTree, Editor.Context.CreateSolution, Editor.Context.CreateProject, Editor.Context.CreateDiagram, Editor.Context.CurrentCanvas.GetCounter()); UpdateEditors(); }
private FrameworkElement CreateDiagramElement(string diagram, Size areaExtent, Point origin, Rect area, bool fixedStrokeThickness, ResourceDictionary resources, DiagramTable table) { var grid = new Grid() { ClipToBounds = true, Resources = resources }; var template = new Control() { Template = grid.Resources[ResourceConstants.KeyLandscapePageTemplate] as ControlTemplate }; var canvas = new DiagramCanvas() { Width = PageWidth, Height = PageHeight }; ModelEditor.Parse(diagram, canvas, this.DiagramCreator, 0, 0, false, false, false, true); grid.Children.Add(template); grid.Children.Add(canvas); LineEx.SetShortenStart(grid, ShortenStart); LineEx.SetShortenEnd(grid, ShortenEnd); TableGrid.SetData(grid, table); return(grid); }
private void GetHistory_Click(object sender, RoutedEventArgs e) { var history = Editor.Context.CurrentCanvas.GetTag() as UndoRedo; if (history == null) { return; } ListHistory.Items.Clear(); int index = 0; foreach (var model in history.Undo.Reverse()) { AddHistoryItem(index, model); index++; } var current = ModelEditor.GenerateDiagram(Editor.Context.CurrentCanvas, null, Editor.Context.CurrentCanvas.GetProperties()); AddHistoryItem(index, current); }
void SelectModel(PositionedModel selectingmodel) { #region Store and set the model // store the current model mCurrentModel = selectingmodel; mModelEditor = new ModelEditor(mCurrentModel); modelPropGrid.SelectedObject = mModelEditor; // Set the model foreach (PositionedModel model in mModelDictionary.Values) { model.Visible = (model == mCurrentModel); } modelViewControl1.CurrentModel = mCurrentModel; #endregion #region Create the material mMaterial = new MaterialEditor(mCurrentModel.XnaModel); InitializeAssets(); #endregion #region Mesh part selection meshPartBox.Items.Clear(); for (int i = 0; i < mMaterial.PartCount; i++) { meshPartBox.Items.Add(i); } meshPartBox.SelectedIndex = 0; #endregion }
public void UpdateConnections(IDictionary <string, Child> dict) { ModelEditor.ConnectionsUpdate(dict); }
public void UpdateCounter(IdCounter original, IdCounter counter) { ModelEditor.IdsUpdateCounter(original, counter); }
void SelectModel(PositionedModel model) { mModelEditor = new ModelEditor(model); modelPropertyGrid.SelectedObject = mModelEditor; }
private void GenerateModelFromSelected_Click(object sender, RoutedEventArgs e) { this.TextModel.Text = ModelEditor.Generate(ModelEditor.GetSelected(Editor.Context.CurrentCanvas)); }
public void AppendIds(IEnumerable <object> elements) { ModelEditor.IdsAppend(elements, this.GetCounter()); }