public ZEdgeConnectivityRule(ZGeometricNetwork geometricNetwork, IEdgeConnectivityRule edgeConnectivityRule) : base(edgeConnectivityRule as IRule) { // Initialize collection this.Junctions = new ObservableCollection<ZSubtype>(); // Get From Edge ZSubtype zSubtypeEdge1 = geometricNetwork.FindSubtype(edgeConnectivityRule.FromEdgeClassID, edgeConnectivityRule.FromEdgeSubtypeCode); this.FromEdge = zSubtypeEdge1; // Get To Edge ZSubtype zSubtypeEdge2 = geometricNetwork.FindSubtype(edgeConnectivityRule.ToEdgeClassID, edgeConnectivityRule.ToEdgeSubtypeCode); this.ToEdge = zSubtypeEdge2; // Loop for each junction for (int i = 0; i < edgeConnectivityRule.JunctionCount; i++) { // Get junction feature class ZSubtype zSubtypeJunction = geometricNetwork.FindSubtype(edgeConnectivityRule.get_JunctionClassID(i), edgeConnectivityRule.get_JunctionSubtypeCode(i)); // Add junction this.Junctions.Add(zSubtypeJunction); } // Store default this.DefaultJunction = geometricNetwork.FindSubtype(edgeConnectivityRule.DefaultJunctionClassID, edgeConnectivityRule.DefaultJunctionSubtypeCode); }
public ZJunctionConnectivityRule(ZGeometricNetwork geometricNetwork, IJunctionConnectivityRule junctionConnectivityRule) : base(junctionConnectivityRule as IRule) { // Get Edge ZSubtype zSubtypeEdge = geometricNetwork.FindSubtype(junctionConnectivityRule.EdgeClassID, junctionConnectivityRule.EdgeSubtypeCode); this.Edge = zSubtypeEdge; // Get Junction ZSubtype zSubtypeJunction = geometricNetwork.FindSubtype(junctionConnectivityRule.JunctionClassID, junctionConnectivityRule.JunctionSubtypeCode); this.Junction = zSubtypeJunction; // Get Cardinality this.EdgeMinimum = junctionConnectivityRule.EdgeMinimumCardinality; this.EdgeMaximum = junctionConnectivityRule.EdgeMaximumCardinality; this.JunctionMinimum = junctionConnectivityRule.JunctionMinimumCardinality; this.JunctionMaximum = junctionConnectivityRule.JunctionMaximumCardinality; // Get IJunctionConnectivityRule2 junctionConnectivityRule2 = (IJunctionConnectivityRule2)junctionConnectivityRule; this.IsDefault = junctionConnectivityRule2.DefaultJunction; }