public static void UnparentShape(ShapeClass shapeClass) { EmbeddingDiagramNode node = shapeClass.DiagramTreeNode as EmbeddingDiagramNode; if (node == null) { return; } if (shapeClass != null) { shapeClass.Parent.Children.Remove(shapeClass); //shapeClass.DiagramTreeNode = null; } RootDiagramNode rootNode = new RootDiagramNode(shapeClass.Store); List <EmbeddingDiagramNode> nodesToMove = new List <EmbeddingDiagramNode>(); foreach (EmbeddingDiagramNode n in node.EmbeddingDiagramNodes) { nodesToMove.Add(n); } foreach (EmbeddingDiagramNode n in nodesToMove) { n.SourceEmbeddingDiagramNode = rootNode; } shapeClass.DiagramTreeNode = rootNode; shapeClass.DiagramClass.DiagramClassView.RootDiagramNodes.Add(rootNode); }
public static void UnparentShape(ShapeClass shapeClass) { EmbeddingDiagramNode node = shapeClass.DiagramTreeNode as EmbeddingDiagramNode; if (node == null) return; if (shapeClass != null) { shapeClass.Parent.Children.Remove(shapeClass); //shapeClass.DiagramTreeNode = null; } RootDiagramNode rootNode = new RootDiagramNode(shapeClass.Store); List<EmbeddingDiagramNode> nodesToMove = new List<EmbeddingDiagramNode>(); foreach (EmbeddingDiagramNode n in node.EmbeddingDiagramNodes) nodesToMove.Add(n); foreach (EmbeddingDiagramNode n in nodesToMove) { n.SourceEmbeddingDiagramNode = rootNode; } shapeClass.DiagramTreeNode = rootNode; shapeClass.DiagramClass.DiagramClassView.RootDiagramNodes.Add(rootNode); }
public static List <ClassifiedShape> ReadDB() { List <ClassifiedShape> classifiedShapes = new List <ClassifiedShape>(); using (TextReader textReader = File.OpenText(dbFileName)) { var csv = new CsvReader(textReader); csv.Configuration.HasHeaderRecord = true; csv.Read(); csv.ReadHeader(); while (csv.Read()) { Relations relations = new Relations(); //LenPch,Pch2Ach,AltAch,PchPer,AchAerAlt ShapeClass shapeClass = csv.GetField <ShapeClass>("shapeClass"); relations.LenPch = csv.GetField <double>("LenPch"); relations.Pch2Ach = csv.GetField <double>("Pch2Ach"); relations.AltAch = csv.GetField <double>("AltAch"); relations.PchPer = csv.GetField <double>("PchPer"); relations.AchAerAlt = csv.GetField <double>("AchAerAlt"); classifiedShapes.Add(new ClassifiedShape(relations, shapeClass)); } } return(classifiedShapes); }
void DrawShape(ShapeClass sh) { for (int i = 1; i < sh.length; i++ ) { Debug.DrawLine(sh.points[i-1], sh.points[i], Color.red); } Debug.DrawLine(sh.points[0], sh.points[sh.length - 1], Color.red); }
/// <summary> /// Sets the class and all corresponding values /// </summary> /// <param name="type">The class</param> public void SetClass(ShapeClass type) { shapeClass = type; SetPower(shapeClass.startPower); CreateFixture(); }
public void CopyFrom(ShapeClass sh) { length = sh.length; points = new Vector3[length]; for (int i = 0; i < length; i++ ) { points[i] = new Vector3(sh.points[i].x, sh.points[i].y, sh.points[i].z); } }
public ClassifiedShape(Relations relations, ShapeClass shapeClass) { // this.relations = relations; LenPch = Math.Round(relations.LenPch, 5); Pch2Ach = Math.Round(relations.Pch2Ach, 5); AltAch = Math.Round(relations.AltAch, 5); PchPer = Math.Round(relations.PchPer, 5); AchAerAlt = Math.Round(relations.AchAerAlt, 5); AltAer = Math.Round(relations.AltAer, 5); this.shapeClass = shapeClass; }
public static ShapeClass CreateShapeClass(DiagramClass diagramClass) { ShapeClass shapeClass = diagramClass.Store.ElementFactory.CreateElement(ShapeClass.DomainClassId) as ShapeClass; Microsoft.VisualStudio.Modeling.ElementOperations elementOperations = new Microsoft.VisualStudio.Modeling.ElementOperations(diagramClass.Store as IServiceProvider, diagramClass.Store.DefaultPartition); Microsoft.VisualStudio.Modeling.ElementGroup elementGroup = new Microsoft.VisualStudio.Modeling.ElementGroup(diagramClass.Store.DefaultPartition); elementGroup.Add(shapeClass); elementGroup.MarkAsRoot(shapeClass); elementOperations.MergeElementGroup(diagramClass, elementGroup); shapeClass.Name = NameHelper.GetUniqueName(diagramClass.Store, ShapeClass.DomainClassId); return(shapeClass); }
public static float GetAngleBetween(ShapeClass firstShape, ShapeClass secondShape) { Vector3 firstVec = firstShape.points[1] - firstShape.points[0]; //should project to the plane of the second shape Vector3 secondNormal = secondShape.GetShapeNormal(); Vector3 tempProj = secondNormal * (Vector3.Dot(firstVec, secondNormal) / secondNormal.magnitude); Vector3 firstProject = firstVec - tempProj; Vector3 secondVec = secondShape.points[1] - secondShape.points[0]; return (Vector3.Angle(firstProject, secondVec)) * Mathf.Sign(Vector3.Dot(Vector3.Cross(firstProject, secondVec), secondNormal)); }
public static List <DataTemplateViewModel> GetShapeClassTemplate(BaseModelElementViewModel vm) { ShapeClass shapeClass = vm.GetHostedElement() as ShapeClass; MetaModel metaModel = shapeClass.GetMetaModel(); List <DataTemplateViewModel> retVms = ParseFile(vm.ViewModelStore, "ShapeClassTemplate.xml", new string[] { shapeClass.Name, // CustomString0 metaModel.Namespace, // CustomString1 }); retVms.Add(CreateBindablePropertiesTemplate(vm)); return(retVms); }
// Use this for initialization void Start() { knotPositions = new Vector3[pointsNumber]; shapes = new List<ShapeClass>(); for (int i = 0; i < pointsNumber; i++ ) { knotPositions[i] = GetPointPositionInSpline(new Vector3(), new Vector3(0, 1, 0), new Vector3(2, 3, 0), new Vector3(3, 3, 0), (float)i / (float)(pointsNumber - 1)); } originalShape = new ShapeClass(new Vector3[]{new Vector3(-1, 0, -1), new Vector3(-1, 0, 1), new Vector3(1, 0, 1), new Vector3(1, 0, -1)}); shapes.Add(originalShape); //startQ = new Quaternion(0, 0, 1, 0); startQ = Quaternion.Euler(0, 0, 0); startMatrix = Matrix4x4.TRS(new Vector3(), startQ, new Vector3(1, 1, 1)); endQ = Quaternion.Euler(0, 0, -90); //endQ = new Quaternion(0, 1, 0, 0); endMatrix = Matrix4x4.TRS(new Vector3(3, 3, 0), endQ, new Vector3(1, 1, 1)); //endQ = QuaternionFromMatrix(endMatrix); print("end Quaternion=" + endQ.ToString() + " start Quaternion=" + startQ.ToString()); print("startMatrix=" + startMatrix.ToString()); //calculate angle between quaternions // float angle = (180 * Mathf.Acos(Quaternion.Dot(startQ, endQ))) / Mathf.PI; float angle = Mathf.Acos(Quaternion.Dot(startQ, endQ) / (GetQuaternionLength(startQ) * GetQuaternionLength(endQ))); //print("Angle=" + angle.ToString()); endShape = new ShapeClass(); endShape.CopyFrom(originalShape); endShape.MapsTo(endMatrix); //calculate other shapes for (int i = 1; i < pointsNumber-1; i++ ) { //Quaternion middleQ = Quaternion.Lerp(startQ, endQ, (float)i * 100 / (float)(pointsNumber - 1)); Quaternion middleQ = GetInterpolatedQuaternion(startQ, endQ, angle, (float)i / (float)(pointsNumber - 1)); print(middleQ.ToString() + " " + ((float)i / (float)(pointsNumber - 1)).ToString()); Matrix4x4 middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); ShapeClass middleShape = new ShapeClass(); middleShape.CopyFrom(originalShape); middleShape.MapsTo(middleMatrix); shapes.Add(middleShape); } shapes.Add(endShape); }
private void buttonClassify_Click(object sender, EventArgs e) { //List<ClassifiedShape> records = new List<ClassifiedShape>(); //foreach (DataGridViewRow i in dataGridViewClassifiedShape.Rows) //{ // records.Add(i.DataBoundItem as ClassifiedShape); //} //var groupedList = GroupHistory(records); //foreach(var i in groupedList) //{ // Debug.WriteLine(i.shapeClass + " " + i.PchPer + " " + i.AchAerAlt); //} ImageHandler imageHandler = new ImageHandler(new Bitmap(pictureBox1.Image)); List <List <Point> > edges = imageHandler.GetEdges(); Bitmap tempDraw = new Bitmap(pictureBox1.Image); Graphics graphics = Graphics.FromImage(tempDraw); Relations relation = new Relations(); foreach (List <Point> edge in edges) { List <Point> desu = edge.OrderBy(x => Math.Atan2(x.X, x.Y)).ToList(); ShapeRecognition recognizer = new ShapeRecognition(new Polygon2D(desu)); Polygon2D convexHull = recognizer.ConvexHull; List <Point> convexHullPoints = convexHull.Points; for (int i = 1; i < convexHullPoints.Count(); i++) { graphics.DrawLine(new Pen(Color.Red), convexHullPoints[i - 1], convexHullPoints[i]); } labelShapePointCountVal.Text = pointList.Count.ToString(); labelConvHullPntCntVal.Text = convexHullPoints.Count().ToString(); graphics.DrawRectangle(new Pen(Color.Blue), recognizer.BoundingRectangle); DrawTriangle(graphics, recognizer.NestedTriangle); relation = recognizer.GetRelations(); } pictureBox1.Image = tempDraw; ClassifiedShape classifiedShape = new ClassifiedShape(relation, ShapeClass.Rectangle); ShapeClass shapeClass = Classifier.Classify(classifiedShape, features); string messageBoxText = "Class: " + shapeClass.ToString(); string caption = "Class"; MessageBoxButtons button = MessageBoxButtons.OK; MessageBox.Show(messageBoxText, caption, button); }
private void buttonSave_Click(object sender, EventArgs e) { //switch (tabControl1.SelectedIndex) //{ // case 0: // ClearCanvas(); // break; // case 1: ImageHandler imageHandler = new ImageHandler(new Bitmap(pictureBox1.Image)); List <List <Point> > edges = imageHandler.GetEdges(); Bitmap tempDraw = new Bitmap(pictureBox1.Image); Graphics graphics = Graphics.FromImage(tempDraw); foreach (List <Point> edge in edges) { List <Point> desu = edge.OrderBy(x => Math.Atan2(x.X, x.Y)).ToList(); ShapeRecognition recognizer = new ShapeRecognition(new Polygon2D(desu)); Polygon2D convexHull = recognizer.ConvexHull; List <Point> convexHullPoints = convexHull.Points; for (int i = 1; i < convexHullPoints.Count(); i++) { graphics.DrawLine(new Pen(Color.Red), convexHullPoints[i - 1], convexHullPoints[i]); } labelShapePointCountVal.Text = pointList.Count.ToString(); labelConvHullPntCntVal.Text = convexHullPoints.Count().ToString(); graphics.DrawRectangle(new Pen(Color.Blue), recognizer.BoundingRectangle); DrawTriangle(graphics, recognizer.NestedTriangle); currentRelation = recognizer.GetRelations(); } pictureBox1.Image = tempDraw; // break; //} ShapeClass selectedClassItem = (ShapeClass)comboBoxShapeClass.SelectedItem; ClassifiedShape classifiedShape = new ClassifiedShape(currentRelation, selectedClassItem); //ShapeClass shapeClass = Classifier.Classify(classifiedShape, features); //string messageBoxText = "Class: " + shapeClass.ToString(); //string caption = "Class"; //MessageBoxButtons button = MessageBoxButtons.OK; //MessageBox.Show(messageBoxText, caption, button); classifiedShapeBindingSource.Add(classifiedShape); }
public void MatchTo(ShapeClass targetShape) { //find the index of the target with closest position to 0 point Vector3 startPoint = points[0]; float minDistance = Vector3.Distance(startPoint, targetShape.points[0]); int closestIndex = 0; for (int i = 1; i < targetShape.length; i++ ) { float md = Vector3.Distance(startPoint, targetShape.points[i]); if(md < minDistance) { closestIndex = i; minDistance = md; } } //Debug.Log("closestIndex=" + closestIndex.ToString()); for (int i = 0; i < length; i++ ) { points[i] = targetShape.points[getModulo(closestIndex - i, length)]; } }
public static bool HasProperty(ShapeClass shapeClass, string name) { if (shapeClass == null) { return(false); } ShapeClass d = shapeClass; while (d != null) { foreach (DomainProperty p in d.Properties) { if (p.Name == name) { return(true); } } d = d.BaseShape; } return(false); }
public static ShapeClass Classify(ClassifiedShape shape, List <ClassifiedShape> features) { Debug.WriteLine(shape.ToString()); ShapeClass result = ShapeClass.Cirle; ClassifiedShape circleFeature = features.Find(item => item.shapeClass == ShapeClass.Cirle); if (shape.Pch2Ach <= circleFeature.Pch2Ach) { result = ShapeClass.Cirle; } else { ClassifiedShape triangleFeature = features.Find(item => item.shapeClass == ShapeClass.Triangle); if (shape.AltAch >= triangleFeature.AltAch) { result = ShapeClass.Triangle; } else { ClassifiedShape rectangleFeature = features.Find(item => item.shapeClass == ShapeClass.Rectangle); if (shape.PchPer >= rectangleFeature.PchPer) { result = ShapeClass.Rectangle; } else { ClassifiedShape ellipseFeature = features.Find(item => item.shapeClass == ShapeClass.Ellipse); if (ellipseFeature.AchAerAlt <= ellipseFeature.AchAerAlt) { result = ShapeClass.Ellipse; } } } } return(result); }
public ShapeClass GetTriodShape(int triodId) { ShapeClass tempreturn = new ShapeClass(); Mesh mesh = triods[triodId - 1].GetComponent<MeshFilter>().mesh; Vector3[] vertices = mesh.vertices; int[] triodVertices = new int[triod01Vertices.Length]; if(triodId == 1) { triodVertices = triod01Vertices; } else if(triodId == 2) { triodVertices = triod02Vertices; } else if (triodId == 3) { triodVertices = triod03Vertices; } else if (triodId == 4) { triodVertices = triod04Vertices; } tempreturn.length = triod01Vertices.Length; tempreturn.points = new Vector3[triod01Vertices.Length]; for (int i = 0; i < triodVertices.Length; i++) { tempreturn.points[i] = vertices[triodVertices[i]]; } return tempreturn; }
public void GenerateDiagramItemViewModel(MetaModel dm, DiagramClass diagramClass) { #line default #line hidden #line 25 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("namespace "); #line default #line hidden #line 26 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 26 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(".ViewModel\r\n{\r\n"); #line default #line hidden #line 28 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" foreach (PresentationElementClass presentationElement in diagramClass.PresentationElements) { string baseClass = "DslEditorViewDiagrams::DiagramItemElementViewModel"; bool hasBaseClass = false; if (!(presentationElement is ShapeClass)) { continue; } else if (presentationElement is ShapeClass) { if ((presentationElement as ShapeClass).BaseShape != null) { baseClass = (presentationElement as ShapeClass).BaseShape.GetMetaModel().Namespace + ".ViewModel." + (presentationElement as ShapeClass).BaseShape.Name + "DiagramItemViewModel"; hasBaseClass = true; } } ShapeClass shapeClassElement = presentationElement as ShapeClass; bool canHaveNestedChildren = false; bool canHaveRelativeChildren = false; foreach (PresentationElementClass element in diagramClass.PresentationElements) { if (element is ShapeClass) { ShapeClass shapeClass = element as ShapeClass; DomainClass domainClass = shapeClass.DomainClass; if (domainClass == null) { continue; } if (shapeClass.Parent == presentationElement) { if (shapeClass.IsRelativeChild) { canHaveRelativeChildren = true; } else { canHaveNestedChildren = true; } } } } #line default #line hidden #line 70 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t/// <summary>\r\n /// View model for "); #line default #line hidden #line 72 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 72 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(".\r\n\t///\r\n\t/// Double-derived class to allow easier code customization.\r\n /// <" + "/summary>\r\n\tpublic partial class "); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("DiagramItemViewModel : "); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(@"DiagramItemViewModelBase { #region Constructor /// <summary> /// Constuctor. /// </summary> /// <param name=""viewModelStore"">The store this view model belongs to.</param> /// <param name=""diagram"">The Diagram this item belongs to.</param> /// <param name=""shapeElement"">Model element, that is hosted by this view model.</param> public "); #line default #line hidden #line 85 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 85 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(@"DiagramItemViewModel(DslEditorViewModelData::ViewModelStore viewModelStore, DslEditorViewDiagrams::DiagramSurfaceViewModel diagram, DslEditorDiagrams::NodeShape shapeElement) : base(viewModelStore, diagram, shapeElement) { } #endregion } /// <summary> /// View model for "); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(".\r\n\t///\r\n\t/// This is the abstract base class.\r\n /// </summary>\r\n\tpublic parti" + "al class "); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("DiagramItemViewModelBase : "); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(baseClass)); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(@" { #region Constructor /// <summary> /// Constuctor. /// </summary> /// <param name=""viewModelStore"">The store this view model belongs to.</param> /// <param name=""diagram"">The Diagram this item belongs to.</param> /// <param name=""shapeElement"">Model element, that is hosted by this view model.</param> protected "); #line default #line hidden #line 106 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 106 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(@"DiagramItemViewModelBase(DslEditorViewModelData::ViewModelStore viewModelStore, DslEditorViewDiagrams::DiagramSurfaceViewModel diagram, DslEditorDiagrams::NodeShape shapeElement) : base(viewModelStore, diagram, shapeElement) { } #endregion #region Methods /// <summary> /// Gets whether this view model can have nested children or not. /// </summary> public override bool CanHaveNestedChildren { get { "); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" if (hasBaseClass) { #line default #line hidden #line 123 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t\t\tif( base.CanHaveNestedChildren )\r\n\t\t\t\treturn true;\r\n\t\t\t\r\n"); #line default #line hidden #line 127 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" } #line default #line hidden #line 129 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t\t\t\treturn "); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(canHaveNestedChildren.ToString().ToLower())); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(";\r\n\t\t\t}\r\n\t\t}\r\n\r\n /// <summary>\r\n /// Gets whether this view model c" + "an have relative children or not.\r\n /// </summary>\r\n public overri" + "de bool CanHaveRelativeChildren\r\n\t\t{ \r\n\t\t\tget\r\n\t\t\t{\r\n"); #line default #line hidden #line 141 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" if (hasBaseClass) { #line default #line hidden #line 144 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t\t\tif( base.CanHaveRelativeChildren )\r\n\t\t\t\treturn true;\r\n\t\t\t\r\n"); #line default #line hidden #line 148 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" } #line default #line hidden #line 150 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t\t\t\r\n\t\t\t\treturn "); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(canHaveRelativeChildren.ToString().ToLower())); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(";\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n #endregion\t\t\t\r\n\r\n"); #line default #line hidden #line 157 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" if (shapeClassElement.Parent == null) { #line default #line hidden #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write(@" #region Properties /// <summary> /// False if this item view model is directly hosted on the diagram surface and its shape can be deleted /// whithout the hosted model element beeing required to be deleted as well. True otherwise. /// </summary> /// <remarks> /// Items need to delete their hosted element if they are themselves not directly hosted /// on the diagram's surface. /// </remarks> public override bool AutomaticallyDeletesHostedElement { get { return false; } } #endregion "); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" } if (shapeClassElement.GeneratePropertiesVM) { this.PushIndent("\t\t"); this.Write(DiagramGeneratorHelper.Instance.CreatePropertyHandlers(presentationElement, (presentationElement as PresentationDomainClassElement).DomainClass, hasBaseClass)); this.PopIndent(); } #line default #line hidden #line 189 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("\t}\r\n\t\r\n"); #line default #line hidden #line 192 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" } #line default #line hidden #line 194 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 196 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\DiagramItemViewModelGenerator.tt" }
void FormTheBridgeShape() { startVerticesCoordinates = ((GameObject)vertexStart).GetComponent<VertexController>().GetTriodVerticesArray(triodStart);//local coordinates of triods vertices endVerticesCoordinates = ((GameObject)vertexEnd).GetComponent<VertexController>().GetTriodVerticesArray(triodEnd); startShape = ((GameObject)vertexStart).GetComponent<VertexController>().GetTriodShape(triodStart);//in the local coordinates of the vertex endShape = ((GameObject)vertexEnd).GetComponent<VertexController>().GetTriodShape(triodEnd); ShapeClass originalEndShape = ((GameObject)vertexEnd).GetComponent<VertexController>().GetTriodShape(triodEnd); UpdateLineRendererPositions(); //------------------------------ //------------------------------ //generate shapes fo the bridge ShapeClass profile = new ShapeClass(); profile.CopyFrom(startShape); bridgeShapes = new List<ShapeClass>(); startQ = localStartTriodTransfom.rotation; endQ = localEndTriodTransform.rotation; Quaternion originalEndQ = endQ; Matrix4x4 eM = Matrix4x4.TRS(new Vector3(), endQ * GetTwistQuaternion(), new Vector3(-1, -1, 1)); endQ = QuaternionFromMatrix(eM); endQ = MultiplyByScalar(endQ, 1f / GetQuaternionLength(endQ)); if(vertexStart == vertexEnd && !isNew) { middlePointDistance = middlePointDistanceSelfe; } isNew = true; startMatrix = Matrix4x4.TRS(localStartTriodTransfom.position, startQ, new Vector3(1, 1, 1)); endMatrix = Matrix4x4.TRS(localEndTriodTransform.position, endQ, new Vector3(1, 1, 1)); Matrix4x4 orignalEndMatrix = Matrix4x4.TRS(localEndTriodTransform.position, originalEndQ * GetTwistQuaternion(), new Vector3(1, 1, 1)); originalEndShape.MapsTo(orignalEndMatrix); startShape.MapsTo(startMatrix); endShape.MapsTo(endMatrix); bridgeShapes.Add(startShape); Quaternion currentRotation = startQ; List<ShapeClass> firstPassShapes = new List<ShapeClass>(); firstPassShapes.Add(startShape); for (int i = 1; i <= segmentsCount; i++) { Quaternion middleQ = currentRotation; Matrix4x4 middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); Quaternion delta; if (i < segmentsCount) { delta = Quaternion.FromToRotation(middleMatrix.GetColumn(1), (knotPositions[i + 1] - knotPositions[i - 1]).normalized); } else { delta = Quaternion.FromToRotation(middleMatrix.GetColumn(1), (knotPositions[i] - knotPositions[i - 1]).normalized); } middleQ = delta * middleQ; middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); Quaternion twistRotation = Quaternion.AngleAxis(GetTwistAngle() / (float)segmentsCount, middleMatrix.GetColumn(1)); middleQ = twistRotation * middleQ; middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); ShapeClass middleShape = new ShapeClass(); middleShape.CopyFrom(profile); middleShape.MapsTo(middleMatrix); firstPassShapes.Add(middleShape); currentRotation = middleQ; } //find angle between end shape and target shape float errorAngle = ShapeClass.GetAngleBetween(firstPassShapes[firstPassShapes.Count - 1], originalEndShape); //print(errorAngle); //bridgeShapesTemp = firstPassShapes; currentRotation = startQ; //form the bridge shapes for (int i = 1; i <= segmentsCount; i++ ) { Quaternion middleQ = currentRotation; Matrix4x4 middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); Quaternion delta; if(i < segmentsCount) { delta = Quaternion.FromToRotation(middleMatrix.GetColumn(1), (knotPositions[i + 1] - knotPositions[i - 1]).normalized); } else { delta = Quaternion.FromToRotation(middleMatrix.GetColumn(1), (knotPositions[i] - knotPositions[i - 1]).normalized); } middleQ = delta * middleQ; middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); //Quaternion twistRotation = Quaternion.AngleAxis((GetTwistAngle() / (float)segmentsCount) + (errorAngle / (float)segmentsCount), middleMatrix.GetColumn(1)); Quaternion twistRotation = Quaternion.AngleAxis(AnglePiClamp(GetTwistAngle() + errorAngle) / (float)segmentsCount, middleMatrix.GetColumn(1)); middleQ = twistRotation * middleQ; middleMatrix = Matrix4x4.TRS(knotPositions[i], middleQ, new Vector3(1, 1, 1)); ShapeClass middleShape = new ShapeClass(); middleShape.CopyFrom(profile); middleShape.MapsTo(middleMatrix); if(i < segmentsCount) { bridgeShapes.Add(middleShape); } else { ShapeClass tsh = new ShapeClass(); tsh.CopyFrom(middleShape); tsh.MatchTo(originalEndShape); //and match to vertices of the Vertex tsh.WeldToMesh(endVerticesCoordinates, localEndTriodTransform); bridgeShapes.Add(tsh); } currentRotation = middleQ; } }
public override string TransformText() { this.GenerationEnvironment = null; this.Write(" \r\n"); this.Write("using DslModeling = global::Microsoft.VisualStudio.Modeling;\r\nusing DslEditorDiag" + "rams = global::Tum.PDE.ToolFramework.Modeling.Diagrams;\r\n\r\n"); #line 12 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" List <DomainClass> ruleOnElementsAdd = new List <DomainClass>(); List <DomainRelationship> ruleOnLinksChange = new List <DomainRelationship>(); List <DomainClass> ruleOnElementsDelete = new List <DomainClass>(); foreach (DiagramClass diagram in this.MetaModel.AllDiagramClasses) { foreach (PresentationElementClass element in diagram.PresentationElements) { if (element is ShapeClass) { ShapeClass shapeClass = element as ShapeClass; DomainClass domainClass = shapeClass.DomainClass; if (domainClass == null) { continue; } if (!diagram.IsCustom) { if (!ruleOnElementsAdd.Contains(domainClass)) { ruleOnElementsAdd.Add(domainClass); } /* * if (diagram.VisualizationBehavior != DiagramVisualizationBehavior.Extended) * { * if( !ruleOnElementsAdd.Contains(domainClass) ) * ruleOnElementsAdd.Add(domainClass); * } * else if( shapeClass.Parent != null ) * { * if( !ruleOnElementsAdd.Contains(domainClass) ) * ruleOnElementsAdd.Add(domainClass); * } */ } if (!ruleOnElementsDelete.Contains(domainClass)) { ruleOnElementsDelete.Add(domainClass); } } } } foreach (DomainClass d in ruleOnElementsAdd) { foreach (DomainRole rolesPlayed in d.RolesPlayed) { if (rolesPlayed.Relationship.Target == rolesPlayed && rolesPlayed.Relationship is EmbeddingRelationship && rolesPlayed.Relationship.InheritanceModifier != InheritanceModifier.Abstract) { if (!ruleOnLinksChange.Contains(rolesPlayed.Relationship)) { ruleOnLinksChange.Add(rolesPlayed.Relationship); } } } } MetaModel dm = this.MetaModel; #line default #line hidden this.Write("namespace "); #line 68 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden this.Write("\r\n{\r\n"); #line 70 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" if (CodeGenerationUtilities.NeedsShapeAddRule(dm)) { #line default #line hidden this.Write("\t/// <summary>\r\n /// This AddRule is for monitoring element creation that we n" + "eed to reflect\r\n\t/// onto the diagram surface by creating its specified shape cl" + "ass.\r\n /// </summary>\r\n"); #line 78 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" foreach (AttributedDomainElement domainElement in ruleOnElementsAdd) { #line default #line hidden this.Write("\t[DslModeling::RuleOn(typeof("); #line 82 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.GetFullName(true))); #line default #line hidden this.Write("), FireTime = DslModeling::TimeToFire.LocalCommit)]\r\n"); #line 83 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } #line default #line hidden this.Write(" public partial class "); #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesAdded : DslEditorDiagrams::ModelLinkAddRuleForShapes\r\n {\r\n\t\t//" + "/ <summary>\r\n /// Constructor.\r\n /// </summary>\r\n\t\tpublic "); #line 91 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesAdded() \r\n\t\t\t: base("); #line 92 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesFactoryHelper.Instance)\r\n\t\t{\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n /" + "// Helper class for model element creation.\r\n /// </summary>\r\n pub" + "lic partial class "); #line 99 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesFactoryHelper : DslEditorDiagrams::ModelLinkAddRuleForShapes.Shap" + "esFactoryHelper\r\n {\r\n\t\t\tprivate static "); #line 101 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesFactoryHelper instanceHolder = null;\r\n\r\n \t /// <summary>\r\n " + " \t /// Gets a singleton instance.\r\n \t /// </summary>\r\n \t public" + " static "); #line 106 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesFactoryHelper Instance\r\n \t {\r\n \t get\r\n \t " + " {\r\n \t if (instanceHolder == null)\r\n \t instance" + "Holder = new "); #line 111 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write(@"ElementForShapesFactoryHelper(); return instanceHolder; } } } } /// <summary> /// This RolePlayerChangeRule is for monitoring embedding relationship changes that we need to reflect /// onto the diagram surface by removing and recreating its specified shape class if necessary. /// </summary> "); #line 123 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } if (CodeGenerationUtilities.NeedsShapeChangeRule(dm)) { foreach (AttributedDomainElement domainElement in ruleOnLinksChange) { #line default #line hidden this.Write("\t[DslModeling::RuleOn(typeof("); #line 131 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.GetFullName(true))); #line default #line hidden this.Write("), FireTime = DslModeling::TimeToFire.LocalCommit)]\r\n"); #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } #line default #line hidden this.Write(" public partial class "); #line 135 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesChanged : DslEditorDiagrams::ModelLinkRolePlayerChangeRuleForShap" + "es\r\n {\r\n\t\t/// <summary>\r\n /// Constructor.\r\n /// </summary>\r\n\t\t" + "public "); #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesChanged() \r\n\t\t\t: base("); #line 141 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper.Instance)\r\n\t\t{\r\n\t\t}\t\r\n\t\t\r\n\t\t/// <summary>\r\n /// Hel" + "per class for model element creation.\r\n /// </summary>\r\n public pa" + "rtial class "); #line 148 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper : DslEditorDiagrams::ModelLinkRolePlayerChangeRuleForShape" + "s.RolePlayerChangeHelper\r\n {\r\n\t\t\tprivate static "); #line 150 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper instanceHolder = null;\r\n\r\n \t /// <summary>\r\n \t " + " /// Gets a singleton instance.\r\n \t /// </summary>\r\n \t public static" + " "); #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper Instance\r\n \t {\r\n \t get\r\n \t {\r\n " + " \t if (instanceHolder == null)\r\n \t instanceHolder " + "= new "); #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper();\r\n\r\n \t return instanceHolder;\r\n \t " + " }\r\n \t }\r\n\t\t\r\n\t\t\t/// <summary>\r\n \t/// Constructor.\r\n \t/// <" + "/summary>\r\n\t\t\tpublic "); #line 169 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("RolePlayerChangeHelper() \r\n\t\t\t\t: base("); #line 170 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesAdded."); #line 170 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesFactoryHelper.Instance,\r\n\t\t\t\t\t "); #line 171 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesDeleted."); #line 171 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper.Instance)\t\t\r\n\t\t\t{\r\n\t\t\t}\r\n\t\t}\t\t\r\n\t}\t\r\n"); #line 176 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } if (CodeGenerationUtilities.NeedsShapeDeleteRule(dm)) { #line default #line hidden this.Write("\r\n\t/// <summary>\r\n /// This DeleteRule is for monitoring element deletin that " + "we need to reflect\r\n\t/// onto the diagram surface by creating its specified shap" + "e class.\r\n /// </summary>\r\n"); #line 187 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" foreach (AttributedDomainElement domainElement in ruleOnElementsDelete) { #line default #line hidden this.Write("\t[DslModeling::RuleOn(typeof("); #line 191 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.GetFullName(true))); #line default #line hidden this.Write("), FireTime = DslModeling::TimeToFire.LocalCommit)]\r\n"); #line 192 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } #line default #line hidden this.Write(" public partial class "); #line 195 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesDeleted : DslEditorDiagrams::ModelElementDeletingRuleForShapes\r\n " + " {\r\n\t\t/// <summary>\r\n /// Constructor.\r\n /// </summary>\r\n\t\tpubli" + "c "); #line 200 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ElementForShapesDeleted() \r\n\t\t\t: base("); #line 201 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper.Instance)\r\n\t\t{\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n /// Helper " + "class for model element creation.\r\n /// </summary>\r\n public partia" + "l class "); #line 208 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper : DslEditorDiagrams::ModelElementDeletingRuleForShapes.ShapeD" + "eletionHelper\r\n {\r\n\t\t\tprivate static "); #line 210 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper instanceHolder = null;\r\n\r\n \t /// <summary>\r\n \t //" + "/ Gets a singleton instance.\r\n \t /// </summary>\r\n \t public static "); #line 215 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper Instance\r\n \t {\r\n \t get\r\n \t {\r\n \t" + " if (instanceHolder == null)\r\n \t instanceHolder = n" + "ew "); #line 220 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden this.Write("ShapeDeletionHelper();\r\n\r\n \t return instanceHolder;\r\n \t }" + "\r\n \t }\r\n\t\t}\r\n\t}\r\n"); #line 227 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DiagramsRulesGenerator.tt" } #line default #line hidden this.Write("}"); return(this.GenerationEnvironment.ToString()); }
private void SetupInitialValues(PresentationElementClass presentationClass) { if (presentationClass is ShapeClass) { ShapeClass shapeClass = presentationClass as ShapeClass; #line default #line hidden #line 397 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@" bool bHandledSize = false; bool bHandledLocation = false; bool bHandledAbsoluteLocation = false; if( propertyAssignments != null ) foreach(DslModeling::PropertyAssignment propertyAssignment in propertyAssignments ) { if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.SizeDomainPropertyId) bHandledSize = true; else if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.LocationDomainPropertyId) bHandledLocation = true; else if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.AbsoluteLocationDomainPropertyId) bHandledAbsoluteLocation = true; } if( !bHandledSize ) this.Size = new DslEditorDiagrams::SizeD(" ); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultWidth)); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(", "); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultHeight)); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(");\r\n\tif( !bHandledLocation )\r\n\t\tthis.Location = DslEditorDiagrams::PointD.Empty;\r" + "\n\tif( !bHandledAbsoluteLocation )\r\n\t\tthis.AbsoluteLocation = DslEditorDiagrams::" + "PointD.Empty;\r\n"); #line default #line hidden #line 419 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } }
/// <summary> /// Compares two shape classes by comparing their names. /// </summary> /// <param name="x">ShapeClass to be compared.</param> /// <param name="y">ShapeClass to be compared.</param> /// <returns>Int from Compare.To</returns> private static int CompareShapeClassesByName(ShapeClass x, ShapeClass y) { return x.Name.CompareTo(y.Name); }
public void GenerateShapes(LibraryModelContext modelContext) { foreach (DiagramClass diagram in modelContext.DiagramClasses) { Dictionary <ShapeClass, List <ShapeClass> > childParentMapping = new Dictionary <ShapeClass, List <ShapeClass> >(); Dictionary <DomainClass, List <EmbeddingRelationship> > embeddingChildParentMapping = new Dictionary <DomainClass, List <EmbeddingRelationship> >(); foreach (PresentationElementClass presentationElement in diagram.PresentationElements) { if (presentationElement is ShapeClass) { ShapeClass shapeClass = presentationElement as ShapeClass; DomainClass domainClass = shapeClass.DomainClass; if (domainClass == null) { continue; } if (shapeClass.Parent != null) { if (shapeClass.Parent.DomainClass == null) { continue; } if (!childParentMapping.ContainsKey(shapeClass.Parent)) { childParentMapping.Add(shapeClass.Parent, new List <ShapeClass>()); } childParentMapping[shapeClass.Parent].Add(shapeClass); } if (!embeddingChildParentMapping.ContainsKey(domainClass)) { embeddingChildParentMapping.Add(domainClass, new List <EmbeddingRelationship>()); } foreach (DomainRole rolesPlayed in domainClass.RolesPlayed) { if (rolesPlayed.Relationship.Target == rolesPlayed && rolesPlayed.Relationship is EmbeddingRelationship && rolesPlayed.Relationship.InheritanceModifier != InheritanceModifier.Abstract) { if (!embeddingChildParentMapping[domainClass].Contains(rolesPlayed.Relationship as EmbeddingRelationship)) { embeddingChildParentMapping[domainClass].Add(rolesPlayed.Relationship as EmbeddingRelationship); } } } if (embeddingChildParentMapping[domainClass].Count > 0) { IEnumerable <AttributedDomainElement> sortedByInheritanceRS = CodeGenerationUtilities.SortDomainClassesByInheritance(embeddingChildParentMapping[domainClass]); embeddingChildParentMapping[domainClass].Clear(); foreach (EmbeddingRelationship r in sortedByInheritanceRS) { embeddingChildParentMapping[domainClass].Add(r); } } } } foreach (PresentationElementClass presentationElement in diagram.PresentationElements) { string baseClass = "DslEditorDiagrams::NodeShape"; string className = presentationElement.Name; bool hasBaseClass = false; InheritanceModifier modifier = presentationElement.InheritanceModifier; if (!(presentationElement is ShapeClass)) { baseClass = "DslEditorDiagrams::LinkShape"; } else if (presentationElement is ShapeClass) { if ((presentationElement as ShapeClass).BaseShape != null) { ShapeClass s = (presentationElement as ShapeClass).BaseShape; baseClass = s.Namespace + "." + s.Name; hasBaseClass = true; } } if (presentationElement.GeneratesDoubleDerived) { className += "Base"; modifier = InheritanceModifier.Abstract; } #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("namespace "); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Namespace)); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\r\n{\r\n\t/// <summary>\r\n /// "); #line default #line hidden #line 100 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(className)); #line default #line hidden #line 100 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" class representing a Shape.\r\n /// </summary>\r\n\t[DslModeling::DomainObjectId(\"" + ""); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Id.ToString("D"))); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\")]\r\n\t"); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(presentationElement.AccessModifier))); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetInheritanceModifier(modifier))); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" partial class "); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(className)); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" : "); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(baseClass)); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\r\n\t{\r\n\t\t#region Constructors, domain class Id\r\n\r\n\t\t/// <summary>\r\n\t\t/// "); #line default #line hidden #line 108 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 108 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" domain class Id.\r\n\t\t/// </summary>\r\n\t\tpublic static readonly new global::System." + "Guid DomainClassId = new System.Guid(\""); #line default #line hidden #line 110 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Id.ToString("D"))); #line default #line hidden #line 110 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\");\r\n"); #line default #line hidden #line 111 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" PushIndent("\t\t"); GenerateDomainClassConstructors(presentationElement, true); PopIndent(); #line default #line hidden #line 115 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t#endregion\r\n"); #line default #line hidden #line 117 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" PushIndent("\t\t"); foreach (DomainProperty property in presentationElement.Properties) { this.Write(DomainPropertyGenerator.Instance.GenerateDomainProperty(property)); } PopIndent(); if (presentationElement is ShapeClass) { ShapeClass shapeClass = presentationElement as ShapeClass; bool bTopMost = false; if (shapeClass.Parent == null) { bTopMost = true; } #line default #line hidden #line 131 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t#region Shape Properties/Methods\r\n\t\t /// <summary>\r\n /// Gets if " + "this shape is a top most item.\r\n /// </summary>\r\n public override " + "bool IsTopMostItem \r\n\t\t{ \r\n\t\t\tget\r\n\t\t\t{\r\n\t\t\t\treturn "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(bTopMost.ToString().ToLower())); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@"; } } /// <summary> /// Gets the default size of the shape. /// </summary> public override DslEditorDiagrams::SizeD DefaultSize { get { return new DslEditorDiagrams::SizeD("); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultWidth)); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(", "); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultHeight)); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@"); } } /// <summary> /// Gets the used defined resizing behaviour value. /// </summary> /// <returns>Resizing behaviour value.</returns> public override DslEditorDiagrams::ShapeResizingBehaviour GetResizingBehaviourValue() { "); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" if (shapeClass.IsFixedWidth && shapeClass.IsFixedHeight) { #line default #line hidden #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeResizingBehaviour.Fixed;\r\n"); #line default #line hidden #line 166 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } else if (shapeClass.IsFixedWidth) { #line default #line hidden #line 170 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeResizingBehaviour.FixedWidth;\r\n"); #line default #line hidden #line 172 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } else if (shapeClass.IsFixedHeight) { #line default #line hidden #line 176 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeResizingBehaviour.FixedHeight;\r\n"); #line default #line hidden #line 178 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } else { #line default #line hidden #line 182 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeResizingBehaviour.Normal;\r\n"); #line default #line hidden #line 184 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@" } /// <summary> /// Gets the used defined movement behaviour value. /// </summary> /// <returns>Movement behaviour value.</returns> public override DslEditorDiagrams::ShapeMovementBehaviour GetMovementBehaviourValue() { "); #line default #line hidden #line 195 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" if (shapeClass.IsRelativeChild) { if (shapeClass.RelativeChildBehaviour == RelativeChildBehaviour.PositionRelativeToParent) { #line default #line hidden #line 200 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeMovementBehaviour.PositionRelativeToParent;\r\n"); #line default #line hidden #line 202 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } else if (shapeClass.RelativeChildBehaviour == RelativeChildBehaviour.PositionOnEdgeOfParent) { #line default #line hidden #line 206 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeMovementBehaviour.PositionOnEdgeOfParent;\r\n"); #line default #line hidden #line 208 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } } else { #line default #line hidden #line 213 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn DslEditorDiagrams::ShapeMovementBehaviour.Normal;\r\n"); #line default #line hidden #line 215 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 217 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@" } /// <summary> /// Gets whether this shape is a relative child shape or not. /// </summary> /// <returns>True if this shape is a relative child shape. False otherwise</returns> public override bool GetIsRelativeChildShapeValue() { return " ); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.IsRelativeChild.ToString().ToLower())); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@"; } /// <summary> /// Gets whether this shape takes part in any relationship or not. /// </summary> /// <returns>True if this shape takes part in any relationship. False otherwise</returns> public override bool GetTakesPartInRelationshipValue() { "); #line default #line hidden #line 235 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" if (hasBaseClass) { #line default #line hidden #line 238 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\tif( base.GetTakesPartInRelationshipValue() )\r\n\t\t\t\treturn true;\r\n\t\t\t\t\r\n"); #line default #line hidden #line 242 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } bool takesPart = false; foreach (PresentationElementClass pLink in diagram.PresentationElements) { if (pLink is RelationshipShapeClass) { RelationshipShapeClass rsShape = pLink as RelationshipShapeClass; DomainRelationship con = rsShape.ReferenceRelationship; if (con != null) { if (CodeGenerationUtilities.ShapeTakesPart(shapeClass, con)) { takesPart = true; } } } else if (!takesPart && pLink is MappingRelationshipShapeClass) { MappingRelationshipShapeClass rsShape = pLink as MappingRelationshipShapeClass; ReferenceRelationship con = rsShape.Source; if (con != null) { if (CodeGenerationUtilities.ShapeTakesPart(shapeClass, con.Target.RolePlayer as DomainClass)) { takesPart = true; } } con = rsShape.Target; if (con != null && !takesPart) { if (CodeGenerationUtilities.ShapeTakesPart(shapeClass, con.Target.RolePlayer as DomainClass)) { takesPart = true; } } } } #line default #line hidden #line 270 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\treturn "); #line default #line hidden #line 271 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(takesPart.ToString().ToLower())); #line default #line hidden #line 271 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(";\r\n\t\t}\r\n\t\t#endregion\r\n"); #line default #line hidden #line 274 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 276 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t}\r\n"); #line default #line hidden #line 278 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" // If this class is double-derived, generate the skeleton derived class (with just the // constructors) if (presentationElement.GeneratesDoubleDerived) { #line default #line hidden #line 283 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t\t\r\n\t/// <summary>\r\n /// "); #line default #line hidden #line 285 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 285 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" class representing a Shape.\r\n /// </summary>\r\n\t"); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(presentationElement.AccessModifier))); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetInheritanceModifier(presentationElement.InheritanceModifier))); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" partial class "); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(" : "); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(presentationElement.Name)); #line default #line hidden #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("Base\r\n\t{\r\n\t\t#region Constructors\r\n"); #line default #line hidden #line 290 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" PushIndent("\t\t"); GenerateDomainClassConstructors(presentationElement, false); PopIndent(); #line default #line hidden #line 294 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("\t\t#endregion\r\n\t}\r\n"); #line default #line hidden #line 297 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 299 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 301 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 304 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } #line default #line hidden #line 307 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" }
/// <summary> /// Constructor. This view model constructed with 'bHookUpEvents=true' does react on model changes. /// </summary> /// <param name="viewModelStore">The store this view model belongs to.</param> /// <param name="element">Element represented by this view model.</param> public ShapeClassSelectableViewModel(ViewModelStore viewModelStore, ShapeClass element) : base(viewModelStore, element) { this.shapeClass = element; }
public void ImportFromBinaryReader(ShapeType shapeType, BinaryReader br) { try { long streamLength = br.BaseStream.Length; RecordNumber = NumericsHelper.ReverseInt(br.ReadInt32()); // Big, Reverse for actual value ContentLength = NumericsHelper.ReverseInt(br.ReadInt32()); // Big, Reverse for actual value ShapeType = (ShapeType)br.ReadInt32(); if (ShapeType == ShapeType.Null || shapeType == ShapeType.Null) { return; } if (ShapeType != shapeType) { // Shape Type doesn't match type specified in file header. According to specs, this is invalid. Throw exception throw new Exception( $"Unable to process shape! File shape of {shapeType} does not match record shape of {ShapeType} which violates ESRI specifications for shape files!"); } ShapeClass shapeClass = ShapeClass.Coordinate; bool hasMultiplePoints = true; bool hasParts = true; bool hasPartTypes = false; switch (shapeType) { case ShapeType.MultiPatch: shapeClass = ShapeClass.Depth; hasPartTypes = true; break; case ShapeType.MultiPoint: hasParts = false; break; case ShapeType.MultiPointM: shapeClass = ShapeClass.Measurement; hasParts = false; break; case ShapeType.MultiPointZ: shapeClass = ShapeClass.Depth; hasParts = false; break; case ShapeType.Null: throw new Exception( "The application should have never gotten to this point.\r\nSomething is wrong with the code!\r\nLYNCH THE DEVELOPER!"); case ShapeType.Point: hasMultiplePoints = false; hasParts = false; break; case ShapeType.PointM: shapeClass = ShapeClass.Measurement; hasMultiplePoints = false; hasParts = false; break; case ShapeType.PointZ: shapeClass = ShapeClass.Depth; hasMultiplePoints = false; hasParts = false; break; case ShapeType.Polygon: case ShapeType.Polyline: break; case ShapeType.PolygonM: shapeClass = ShapeClass.Measurement; break; case ShapeType.PolygonZ: shapeClass = ShapeClass.Depth; break; case ShapeType.PolylineM: shapeClass = ShapeClass.Measurement; break; case ShapeType.PolylineZ: shapeClass = ShapeClass.Depth; break; default: throw new Exception($"Unable to process shape! Record Shape of {ShapeType} is unknown!"); } if (hasMultiplePoints) { XMin = br.ReadDouble(); YMin = br.ReadDouble(); XMax = br.ReadDouble(); YMax = br.ReadDouble(); } NumberOfParts = hasParts ? br.ReadInt32() : 1; NumberOfPoints = hasMultiplePoints ? br.ReadInt32() : 1; //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, streamLength, "Shape")); List <Part> parts = new List <Part>(); for (int i = 0; i < NumberOfParts; i++) // Grab the parts { Part part = new Part { ShapeId = Id, SortIndex = i, PartTypeId = -1, // TODO: Find out what the appropriate part types are (if necessary) StartIndex = hasParts ? br.ReadInt32() : 0 // Get the start index }; parts.Add(part); if (i > 0) // If this isn't the first element { parts[i - 1].EndIndex = parts[i].StartIndex - 1; } // Set the last element's end index to this element's start index minus one if (i + 1 == NumberOfParts) // If this is the last element { parts[i].EndIndex = NumberOfPoints - 1; } // Set the ending index to the number of points minus one (to account for 0 based index) //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, streamLength, $"Part {i}")); } for (int i = 0; i < NumberOfParts; i++) // Set the number of points. This is done after initial grab to account for first/last elements { if (hasParts && hasPartTypes) { parts[i].PartTypeId = br.ReadInt32(); } parts[i].NumberOfPoints = parts[i].EndIndex - parts[i].StartIndex + 1; //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, streamLength, $"Part {i}")); } for (int i = 0; i < NumberOfParts; i++) // For each part { for (int j = 0; j < parts[i].NumberOfPoints; j++) // For each point in each part { parts[i].Points.Add(new Point { SortIndex = j, X = br.ReadDouble(), Y = br.ReadDouble() }); // Grab the point //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, streamLength, $"Part {i} | Point {j}")); } } if (shapeClass == ShapeClass.Depth) { if (hasMultiplePoints) { ZMin = br.ReadDouble(); ZMax = br.ReadDouble(); } for (int i = 0; i < NumberOfParts; i++) { for (int j = 0; j < parts[i].NumberOfPoints; j++) { //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, // streamLength, // $"Part {i} | Point {j} | Setting Z Value")); parts[i].Points.ToArray()[j].Z = br.ReadDouble(); } } } if (shapeClass == ShapeClass.Depth || shapeClass == ShapeClass.Measurement) { if (hasMultiplePoints) { MMin = br.ReadDouble(); MMax = br.ReadDouble(); } for (int i = 0; i < NumberOfParts; i++) { for (int j = 0; j < parts[i].NumberOfPoints; j++) { //Console.Write(StringHelper.GetProgressString(br.BaseStream.Position, // streamLength, // $"Part {i} | Point {j} | Setting M Value")); parts[i].Points.ToArray()[j].M = br.ReadDouble(); } } } try { string wktTemplate = "{0}({1})"; string shapeTypeName = ShapeType.ToString().ToUpperInvariant().Replace("POLYLINE", "MULTILINESTRING"); IReadOnlyCollection <string> coordinateStrings = parts.Select(s => s.CoordinateString).ToArray(); if (ShapeType == ShapeType.Point || ShapeType == ShapeType.PointZ || ShapeType == ShapeType.PointM) { coordinateStrings = coordinateStrings.Select(s => s.Trim('(').Trim(')').Trim()).ToArray(); } string coordinateString = string.Join(",", coordinateStrings); string wktString = string.Format(wktTemplate, shapeTypeName, coordinateString); //Debug.WriteLine(wktString); Geometry = DbGeometry.FromText(wktString, SRID); } catch (Exception e) { Console.WriteLine($"\r\n{e.Message}\r\n{e}"); throw; } } catch (Exception e) { Console.WriteLine($"\r\n{e.Message}\r\n{e}"); throw; } }
public void GenerateResourceDictionary(MetaModel dm) { #line default #line hidden #line 10 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentat" + "ion\"\r\n xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"" + "\r\n xmlns:c=\"clr-namespace:"); #line default #line hidden #line 13 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 13 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(@".ViewModel"" xmlns:view=""clr-namespace:Tum.PDE.ToolFramework.Modeling.Visualization.Controls;assembly=Tum.PDE.ToolFramework.Modeling.Visualization"" xmlns:diagrams=""clr-namespace:Tum.PDE.ToolFramework.Modeling.Visualization.Controls.DiagramSurface;assembly=Tum.PDE.ToolFramework.Modeling.Visualization"" xmlns:dependencies=""clr-namespace:Tum.PDE.ToolFramework.Modeling.Visualization.Controls.Dependencies;assembly=Tum.PDE.ToolFramework.Modeling.Visualization"" xmlns:inter=""clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"" xmlns:beh=""clr-namespace:Tum.PDE.ToolFramework.Modeling.Visualization.Behaviors;assembly=Tum.PDE.ToolFramework.Modeling.Visualization""> <!-- This code was generated by a tool. Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source=""/Tum.PDE.ToolFramework.Modeling.Visualization;component/Themes/Generic.xaml""/> "); #line default #line hidden #line 26 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" #line default #line hidden #line 27 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\t\r\n\t</ResourceDictionary.MergedDictionaries>\r\n"); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" if (this.MetaModel.View.CreateModelTree) { #line default #line hidden #line 32 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n\t<!-- Model tree template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 35 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 35 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("ModelTreeViewModel}\">\r\n <view:ModelTreeControl x:Name=\"ModelTreeviewContro" + "l\"/>\r\n </DataTemplate>\r\n\r\n"); #line default #line hidden #line 39 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } if (this.MetaModel.View.CreatePropertyGrid) { #line default #line hidden #line 43 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n <!-- Property grid template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("PropertyGridViewModel}\">\r\n <view:PropertyWindowControl x:Name=\"PropertyWin" + "dow\"/>\r\n </DataTemplate>\r\n"); #line default #line hidden #line 49 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } if (this.MetaModel.View.CreateErrorList) { #line default #line hidden #line 53 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n <!-- Error list template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 56 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 56 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("ErrorListViewModel}\">\r\n <view:ErrorListControl x:Name=\"ErrorList\"/>\r\n <" + "/DataTemplate>\r\n"); #line default #line hidden #line 59 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } if (this.MetaModel.View.CreateDependenciesView) { #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n\t<!-- Depenendencies list template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 66 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 66 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("DependenciesViewModel}\">\r\n <view:DependenciesControl x:Name=\"DependenciesL" + "ist\"/>\r\n </DataTemplate>\t\r\n"); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } #line default #line hidden #line 71 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n\t<!-- Search template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 74 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 74 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("SearchViewModel}\">\r\n <view:SearchWindowControl x:Name=\"SearchViewWnd\"/>\r\n " + " </DataTemplate>\t\r\n\t\r\n\t<!-- Search result template -->\r\n <DataTemplate Data" + "Type=\"{x:Type c:"); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("SearchResultViewModel}\">\r\n <view:SearchResultControl x:Name=\"SearchResultC" + "trl\"/>\r\n </DataTemplate>\t\r\n\t\r\n\t<!-- Diagram view models data templates -->\r\n"); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" foreach (DiagramClass diagramClass in dm.AllDiagramClasses) { if (diagramClass is SpecificDependencyDiagram) { if ((diagramClass as SpecificDependencyDiagram).DomainClass != null) { #line default #line hidden #line 92 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\t<DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(diagramClass.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("SurfaceViewModel}\">\r\n\t\t<dependencies:SpecificDependenciesViewControl/>\r\n </Dat" + "aTemplate>\t\r\n"); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } } else if (diagramClass is DependencyDiagram) { #line default #line hidden #line 101 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\t<DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(diagramClass.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("SurfaceViewModel}\">\r\n\t\t<dependencies:GraphDependenciesViewControl/>\r\n </DataTe" + "mplate>\t\r\n"); #line default #line hidden #line 105 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } else { if (diagramClass.IsCustom) { continue; } #line default #line hidden #line 111 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\t<DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 112 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 112 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(diagramClass.Name)); #line default #line hidden #line 112 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(@"SurfaceViewModel}""> <ScrollViewer x:Name=""_tv_scrollviewer_"" Background=""White"" Focusable=""false"" HorizontalScrollBarVisibility=""Visible"" VerticalScrollBarVisibility=""Visible""> <diagrams:DiagramDesigner HorizontalAlignment=""Stretch"" VerticalAlignment=""Stretch"" Background=""White"" ContextMenuOptions=""{Binding Path=MenuOptions, Mode=OneWay}""> "); #line default #line hidden #line 116 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" if (this.EditorType == Tum.PDE.ToolFramework.Templates.GenerationEditorType.VSPlugin) { #line default #line hidden #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(" <diagrams:DiagramDesigner.InputBindings>\r\n <Ke" + "yBinding Command=\"{Binding Path=DeleteCommand}\" Key=\"Delete\"/>\r\n " + "</diagrams:DiagramDesigner.InputBindings>\r\n\r\n"); #line default #line hidden #line 124 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } #line default #line hidden #line 127 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(@" <diagrams:DiagramDesigner.ContextMenu> <ContextMenu ItemContainerStyleSelector=""{StaticResource ContextMenuItemStyleSelector}""/> </diagrams:DiagramDesigner.ContextMenu> <inter:Interaction.Behaviors> <beh:FrameworkElementContextMenuBehavior/> </inter:Interaction.Behaviors> </diagrams:DiagramDesigner> </ScrollViewer> </DataTemplate> "); #line default #line hidden #line 137 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } foreach (PresentationElementClass p in diagramClass.PresentationElements) { if (p is ShapeClass) { ShapeClass r = p as ShapeClass; if (!r.IsAutoGenerated) { continue; } string bindingTextBlockName = "DomainElementName"; if ((p as ShapeClass).DomainClass != null) { if (CodeGenerationUtilities.GetNameProperty((p as ShapeClass).DomainClass) == null) { bindingTextBlockName = "DomainElementFullName"; } } #line default #line hidden #line 154 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n <!-- "); #line default #line hidden #line 156 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 156 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(" template -->\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 157 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 157 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("DiagramItemViewModel}\">\r\n <Grid>\r\n <Border Name=\"Bd\" Margin=\"0\"" + " BorderThickness=\""); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.BorderThickness.ToString())); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" Padding=\"0\" SnapsToDevicePixels=\"True\" CornerRadius=\""); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.BorderCornerRadius.ToString())); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"\r\n\t\t\t\t\tBackground=\""); #line default #line hidden #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(System.Drawing.ColorTranslator.ToHtml(r.BackgroundBrush))); #line default #line hidden #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" BorderBrush=\""); #line default #line hidden #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(System.Drawing.ColorTranslator.ToHtml(r.BorderBrush))); #line default #line hidden #line 160 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"\r\n\t\t\t\t\tIsHitTestVisible=\""); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.BorderIsHitTestVisible.ToString())); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" Focusable=\""); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.BorderFocusable.ToString())); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\">\r\n <Border.Effect>\r\n <DropShadowEffect BlurRa" + "dius=\""); #line default #line hidden #line 163 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.BorderOuterSize.ToString())); #line default #line hidden #line 163 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" ShadowDepth=\"2\" Color=\""); #line default #line hidden #line 163 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(System.Drawing.ColorTranslator.ToHtml(r.BorderOuterBrush))); #line default #line hidden #line 163 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"/>\r\n </Border.Effect>\r\n <TextBlock Margin=\"3\" Grid" + ".Row=\"0\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" Text=\"{Binding " + "Path="); #line default #line hidden #line 165 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(bindingTextBlockName)); #line default #line hidden #line 165 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("}\" ToolTip=\"{Binding Path="); #line default #line hidden #line 165 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(bindingTextBlockName)); #line default #line hidden #line 165 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("}\" TextTrimming=\"CharacterEllipsis\"/>\r\n </Border>\r\n </Grid>\r\n " + " </DataTemplate>\r\n"); #line default #line hidden #line 169 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } else if (p is RelationshipShapeClass) { RelationshipShapeClass r = p as RelationshipShapeClass; if (!r.IsAutoGenerated) { continue; } #line default #line hidden #line 177 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n <!-- "); #line default #line hidden #line 179 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 179 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(" template -->\r\n <Style x:Key=\""); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("PathStyle\" TargetType=\"Path\">\r\n <Setter Property=\"StrokeThickness\" Value=\"" + ""); #line default #line hidden #line 181 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.StrokeThickness.ToString())); #line default #line hidden #line 181 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"/>\r\n <Setter Property=\"Stroke\" Value=\""); #line default #line hidden #line 182 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(System.Drawing.ColorTranslator.ToHtml(r.Stroke))); #line default #line hidden #line 182 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"/>\r\n </Style>\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 184 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 184 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("DiagramItemLinkViewModel}\">\r\n <diagrams:DiagramDesignerItemLink StartAncho" + "rStyle=\""); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.StartAnchorStyle.ToString())); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" EndAnchorStyle=\""); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.EndAnchorStyle.ToString())); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" PathStyle=\"{StaticResource "); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("PathStyle}\"/>\r\n </DataTemplate>\r\n"); #line default #line hidden #line 187 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } else if (p is MappingRelationshipShapeClass) { MappingRelationshipShapeClass r = p as MappingRelationshipShapeClass; if (!r.IsAutoGenerated) { continue; } #line default #line hidden #line 195 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\r\n <!-- "); #line default #line hidden #line 197 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 197 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(" template -->\r\n <Style x:Key=\""); #line default #line hidden #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("PathStyle\" TargetType=\"Path\">\r\n <Setter Property=\"StrokeThickness\" Value=\"" + ""); #line default #line hidden #line 199 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.StrokeThickness.ToString())); #line default #line hidden #line 199 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"/>\r\n <Setter Property=\"Stroke\" Value=\""); #line default #line hidden #line 200 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(System.Drawing.ColorTranslator.ToHtml(r.Stroke))); #line default #line hidden #line 200 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\"/>\r\n </Style>\r\n <DataTemplate DataType=\"{x:Type c:"); #line default #line hidden #line 202 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 202 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("DiagramItemLinkViewModel}\">\r\n <diagrams:DiagramDesignerItemLink StartAncho" + "rStyle=\""); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.StartAnchorStyle.ToString())); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" EndAnchorStyle=\""); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.EndAnchorStyle.ToString())); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("\" PathStyle=\"{StaticResource "); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(r.Name)); #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("PathStyle}\"/>\r\n </DataTemplate>\r\n"); #line default #line hidden #line 205 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" } } } #line default #line hidden #line 209 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" this.Write("</ResourceDictionary>\r\n"); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ViewModel\WPFApplication\ResourceDictionaryGenerator.tt" }