public static void LayoutComponent(CyPhy.Component c) { PositionTracker pt = new PositionTracker(); Dictionary<string, bool> d_IsPositioned = new Dictionary<string, bool>(); foreach (CyPhy.Connector conn in c.Children.ConnectorCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(conn); SetCoordinates(conn, s_Coord); d_IsPositioned[conn.ID] = true; } foreach (CyPhy.Port p in c.Children.PortCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.Parameter p in c.Children.ParameterCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.Property p in c.Children.PropertyCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.CustomFormula cf in c.Children.CustomFormulaCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(cf); SetCoordinates(cf, s_Coord); d_IsPositioned[cf.ID] = true; } foreach (CyPhy.Resource r in c.Children.ResourceCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(r); SetCoordinates(r, s_Coord); d_IsPositioned[r.ID] = true; } pt.NextLine(); pt.Increment(null); foreach (ISIS.GME.Common.Interfaces.FCO fco in c.AllChildren.Where(fco => fco is CyPhy.ModelicaModel || fco is CyPhy.CADModel || fco is CyPhy.ManufacturingModel)) { Boolean b; d_IsPositioned.TryGetValue(fco.ID, out b); if (!b) { String s_Coord = pt.GetCoordinatesAndIncrement(fco); SetCoordinates(fco, s_Coord); d_IsPositioned[fco.ID] = true; } pt.Increment(null); pt.Increment(null); } foreach (ISIS.GME.Common.Interfaces.FCO fco in c.AllChildren.Where(fco => fco is ISIS.GME.Common.Interfaces.Atom || fco is ISIS.GME.Common.Interfaces.Model || fco is ISIS.GME.Common.Interfaces.Reference || fco is ISIS.GME.Common.Interfaces.Set)) { Boolean b; d_IsPositioned.TryGetValue(fco.ID,out b); if ( !b ) { String s_Coord = pt.GetCoordinatesAndIncrement(fco); SetCoordinates(fco, s_Coord); d_IsPositioned[fco.ID] = true; } } /*foreach (KeyValuePair<String, ArrayList> kvp in d_ClassPrioritiesByAspect) { String s_CurrentAspect = kvp.Key; foreach (var t in kvp.Value) { } }*/ }
public static void LayoutComponent(CyPhy.Component c) { PositionTracker pt = new PositionTracker(); Dictionary <string, bool> d_IsPositioned = new Dictionary <string, bool>(); foreach (CyPhy.Connector conn in c.Children.ConnectorCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(conn); SetCoordinates(conn, s_Coord); d_IsPositioned[conn.ID] = true; } foreach (CyPhy.Port p in c.Children.PortCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.Parameter p in c.Children.ParameterCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.Property p in c.Children.PropertyCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(p); SetCoordinates(p, s_Coord); d_IsPositioned[p.ID] = true; } foreach (CyPhy.CustomFormula cf in c.Children.CustomFormulaCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(cf); SetCoordinates(cf, s_Coord); d_IsPositioned[cf.ID] = true; } foreach (CyPhy.Resource r in c.Children.ResourceCollection) { String s_Coord = pt.GetCoordinatesAndIncrement(r); SetCoordinates(r, s_Coord); d_IsPositioned[r.ID] = true; } pt.NextLine(); pt.Increment(null); foreach (ISIS.GME.Common.Interfaces.FCO fco in c.AllChildren.Where(fco => fco is CyPhy.ModelicaModel || fco is CyPhy.CADModel || fco is CyPhy.ManufacturingModel)) { Boolean b; d_IsPositioned.TryGetValue(fco.ID, out b); if (!b) { String s_Coord = pt.GetCoordinatesAndIncrement(fco); SetCoordinates(fco, s_Coord); d_IsPositioned[fco.ID] = true; } pt.Increment(null); pt.Increment(null); } foreach (ISIS.GME.Common.Interfaces.FCO fco in c.AllChildren.Where(fco => fco is ISIS.GME.Common.Interfaces.Atom || fco is ISIS.GME.Common.Interfaces.Model || fco is ISIS.GME.Common.Interfaces.Reference || fco is ISIS.GME.Common.Interfaces.Set)) { Boolean b; d_IsPositioned.TryGetValue(fco.ID, out b); if (!b) { String s_Coord = pt.GetCoordinatesAndIncrement(fco); SetCoordinates(fco, s_Coord); d_IsPositioned[fco.ID] = true; } } /*foreach (KeyValuePair<String, ArrayList> kvp in d_ClassPrioritiesByAspect) * { * String s_CurrentAspect = kvp.Key; * foreach (var t in kvp.Value) * { * * } * }*/ }