OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Circle.hpp File Reference
#include "../Point.hpp"
#include "libslic3r/libslic3r.h"
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <cassert>
#include <cstddef>
#include <utility>
Include dependency graph for Circle.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::Geometry::CircleSq< Vector >
struct  Slic3r::Geometry::Circle< Vector >

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::Geometry

Typedefs

using Slic3r::Geometry::Circlef = Circle<Vec2f>
using Slic3r::Geometry::Circled = Circle<Vec2d>

Functions

template<typename Vector>
Vector Slic3r::Geometry::circle_center (const Vector &a, const Vector &bsrc, const Vector &csrc, typename Vector::Scalar epsilon)
Point Slic3r::Geometry::circle_center_taubin_newton (const Points::const_iterator &input_start, const Points::const_iterator &input_end, size_t cycles=20)
 Find the center of the circle corresponding to the vector of Points as an arc.
Point Slic3r::Geometry::circle_center_taubin_newton (const Points &input, size_t cycles=20)
Vec2d Slic3r::Geometry::circle_center_taubin_newton (const Vec2ds::const_iterator &input_begin, const Vec2ds::const_iterator &input_end, size_t cycles)
 Adapted from work in "Circular and Linear Regression: Fitting circles and lines by least squares", pg 126 Returns a point corresponding to the center of a circle for which all of the points from input_begin to input_end lie on.
Vec2d Slic3r::Geometry::circle_center_taubin_newton (const Vec2ds &input, size_t cycles=20)
Circled Slic3r::Geometry::circle_taubin_newton (const Vec2ds &input, size_t cycles)
Circled Slic3r::Geometry::circle_ransac (const Vec2ds &input, size_t iterations, double *min_error)
template<typename Vector, typename Points>
CircleSq< Vector > Slic3r::Geometry::smallest_enclosing_circle2_welzl (const Points &points, const typename Vector::Scalar epsilon)
template<typename Vector, typename Points>
Circle< Vector > Slic3r::Geometry::smallest_enclosing_circle_welzl (const Points &points, const typename Vector::Scalar epsilon)
Circled Slic3r::Geometry::smallest_enclosing_circle_welzl (const Points &points)
template<typename T>
int Slic3r::Geometry::ray_circle_intersections_r2_lv2_c (T r2, T a, T b, T lv2, T c, std::pair< Eigen::Matrix< T, 2, 1, Eigen::DontAlign >, Eigen::Matrix< T, 2, 1, Eigen::DontAlign > > &out)
template<typename T>
int Slic3r::Geometry::ray_circle_intersections (T r, T a, T b, T c, std::pair< Eigen::Matrix< T, 2, 1, Eigen::DontAlign >, Eigen::Matrix< T, 2, 1, Eigen::DontAlign > > &out)