Esempio n. 1
0
 /// <summary>
 /// Add an EdgeGeometry to route
 /// </summary>
 /// <param name="edgeGeometry"></param>
 public void AddEdgeGeometryToRoute(EdgeGeometry edgeGeometry)
 {
     ValidateArg.IsNotNull(edgeGeometry, "edgeGeometry");
     // The Port.Location values are not necessarily rounded by the caller.  The values
     // will be rounded upon acquisition in PortManager.cs.  PointComparer.Equal expects
     // all values to be rounded.
     if (!PointComparer.Equal(ApproximateComparer.Round(edgeGeometry.SourcePort.Location)
                              , ApproximateComparer.Round(edgeGeometry.TargetPort.Location)))
     {
         EdgeGeometries.Add(edgeGeometry);
     }
     else
     {
         selfEdges.Add(edgeGeometry);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Remove a routing specification for an EdgeGeometry.
 /// </summary>
 /// <param name="edgeGeometry"></param>
 public void RemoveEdgeGeometryToRoute(EdgeGeometry edgeGeometry)
 {
     EdgeGeometries.Remove(edgeGeometry);
 }
Esempio n. 3
0
 /// <summary>
 /// Remove all EdgeGeometries to route
 /// </summary>
 public void RemoveAllEdgeGeometriesToRoute()
 {
     // Don't call RemoveEdgeGeometryToRoute as it will interrupt the EdgeGeometries enumerator.
     EdgeGeometries.Clear();
 }