Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::Geometry::impl Namespace Reference

Classes

class  Epick
 
struct  ParabolicTangentToParabolicTangentOrientationPredicate
 
struct  ParabolicTangentToSegmentOrientationPredicate
 

Typedefs

using K = CGAL::Simple_cartesian< double >
 
using FK = CGAL::Simple_cartesian< CGAL::Interval_nt_advanced >
 
using EK = CGAL::Simple_cartesian< CGAL::MP_Float >
 
using C2E = CGAL::Cartesian_converter< K, EK >
 
using C2F = CGAL::Cartesian_converter< K, FK >
 
using ParabolicTangentToSegmentOrientationPredicateFiltered = CGAL::Filtered_predicate< ParabolicTangentToSegmentOrientationPredicate< EK >, ParabolicTangentToSegmentOrientationPredicate< FK >, C2E, C2F >
 
using ParabolicTangentToParabolicTangentOrientationPredicateFiltered = CGAL::Filtered_predicate< ParabolicTangentToParabolicTangentOrientationPredicate< EK >, ParabolicTangentToParabolicTangentOrientationPredicate< FK >, C2E, C2F >
 

Functions

template<typename K >
K::Vector_2 calculate_parabolic_tangent_vector (const typename K::Point_2 &p, const typename K::Point_2 &f, const typename K::Point_2 &u, const typename K::Point_2 &v, const typename K::Orientation &tangent_orientation)
 

Typedef Documentation

◆ C2E

using Slic3r::Geometry::impl::C2E = typedef CGAL::Cartesian_converter<K, EK>

◆ C2F

using Slic3r::Geometry::impl::C2F = typedef CGAL::Cartesian_converter<K, FK>

◆ EK

using Slic3r::Geometry::impl::EK = typedef CGAL::Simple_cartesian<CGAL::MP_Float>

◆ FK

using Slic3r::Geometry::impl::FK = typedef CGAL::Simple_cartesian<CGAL::Interval_nt_advanced>

◆ K

using Slic3r::Geometry::impl::K = typedef CGAL::Simple_cartesian<double>

◆ ParabolicTangentToParabolicTangentOrientationPredicateFiltered

◆ ParabolicTangentToSegmentOrientationPredicateFiltered

Function Documentation

◆ calculate_parabolic_tangent_vector()

template<typename K >
K::Vector_2 Slic3r::Geometry::impl::calculate_parabolic_tangent_vector ( const typename K::Point_2 &  p,
const typename K::Point_2 &  f,
const typename K::Point_2 &  u,
const typename K::Point_2 &  v,
const typename K::Orientation &  tangent_orientation 
)
inline
37 {
38 using RT = typename K::RT;
39 using Vector_2 = typename K::Vector_2;
40
41 const Vector_2 directrix_vec = v - u;
42 const RT directrix_vec_sqr_length = CGAL::scalar_product(directrix_vec, directrix_vec);
43 Vector_2 focus_vec = (f - u) * directrix_vec_sqr_length - directrix_vec * CGAL::scalar_product(directrix_vec, p - u);
44 Vector_2 tangent_vec = focus_vec.perpendicular(tangent_orientation);
45 return tangent_vec;
46 }

References Slic3r::f().

+ Here is the call graph for this function: