1685 {
1686 int row = 2 * int(®ion_from -
m_regions.data()) + flipped_from;
1687 int col = 2 * int(®ion_to -
m_regions.data()) + flipped_to;
1689 if (path.length == -1.) {
1690
1691 int i_from = region_from.right_intersection_point(flipped_from);
1692 int i_to = region_to.left_intersection_point(flipped_to);
1693 const SegmentedIntersectionLine &vline_from =
m_segs[region_from.right.vline];
1694 const SegmentedIntersectionLine &vline_to =
m_segs[region_to.left.vline];
1695 if (region_from.right.vline + 1 == region_from.left.vline) {
1696 int i_right = vline_from.intersections[i_from].right_horizontal();
1698
1700 }
1701 }
1702 if (path.length == -1.) {
1703
1704 path.length =
unscale<float>(
Vec2f(vline_to.pos - vline_from.pos, vline_to.intersections[i_to].pos() - vline_from.intersections[i_from].pos()).norm());
1705 }
1706 path.visibility = 1.f / (path.length + float(
EPSILON));
1707 }
1708 return path;
1709 }
#define EPSILON
Definition ColorUtils.cpp:64
static coordf_t measure_perimeter_horizontal_segment_length(const ExPolygonWithOffset &poly_with_offset, const std::vector< SegmentedIntersectionLine > &segs, size_t iVerticalLine, size_t iIntersection, size_t iIntersection2)
Definition FillRectilinear.cpp:581
T unscale(Q v)
Definition libslic3r.h:138
Eigen::Matrix< float, 2, 1, Eigen::DontAlign > Vec2f
Definition Point.hpp:64
@ Valid
Definition FillRectilinear.cpp:191