private void UpdateStackOverlapDataForLast2Segments() { PenultimateSegment.MarkAllStacksAsNotOverlapped(); LastSegment.MarkAllStacksAsNotOverlapped(); ObjectPlacementBoxStackActions.MarkStacksAsOverlapped(ObjectPlacementPathOverlappedStackDetection.GetOverlappedStacksInSegment(_pathSegments.Count - 2, _pathSegments)); ObjectPlacementBoxStackActions.MarkStacksAsOverlapped(ObjectPlacementPathOverlappedStackDetection.GetOverlappedStacksInSegment(_pathSegments.Count - 1, _pathSegments)); }
private void HandleStackOverlapForAllStacksInAllSegments() { for (int segmentIndex = 0; segmentIndex < _pathSegments.Count; ++segmentIndex) { _pathSegments[segmentIndex].MarkAllStacksAsNotOverlapped(); ObjectPlacementBoxStackActions.MarkStacksAsOverlapped(ObjectPlacementPathOverlappedStackDetection.GetOverlappedStacksInSegment(segmentIndex, _pathSegments)); } }