#include <src/libslic3r/Line.hpp>
◆ Scalar
◆ Line() [1/2]
◆ Line() [2/2]
Vector vector() const
Definition Line.hpp:181
Point b
Definition Line.hpp:198
Point a
Definition Line.hpp:197
◆ atan2_()
| double Slic3r::Line::atan2_ |
( |
| ) |
const |
|
inline |
◆ clip_with_bbox()
98{
100 bool result = Geometry::liang_barsky_line_clipping<double>(this->
a.cast<
double>(),
this->b.cast<
double>(), BoundingBoxf(bbox.min.cast<
double>(), bbox.max.cast<
double>()),
x0clip,
x1clip);
101 if (result) {
104 }
105 return result;
106}
int32_t coord_t
Definition libslic3r.h:39
Eigen::Matrix< double, 2, 1, Eigen::DontAlign > Vec2d
Definition Point.hpp:51
References a, b, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, and vector().
◆ direction()
| double Slic3r::Line::direction |
( |
| ) |
const |
◆ distance_to() [1/2]
◆ distance_to() [2/2]
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Definition ArrayCwiseUnaryOps.h:152
double distance_to_squared(const Point &point) const
Definition Line.hpp:169
References a, b, distance_to_squared(), and sqrt().
◆ distance_to_infinite()
◆ distance_to_infinite_squared() [1/2]
Line()
Definition Line.hpp:157
double distance_to_infinite_squared(const L &line, const Vec< Dim< L >, Scalar< L > > &point, Vec< Dim< L >, Scalar< L > > *closest_point)
Definition Line.hpp:90
References a, b, and Slic3r::line_alg::distance_to_infinite_squared().
◆ distance_to_infinite_squared() [2/2]
◆ distance_to_squared() [1/3]
◆ distance_to_squared() [2/3]
double distance_to_squared(const L &line, const Vec< Dim< L >, Scalar< L > > &point, Vec< Dim< L >, Scalar< L > > *nearest_point)
Definition Line.hpp:43
References a, b, and Slic3r::line_alg::distance_to_squared().
◆ distance_to_squared() [3/3]
◆ extend()
◆ intersection()
93{
95}
bool intersection(const Line &line, Point *intersection) const
Definition Line.cpp:92
bool intersection(const L &l1, const L &l2, Vec< Dim< L >, Scalar< L > > *intersection_pt)
Definition Line.hpp:125
T l2(const boost::geometry::model::d2::point_xy< T > &v)
Definition ExtrusionSimulator.cpp:166
References Slic3r::line_alg::intersection(), intersection(), and Slic3r::l2().
Referenced by priv::compute_intersections(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::Polygon::first_intersection(), intersection(), Slic3r::Polygon::intersection(), Slic3r::Polygon::intersections(), Slic3r::ConflictChecker::line_intersect(), Slic3r::line_intersection_with_epsilon(), and Slic3r::AllIntersectionsVisitor::operator()().
◆ intersection_infinite()
23{
30 return false;
33 if (result.x() > std::numeric_limits<coord_t>::max() || result.x() < std::numeric_limits<coord_t>::lowest() ||
34 result.y() > std::numeric_limits<coord_t>::max() || result.y() < std::numeric_limits<coord_t>::lowest()) {
35
36
37 return false;
38 }
40 return true;
41}
Derived::Scalar cross2(const Eigen::MatrixBase< Derived > &v1, const Eigen::MatrixBase< Derived2 > &v2)
Definition Point.hpp:93
References a, b, Slic3r::cross2(), EPSILON, and vector().
Referenced by Slic3r::Arachne::ExtrusionLine::simplify(), and Slic3r::Arachne::simplify().
◆ length()
| double Slic3r::Line::length |
( |
| ) |
const |
|
inline |
◆ midpoint()
| Point Slic3r::Line::midpoint |
( |
| ) |
const |
|
inline |
166{
return (this->
a + this->
b) / 2; }
References a, and b.
◆ normal()
| Vector Slic3r::Line::normal |
( |
| ) |
const |
|
inline |
◆ operator Lines()
159{
Lines lines; lines.emplace_back(*
this);
return lines; }
std::vector< Line > Lines
Definition Line.hpp:17
◆ operator==()
168{
return this->
a == rhs.a && this->
b == rhs.b; }
References a, and b.
◆ orientation()
| double Slic3r::Line::orientation |
( |
| ) |
const |
◆ parallel_to() [1/2]
◆ parallel_to() [2/2]
| bool Slic3r::Line::parallel_to |
( |
double |
angle | ) |
const |
◆ perp_distance_to()
◆ perpendicular_to() [1/2]
◆ perpendicular_to() [2/2]
| bool Slic3r::Line::perpendicular_to |
( |
double |
angle | ) |
const |
◆ reverse()
| void Slic3r::Line::reverse |
( |
| ) |
|
|
inline |
◆ rotate()
◆ scale()
160{ this->
a *= factor; this->
b *= factor; }
References a, and b.
◆ translate() [1/2]
◆ translate() [2/2]
void translate(const Point &v)
Definition Line.hpp:161
Kernel::Point_2 Point
Definition point_areas.cpp:20
References translate().
Referenced by translate().
◆ vector()
| Vector Slic3r::Line::vector |
( |
| ) |
const |
|
inline |
181{
return this->
b - this->
a; }
References a, and b.
Referenced by atan2_(), clip_with_bbox(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::contours_simplified(), Slic3r::EdgeGrid::Grid::contours_simplified(), direction(), extend(), intersection_infinite(), Slic3r::PaintedLineVisitor::operator()(), parallel_to(), perp_distance_to(), perpendicular_to(), Slic3r::IntersectionLine::set_no_seed(), and Slic3r::thick_lines_to_geometry().
Referenced by Slic3r::JPSPathFinder::add_obstacles(), Slic3r::Voronoi::annotate_inside_outside(), Slic3r::any_expolygon_contains(), atan2_(), Slic3r::chain_lines(), Slic3r::chain_lines_by_triangle_connectivity(), clip_with_bbox(), Slic3r::colorize_line(), priv::compute_intersections(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::ExPolygon::contains(), Slic3r::Voronoi::contour_point(), Slic3r::Voronoi::contour_point(), Slic3r::cut_mesh(), Slic3r::BridgeDetector::detect_angle(), Slic3r::Voronoi::detail::dist_to_site(), distance_to(), distance_to(), distance_to_infinite(), distance_to_infinite_squared(), distance_to_squared(), distance_to_squared(), Slic3r::SVG::draw(), Slic3r::SVG::draw(), Slic3r::Voronoi::edge_offset_contour_intersections(), Slic3r::ExtrusionQualityEstimator::estimate_speed_from_extrusion_quality(), extend(), Slic3r::filter_painted_lines(), Slic3r::Polygon::first_intersection(), Slic3r::Geometry::foot_pt(), Slic3r::FillAdaptive::generate_infill_lines_recursive(), boost::polygon::segment_traits< Slic3r::ColoredLine >::get(), boost::polygon::segment_traits< Slic3r::Line >::get(), Slic3r::FillAdaptive::Intersection::intersect_line_dir(), intersection_infinite(), Slic3r::Polygon::intersections(), Slic3r::is_point_closer_to_beginning_of_line(), length(), Slic3r::ConflictChecker::line_intersect(), Slic3r::Voronoi::detail::line_point_equal_distance_points(), Slic3r::RasterizationImpl::line_rasterization(), Slic3r::make_fill_polylines(), midpoint(), Slic3r::FillAdaptive::mk_rtree_seg(), Slic3r::need_wipe(), normal(), Slic3r::Voronoi::offset(), Slic3r::Voronoi::detail::on_site(), Slic3r::PaintedLineVisitor::operator()(), operator==(), Slic3r::Geometry::orientation_of_two_edges(), parallel_to(), perp_distance_to(), perpendicular_to(), Slic3r::Voronoi::detail::point_segment_dr_dl_thresholds(), Slic3r::Voronoi::detail::point_segment_skeleton_thresholds(), Slic3r::points_inside(), Slic3r::FillLightning::polygonCollidesWithLineSegment(), Slic3r::post_process_painted_lines(), Slic3r::project_line_on_line(), reverse(), Slic3r::IntersectionLine::reverse(), rotate(), scale(), Slic3r::Voronoi::signed_vertex_distances(), Slic3r::Voronoi::skeleton_edges_rough(), Slic3r::slice_facet(), Slic3r::slice_facet_with_slabs(), Slic3r::thick_lines_to_geometry(), Slic3r::PerimeterGenerator::thick_polyline_to_multi_path(), translate(), Slic3r::Geometry::MedialAxis::validate_edge(), vector(), and Slic3r::Voronoi::debug::verify_twin_halfedges_successive().
Referenced by Slic3r::FillAdaptive::Intersection::Intersection(), Slic3r::Voronoi::annotate_inside_outside(), Slic3r::any_expolygon_contains(), atan2_(), Slic3r::chain_lines(), Slic3r::chain_lines_by_triangle_connectivity(), clip_with_bbox(), priv::compute_intersections(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::ExPolygon::contains(), Slic3r::Voronoi::contour_point(), Slic3r::Voronoi::contour_point(), Slic3r::cut_mesh(), Slic3r::BridgeDetector::detect_angle(), Slic3r::Voronoi::detail::dist_to_site(), distance_to(), distance_to(), distance_to_infinite(), distance_to_infinite_squared(), distance_to_squared(), distance_to_squared(), Slic3r::SVG::draw(), Slic3r::SVG::draw(), Slic3r::Voronoi::edge_offset_contour_intersections(), Slic3r::ExtrusionQualityEstimator::estimate_speed_from_extrusion_quality(), extend(), Slic3r::filter_painted_lines(), Slic3r::Polygon::first_intersection(), Slic3r::Geometry::foot_pt(), Slic3r::FillAdaptive::generate_infill_lines_recursive(), boost::polygon::segment_traits< Slic3r::ColoredLine >::get(), boost::polygon::segment_traits< Slic3r::Line >::get(), Slic3r::FillAdaptive::Intersection::intersect_line_dir(), intersection_infinite(), Slic3r::Polygon::intersections(), Slic3r::is_point_closer_to_beginning_of_line(), length(), Slic3r::ConflictChecker::line_intersect(), Slic3r::Voronoi::detail::line_point_equal_distance_points(), Slic3r::RasterizationImpl::line_rasterization(), Slic3r::make_fill_polylines(), midpoint(), Slic3r::FillAdaptive::mk_rtree_seg(), Slic3r::need_wipe(), normal(), Slic3r::Voronoi::offset(), Slic3r::Voronoi::detail::on_site(), Slic3r::PaintedLineVisitor::operator()(), operator==(), Slic3r::Geometry::orientation_of_two_edges(), parallel_to(), perp_distance_to(), perpendicular_to(), Slic3r::Voronoi::detail::point_segment_dr_dl_thresholds(), Slic3r::Voronoi::detail::point_segment_skeleton_thresholds(), Slic3r::points_inside(), Slic3r::FillLightning::polygonCollidesWithLineSegment(), Slic3r::post_process_painted_lines(), Slic3r::project_line_on_line(), reverse(), Slic3r::IntersectionLine::reverse(), rotate(), scale(), Slic3r::Voronoi::signed_vertex_distances(), Slic3r::Voronoi::skeleton_edges_rough(), Slic3r::slice_facet(), Slic3r::slice_facet_with_slabs(), Slic3r::thick_lines_to_geometry(), Slic3r::PerimeterGenerator::thick_polyline_to_multi_path(), translate(), Slic3r::Geometry::MedialAxis::validate_edge(), vector(), and Slic3r::Voronoi::debug::verify_twin_halfedges_successive().
◆ Dim
The documentation for this class was generated from the following files: