private void ReleaseNodesAndSegments(GraphTraveller2 traveller) { foreach (ushort segment in traveller.InnerSegments) { AbstractNetWrapper wrapped = networkDictionary.RegisterSegment(segment); wrapped.IsBuildAction = false; ActionGroupRoads.Actions.Add(wrapped); } foreach (ushort segment in traveller.OuterSegments) { AbstractNetWrapper wrapped = networkDictionary.RegisterSegment(segment); wrapped.IsBuildAction = false; ActionGroupRoads.Actions.Add(wrapped); } foreach (WrappedSegment segment in ToBeReleasedSegments) { segment.IsBuildAction = false; ActionGroupRoads.Actions.Add(segment); } foreach (ushort node in traveller.InnerNodes) { AbstractNetWrapper wrapped = networkDictionary.RegisterNode(node); wrapped.IsBuildAction = false; ActionGroupRoads.Actions.Add(wrapped); } foreach (WrappedNode node in ToBeReleasedNodes) { node.IsBuildAction = false; ActionGroupRoads.Actions.Add(node); } }
public EdgeIntersections2(GraphTraveller2 traveller, ushort centerNodeId, Ellipse ellipse) { CenterNodeId = centerNodeId; CenterNode = NetUtil.Node(centerNodeId); this.traveller = traveller; this.ellipse = ellipse; if (RoundAboutBuilder.UseOldSnappingAlgorithm.value) { SnappingAlgorithmOld(); } else { SnappingAlgorithmNew(); } ReleaseNodesAndSegments(traveller); }
private void ReleaseNodesAndSegments(GraphTraveller2 traveller) { foreach (ushort segment in traveller.InnerSegments) { NetAccess.ReleaseSegment(segment); } foreach (ushort segment in traveller.OuterSegments) { NetAccess.ReleaseSegment(segment); } foreach (ushort segment in ToBeReleasedSegments) { NetAccess.ReleaseSegment(segment); } foreach (ushort node in traveller.InnerNodes) { NetAccess.ReleaseNode(node); } foreach (ushort node in ToBeReleasedNodes) { NetAccess.ReleaseNode(node); } }