/// <summary> /// Simplify a joint. /// </summary> /// <param name="joint">The joint.</param> /// <param name="jointsToPreserve">The joints to preserve.</param> /// <param name="addedJoints">The added joints.</param> /// <param name="overlapProcessing">The overlap processing.</param> /// <param name="originalConnectivity">The original connectivity.</param> /// <param name="danglingEndClipping">The dangling end clipping.</param> /// <param name="changes">The changes.</param> /// <returns>The effected joints</returns> public IEnumerable <WireJoint> SimplifyJoint(WireJoint joint, HashSet <WireJoint> jointsToPreserve, List <WireJoint> addedJoints, WireOverlapHandling overlapProcessing, WireConnectivity originalConnectivity, WireDanglingEndHandling danglingEndClipping, List <SimplifyJointChange> changes) { return(new List <WireJoint>()); }
/// <summary> /// Where there are new segments intersecting with existing segments, short the intersections; and then remove the resulting cycles in the wire. /// </summary> /// <param name="wire">The wire in which to remove cycles.</param> /// <param name="newJoints">The new adjacent joints. </param> /// <param name="danglingEndHandling">how to handle dangling ends to the wire</param> public void RemoveCyclesForNewJoints(Wire wire, Stack <WireJoint> newJoints, WireDanglingEndHandling danglingEndHandling) { }
/// <summary> /// Simplify a wire by removing extra joints and possibly dangling ends. /// </summary> /// <param name="wire">The wire to simplify.</param> /// <param name="jointsToPreserve">A wire joints to preserve if at all possible.</param> /// <param name="overlapHandling">The overlap handling.</param> /// <param name="danglingEndHandling">The dangling end handling.</param> /// <returns> /// The list of simplify changes to a wire. /// </returns> /// <remarks> /// This function should be called after moving a wire segment (done automatically if /// MoveWireSegment is called) or if new joints are created, connected, and added to the wire's /// Joints /// </remarks> public List <SimplifyJointChange> SimplifyWire(Wire wire, HashSet <WireJoint> jointsToPreserve, WireOverlapHandling overlapHandling, WireDanglingEndHandling danglingEndHandling) { return(new List <SimplifyJointChange>()); }
/// <summary> /// Where there are segments intersecting/overlapping, short the intersections/overlaps; and then remove the cycles in the wire. /// </summary> /// <param name="wire">The wire in which to remove cycles.</param> /// <param name="danglingEndHandling">how to handle dangling ends to the wire</param> public void RemoveCycles(IWireAlgorithmInfo wire, WireDanglingEndHandling danglingEndHandling) { }