static
| 857 | |
| 858 | // static |
| 859 | PathPartVector PathPart::calculatePathParts(const VirtualCoordVector& coords) |
| 860 | { |
| 861 | PathPartVector parts; |
| 862 | PathCoordVector path_coords(coords); |
| 863 | auto last = coords.size(); |
| 864 | auto part_start = VirtualCoordVector::size_type { 0 }; |
| 865 | while (part_start != last) |
| 866 | { |
| 867 | auto part_end = path_coords.update(part_start); |
| 868 | parts.emplace_back(coords, part_start, part_end); |
| 869 | parts.back().path_coords.swap(path_coords); |
| 870 | part_start = part_end + 1; |
| 871 | } |
| 872 | return parts; |
| 873 | } |
| 874 | |
| 875 | |
| 876 |