OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
VoronoiOffset.cpp File Reference
#include <cmath>
#include <algorithm>
#include <array>
#include <limits>
#include <tuple>
#include <utility>
#include <cassert>
#include <cstdlib>
#include <vector>
#include "libslic3r/Point.hpp"
#include "libslic3r/Line.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Geometry.hpp"
#include "VoronoiOffset.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Geometry/Voronoi.hpp"
Include dependency graph for VoronoiOffset.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::Voronoi::detail::Intersections

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::Voronoi
namespace  Slic3r::Voronoi::detail
namespace  Slic3r::Voronoi::debug

Functions

double Slic3r::Voronoi::detail::first_circle_segment_intersection_parameter (const Vec2d &center, const double r, const Vec2d &pt, const Vec2d &v)
Intersections Slic3r::Voronoi::detail::point_point_equal_distance_points (const Point &pt1, const Point &pt2, const double d)
Intersections Slic3r::Voronoi::detail::line_point_equal_distance_points (const Line &line, const Point &ipt, const double d)
template<typename VertexType>
bool Slic3r::Voronoi::detail::vertex_equal_to_point (const VertexType &vertex, const Point &ipt)
bool Slic3r::Voronoi::detail::vertex_equal_to_point (const VD::vertex_type *vertex, const Point &ipt)
double Slic3r::Voronoi::detail::dist_to_site (const Lines &lines, const VD::cell_type &cell, const Vec2d &point)
bool Slic3r::Voronoi::detail::on_site (const Lines &lines, const VD::cell_type &cell, const Vec2d &pt)
std::pair< Vec2d, Vec2d > Slic3r::Voronoi::detail::point_point_dr_dl_thresholds (const Point &pt1_site, const Point &pt2_site, const Vec2d &voronoi_point1, const Vec2d &voronoi_point2, const double threshold_tan_alpha_half)
std::pair< Vec2d, Vec2d > Slic3r::Voronoi::detail::point_segment_dr_dl_thresholds (const Point &pt_site, const Line &line_site, const Vec2d &voronoi_point1, const Vec2d &voronoi_point2, const double threshold_tan_alpha_half)
std::pair< Vec2d, Vec2d > Slic3r::Voronoi::detail::point_point_skeleton_thresholds (const Point &pt1_site, const Point &pt2_site, const Vec2d &voronoi_point1, const Vec2d &voronoi_point2, const double tan_alpha_half)
std::pair< Vec2d, Vec2d > Slic3r::Voronoi::detail::point_segment_skeleton_thresholds (const Point &pt_site, const Line &line_site, const Vec2d &voronoi_point1, const Vec2d &voronoi_point2, const double threshold_cos_alpha)
bool Slic3r::Voronoi::debug::verify_twin_halfedges_successive (const VD &vd, const Lines &lines)
bool Slic3r::Voronoi::debug::verify_inside_outside_annotations (const VD &vd)
bool Slic3r::Voronoi::debug::verify_vertices_on_contour (const VD &vd, const Lines &lines)
bool Slic3r::Voronoi::debug::verify_signed_distances (const VD &vd, const Lines &lines, const std::vector< double > &signed_distances)
bool Slic3r::Voronoi::debug::verify_offset_intersection_points (const VD &vd, const Lines &lines, const double offset_distance, const std::vector< Vec2d > &offset_intersection_points)
void Slic3r::Voronoi::reset_inside_outside_annotations (VD &vd)
void Slic3r::Voronoi::annotate_inside_outside (VD &vd, const Lines &lines)
std::vector< double > Slic3r::Voronoi::signed_vertex_distances (const VD &vd, const Lines &lines)
std::vector< Vec2d > Slic3r::Voronoi::edge_offset_contour_intersections (const VD &vd, const Lines &lines, const std::vector< double > &vertex_distances, double offset_distance)
Polygons Slic3r::Voronoi::offset (const Geometry::VoronoiDiagram &vd, const Lines &lines, const std::vector< double > &signed_vertex_distances, double offset_distance, double discretization_error)
Polygons Slic3r::Voronoi::offset (const VD &vd, const Lines &lines, double offset_distance, double discretization_error)
std::vector< Vec2d > Slic3r::Voronoi::skeleton_edges_rough (const VD &vd, const Lines &lines, const double threshold_alpha)

Class Documentation

◆ Slic3r::Voronoi::detail::Intersections

struct Slic3r::Voronoi::detail::Intersections
Class Members
int count
Vec2d pts[2]