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);
     }
 }