CGAL 6.2 - 2D Snap Rounding
Loading...
Searching...
No Matches
CGAL::Double_grid_snap_rounding_traits_2< InputKernel, ExactKernel, BaseTraits > Struct Template Reference

#include <CGAL/Vertical_slabs_snap_rounding_traits_2.h>

Inherits from

CGAL::Arr_segment_traits_2< typename Kernel >.

Definition

template<typename InputKernel, typename ExactKernel = Exact_predicates_exact_constructions_kernel, typename BaseTraits = Arr_segment_traits_2<ExactKernel>>
struct CGAL::Double_grid_snap_rounding_traits_2< InputKernel, ExactKernel, BaseTraits >

The class Double_grid_snap_rounding_traits_2<InputKernel, ExactKernel, BaseTraits> is a model of the VerticalSlabsSnapRoundingTraits_2 concept.

It provides the traits required to perform snap rounding where the resulting points are represented using double precision floating-point coordinates.

The template parameter InputKernel specifies the kernel used for the input geometric objects. These objects must be convertible to the types defined by ExactKernel.

The template parameter ExactKernel defines the exact kernel used internally to perform robust geometric computations. By default, it is set to CGAL::Exact_predicates_exact_constructions_kernel. Advanced users may provide another exact kernel that models the CGAL kernel concept, such as Cartesian<CGAL::Exact_rational>.

The template parameter BaseTraits specifies the underlying arrangement traits class used for segment handling. By default, it is Arr_segment_traits_2<ExactKernel>.

Is model of
VerticalSlabsSnapRoundingTraits_2

Classes

struct  Compute_squared_round_bound_2
 
struct  Construct_point_at_x_on_segment_2
 
struct  Construct_rounded_point_2
 
struct  Evaluation
 

Public Types

using Base = BaseTraits
 
using FT = typename Base::FT
 
using Target_FT = double
 
using Point_2 = typename Base::Point_2
 
using Segment_2 = typename Base::Segment_2
 
using Less_xy_2 = typename Base::Less_xy_2
 
using Less_y_2 = typename Base::Less_y_2
 
using Equal_2 = typename Base::Equal_2
 
using Construct_point_2 = typename Base::Construct_point_2
 
using Construct_source_2 = typename Base::Construct_source_2
 
using Construct_target_2 = typename Base::Construct_target_2
 
using Construct_segment_2 = typename Base::Construct_segment_2
 
using Evaluation_tag = Tag_true
 
using Evaluate = internal::Evaluate< FT >
 
typedef Cartesian_converter< InputKernel, ExactKernel > Converter_to_exact
 
typedef Cartesian_converter< ExactKernel, InputKernel > Converter_from_exact
 
- Public Types inherited from CGAL::Arr_segment_traits_2< typename Kernel >
typedef X_monotone_curve_2 Curve_2
 
typedef Kernel::Segment_2 Segment_2
 
typedef Kernel::Line_2 Line_2
 
typedef Kernel::Point_2 Point_2
 

Public Member Functions

Evaluate evaluate_object () const
 
Converter_to_exact converter_to_exact_object () const
 
Converter_from_exact converter_from_exact_object () const
 
Construct_point_at_x_on_segment_2 construct_point_at_x_on_segment_2_object () const
 
Compute_squared_round_bound_2 compute_squared_round_bound_2_object () const
 
Construct_rounded_point_2 construct_rounded_point_2_object () const