CGAL 6.2 - 2D Snap Rounding
Loading...
Searching...
No Matches
CGAL::Hot_pixel_snap_rounding_traits_2< K > Class Template Reference

#include <CGAL/Hot_pixel_snap_rounding_traits_2.h>

Inherits from

CGAL::Arr_segment_traits_2< K >.

Definition

template<class K>
class CGAL::Hot_pixel_snap_rounding_traits_2< K >

The class Hot_pixel_snap_rounding_traits_2<Kernel> is a model of the HotPixelSnapRoundingTraits_2 concept.

This class should be instantiated with an exact geometric kernel that conforms to the CGAL kernel-concept that is model of the concept Kernel.

This geometric kernel must provide an (arbitrary-precision) rational number type (FT), Point_2, Segment_2, and Iso_rectangle_2. FT must be model of RealEmbeddableTraits.

The CGAL::to_double() function is used to implement the operation that rounds the coordinates of a point to a center of a pixel. This operation is one of the traits-concept requirements. The coordinates are converted to double, rounded down to the nearest grid point, and finally adjusted to lie on a center of a pixel. Notice that if CGAL::to_double() returns the closest value, then when it rounds up a given coordinate, the resulting ISR, may be imprecise, and the distance between some vertex and a non-incident edge can be slightly less than the guaranteed half-the width-of-a-pixel.

Is model of
HotPixelSnapRoundingTraits_2
See also
CGAL::snap_rounding_2()
{CGAL::hot_pixel_snap_rounding_2()}

Classes

class  Integer_grid_point_2
 Functor. More...
 
class  Minkowski_sum_with_pixel_2
 Functor. More...
 
class  Snap_2
 Functor. More...
 

Public Types

typedef K::FT NT
 
typedef K::FT FT
 
typedef K::Point_2 Point_2
 
typedef K::Segment_2 Segment_2
 
typedef K::Iso_rectangle_2 Iso_rectangle_2
 
typedef K::Vector_2 Vector_2
 
typedef K::Line_2 Line_2
 
typedef K::Aff_transformation_2 Aff_transformation_2
 
typedef K::Direction_2 Direction_2
 
typedef K::Construct_vertex_2 Construct_vertex_2
 
typedef K::Construct_segment_2 Construct_segment_2
 
typedef K::Construct_iso_rectangle_2 Construct_iso_rectangle_2
 
typedef K::Compare_y_2 Compare_y_2
 
typedef K::Construct_min_vertex_2 Construct_min_vertex_2
 
typedef K::Construct_max_vertex_2 Construct_max_vertex_2
 
typedef K::Cartesian_const_iterator_2 Cartesian_const_iterator_2
 
typedef K::Construct_cartesian_const_iterator_2 Construct_cartesian_const_iterator_2
 
typedef CGAL::Arr_segment_traits_2< K > Base_traits
 
typedef Base_traits::Compare_x_2 Compare_x_2
 
typedef CGAL::To_double< NTTo_double
 
- Public Types inherited from Kernel
typedef unspecified_type FT
 
typedef unspecified_type RT
 
typedef unspecified_type Boolean
 
typedef unspecified_type Sign
 
typedef unspecified_type Comparison_result
 
typedef unspecified_type Orientation
 
typedef unspecified_type Oriented_side
 
typedef unspecified_type Bounded_side
 
typedef unspecified_type Angle
 
typedef unspecified_type Cartesian_const_iterator_2
 
typedef unspecified_type Point_2
 
typedef unspecified_type Weighted_point_2
 
typedef unspecified_type Vector_2
 
typedef unspecified_type Direction_2
 
typedef unspecified_type Line_2
 
typedef unspecified_type Ray_2
 
typedef unspecified_type Segment_2
 
typedef unspecified_type Triangle_2
 
typedef unspecified_type Iso_rectangle_2
 
typedef unspecified_type Circle_2
 
typedef unspecified_type Object_2
 
typedef unspecified_type Construct_point_2
 
typedef unspecified_type Construct_weighted_point_2
 
typedef unspecified_type Construct_vector_2
 
typedef unspecified_type Construct_direction_2
 
typedef unspecified_type Construct_segment_2
 
typedef unspecified_type Construct_line_2
 
typedef unspecified_type Construct_ray_2
 
typedef unspecified_type Construct_circle_2
 
typedef unspecified_type Construct_triangle_2
 
typedef unspecified_type Construct_iso_rectangle_2
 
typedef unspecified_type Construct_object_2
 
typedef unspecified_type Construct_scaled_vector_2
 
typedef unspecified_type Construct_difference_of_vectors_2
 
typedef unspecified_type Construct_sum_of_vectors_2
 
typedef unspecified_type Construct_divided_vector_2
 
typedef unspecified_type Construct_translated_point_2
 
typedef unspecified_type Construct_point_on_2
 
typedef unspecified_type Construct_projected_point_2
 
typedef unspecified_type Construct_projected_xy_point_2
 
typedef unspecified_type Construct_second_point_2
 
typedef unspecified_type Construct_cartesian_const_iterator_2
 
typedef unspecified_type Construct_vertex_2
 
typedef unspecified_type Construct_bbox_2
 
typedef unspecified_type Construct_perpendicular_vector_2
 
typedef unspecified_type Construct_perpendicular_direction_2
 
typedef unspecified_type Construct_perpendicular_line_2
 
typedef unspecified_type Construct_midpoint_2
 
typedef unspecified_type Construct_equidistant_line_3
 
typedef unspecified_type Construct_center_2
 
typedef unspecified_type Construct_centroid_2
 
typedef unspecified_type Construct_barycenter_2
 
typedef unspecified_type Construct_circumcenter_2
 
typedef unspecified_type Construct_weighted_circumcenter_2
 
typedef unspecified_type Construct_bisector_2
 
typedef unspecified_type Construct_radical_axis_2
 
typedef unspecified_type Construct_radical_line_2
 
typedef unspecified_type Construct_opposite_direction_2
 
typedef unspecified_type Construct_opposite_segment_2
 
typedef unspecified_type Construct_opposite_ray_2
 
typedef unspecified_type Construct_opposite_line_2
 
typedef unspecified_type Construct_opposite_triangle_2
 
typedef unspecified_type Construct_opposite_circle_2
 
typedef unspecified_type Construct_opposite_vector_2
 
typedef unspecified_type Construct_source_2
 
typedef unspecified_type Construct_target_2
 
typedef unspecified_type Construct_max_vertex_2
 
typedef unspecified_type Construct_min_vertex_2
 
typedef unspecified_type Intersect_2
 
typedef unspecified_type Assign_2
 
typedef unspecified_type Compute_weight_2
 
typedef unspecified_type Compute_x_2
 
typedef unspecified_type Compute_y_2
 
typedef unspecified_type Compute_a_2
 
typedef unspecified_type Compute_b_2
 
typedef unspecified_type ComputeC_2
 
typedef unspecified_type Compute_dx_2
 
typedef unspecified_type Compute_dy_2
 
typedef unspecified_type Compute_hx_2
 
typedef unspecified_type Compute_hy_2
 
typedef unspecified_type Compute_hw_2
 
typedef unspecified_type Compute_L_infinity_distance_2
 
typedef unspecified_type Compute_xmax_2
 
typedef unspecified_type Compute_xmin_2
 
typedef unspecified_type Compute_ymax_2
 
typedef unspecified_type Compute_ymin_2
 
typedef unspecified_type Compute_y_at_x_2
 
typedef unspecified_type Compute_squared_distance_2
 
typedef unspecified_type Compute_squared_length_2
 
typedef unspecified_type Compute_squared_radius_2
 
typedef unspecified_type Compute_squared_radius_smallest_orthogonal_circle_2
 
typedef unspecified_type Compute_power_product_2
 
typedef unspecified_type Compute_area_2
 
typedef unspecified_type Compute_determinant_2
 
typedef unspecified_type Compute_scalar_product_2
 
typedef unspecified_type Angle_2
 
typedef unspecified_type Equal_2
 
typedef unspecified_type Equal_x_2
 
typedef unspecified_type Equal_y_2
 
typedef unspecified_type Less_x_2
 
typedef unspecified_type Less_y_2
 
typedef unspecified_type Less_xy_2
 
typedef unspecified_type Less_yx_2
 
typedef unspecified_type Compare_x_2
 
typedef unspecified_type Compare_x_at_y_2
 
typedef unspecified_type Compare_y_2
 
typedef unspecified_type Compare_xy_2
 
typedef unspecified_type Compare_yx_2
 
typedef unspecified_type Compare_y_at_x_2
 
typedef unspecified_type Compare_distance_2
 
typedef unspecified_type Compare_power_distance_2
 
typedef unspecified_type Compare_square_distance_2
 
typedef unspecified_type Compare_angle_with_x_axis_2
 
typedef unspecified_type Compare_signed_distance_to_line_2
 
typedef unspecified_type Compare_slope_2
 
typedef unspecified_type Less_distance_to_point_2
 
typedef unspecified_type Less_signed_distance_to_line_2
 
typedef unspecified_type Less_rotate_ccw_2
 
typedef unspecified_type Left_turn_2
 
typedef unspecified_type Collinear_2
 
typedef unspecified_type Orientation_2
 
typedef unspecified_type Side_of_oriented_circle_2
 
typedef unspecified_type Side_of_bounded_circle_2
 
typedef unspecified_type Power_side_of_oriented_power_circle_2
 
typedef unspecified_type Power_side_of_bounded_power_circle_2
 
typedef unspecified_type Is_horizontal_2
 
typedef unspecified_type Is_vertical_2
 
typedef unspecified_type Is_degenerate_2
 
typedef unspecified_type Has_on_2
 
typedef unspecified_type Collinear_has_on_2
 
typedef unspecified_type Has_on_bounded_side_2
 
typedef unspecified_type Has_on_unbounded_side_2
 
typedef unspecified_type Has_on_boundary_2
 
typedef unspecified_type Has_on_positive_side_2
 
typedef unspecified_type Has_on_negative_side_2
 
typedef unspecified_type Oriented_side_2
 
typedef unspecified_type Bounded_side_2
 
typedef unspecified_type Are_parallel_2
 
typedef unspecified_type Are_ordered_along_line_2
 
typedef unspecified_type Are_strictly_ordered_along_line_2
 
typedef unspecified_type Collinear_are_ordered_along_line_2
 
typedef unspecified_type Collinear_are_strictly_ordered_along_line_2
 
typedef unspecified_type Counterclockwise_in_between_2
 
typedef unspecified_type Do_intersect_2
 
typedef unspecified_type Cartesian_const_iterator_3
 
typedef unspecified_type Point_3
 
typedef unspecified_type Weighted_point_3
 
typedef unspecified_type Vector_3
 
typedef unspecified_type Direction_3
 
typedef unspecified_type Iso_cuboid_3
 
typedef unspecified_type Line_3
 
typedef unspecified_type Ray_3
 
typedef unspecified_type Circle_3
 
typedef unspecified_type Sphere_3
 
typedef unspecified_type Segment_3
 
typedef unspecified_type Plane_3
 
typedef unspecified_type Triangle_3
 
typedef unspecified_type Tetrahedron_3
 
typedef unspecified_type Object_3
 
typedef unspecified_type Construct_point_3
 
typedef unspecified_type Construct_weighted_point_3
 
typedef unspecified_type Construct_vector_3
 
typedef unspecified_type Construct_direction_3
 
typedef unspecified_type Construct_plane_3
 
typedef unspecified_type Construct_iso_cuboid_3
 
typedef unspecified_type Construct_line_3
 
typedef unspecified_type Construct_ray_3
 
typedef unspecified_type Construct_sphere_3
 
typedef unspecified_type Construct_segment_3
 
typedef unspecified_type Construct_triangle_3
 
typedef unspecified_type Construct_tetrahedron_3
 
typedef unspecified_type Construct_circle_3
 
typedef unspecified_type Construct_object_3
 
typedef unspecified_type Construct_scaled_vector_3
 
typedef unspecified_type Construct_translated_point_3
 
typedef unspecified_type Construct_point_on_3
 
typedef unspecified_type Construct_projected_point_3
 
typedef unspecified_type Construct_lifted_point_3
 
typedef unspecified_type Construct_cartesian_const_iterator_3
 
typedef unspecified_type Construct_vertex_3
 
typedef unspecified_type Construct_source_3
 
typedef unspecified_type Construct_target_3
 
typedef unspecified_type Construct_max_vertex_3
 
typedef unspecified_type Construct_min_vertex_3
 
typedef unspecified_type Construct_bbox_3
 
typedef unspecified_type Construct_supporting_plane_3
 
typedef unspecified_type Construct_orthogonal_vector_3
 
typedef unspecified_type Construct_base_vector_3
 
typedef unspecified_type Construct_difference_of_vectors_3
 
typedef unspecified_type Construct_sum_of_vectors_3
 
typedef unspecified_type Construct_divided_vector_3
 
typedef unspecified_type Construct_normal_3
 
typedef unspecified_type Construct_perpendicular_plane_3
 
typedef unspecified_type Construct_radical_plane_3
 
typedef unspecified_type Construct_perpendicular_line_3
 
typedef unspecified_type Construct_midpoint_3
 
typedef unspecified_type Construct_center_3
 
typedef unspecified_type Construct_centroid_3
 
typedef unspecified_type Construct_circumcenter_3
 
typedef unspecified_type Construct_weighted_circumcenter_3
 
typedef unspecified_type Construct_bisector_3
 
typedef unspecified_type Construct_cross_product_vector_3
 
typedef unspecified_type Construct_barycenter_3
 
typedef unspecified_type Construct_second_point_3
 
typedef unspecified_type Construct_opposite_direction_3
 
typedef unspecified_type Construct_opposite_segment_3
 
typedef unspecified_type Construct_opposite_ray_3
 
typedef unspecified_type Construct_opposite_line_3
 
typedef unspecified_type Construct_opposite_plane_3
 
typedef unspecified_type Construct_opposite_sphere_3
 
typedef unspecified_type Construct_opposite_vector_3
 
typedef unspecified_type Intersect_3
 
typedef unspecified_type Assign_3
 
typedef unspecified_type Compute_weight_3
 
typedef unspecified_type Compute_x_3
 
typedef unspecified_type Compute_y_3
 
typedef unspecified_type Compute_z_3
 
typedef unspecified_type Compute_a_3
 
typedef unspecified_type Compute_b_3
 
typedef unspecified_type Compute_c_3
 
typedef unspecified_type Compute_d_3
 
typedef unspecified_type Compute_hx_3
 
typedef unspecified_type Compute_hy_3
 
typedef unspecified_type Compute_hz_3
 
typedef unspecified_type Compute_hw_3
 
typedef unspecified_type Compute_L_infinity_distance_3
 
typedef unspecified_type Compute_dx_3
 
typedef unspecified_type Compute_dy_3
 
typedef unspecified_type Compute_dz_3
 
typedef unspecified_type Compute_xmax_3
 
typedef unspecified_type Compute_xmin_3
 
typedef unspecified_type Compute_ymax_3
 
typedef unspecified_type Compute_ymin_3
 
typedef unspecified_type Compute_zmax_3
 
typedef unspecified_type Compute_zmin_3
 
typedef unspecified_type Compute_area_3
 
typedef unspecified_type Compute_squared_area_3
 
typedef unspecified_type Compute_area_divided_by_pi_3
 
typedef unspecified_type Compute_approximate_area_3
 
typedef unspecified_type Compute_approximate_angle_3
 
typedef unspecified_type Compute_approximate_dihedral_angle_3
 
typedef unspecified_type Compute_determinant_3
 
typedef unspecified_type Compute_scalar_product_3
 
typedef unspecified_type Compute_squared_distance_3
 
typedef unspecified_type Compute_squared_length_3
 
typedef unspecified_type Compute_squared_length_divided_by_pi_square_3
 
typedef unspecified_type Compute_approximate_squared_length_3
 
typedef unspecified_type Compute_squared_radius_3
 
typedef unspecified_type Compute_volume_3
 
typedef unspecified_type Compute_power_product_3
 
typedef unspecified_type Compute_power_distance_to_power_sphere_3
 
typedef unspecified_type Compute_squared_radius_smallest_orthogonal_sphere_3
 
typedef unspecified_type Angle_3
 
typedef unspecified_type Equal_3
 
typedef unspecified_type Equal_x_3
 
typedef unspecified_type Equal_y_3
 
typedef unspecified_type Equal_z_3
 
typedef unspecified_type Equal_xy_3
 
typedef unspecified_type Less_x_3
 
typedef unspecified_type Less_y_3
 
typedef unspecified_type Less_z_3
 
typedef unspecified_type Less_xy_3
 
typedef unspecified_type Less_xyz_3
 
typedef unspecified_type Compare_weighted_squared_radius_3
 
typedef unspecified_type Compare_x_3
 
typedef unspecified_type Compare_y_3
 
typedef unspecified_type Compare_z_3
 
typedef unspecified_type Compare_xy_3
 
typedef unspecified_type Compare_xyz_3
 
typedef unspecified_type Compare_slope_3
 
typedef unspecified_type Compare_squared_distance_3
 
typedef unspecified_type Less_signed_distance_to_plane_3
 
typedef unspecified_type Compare_projection_along_direction_3
 
typedef unspecified_type Less_distance_to_point_3
 
typedef unspecified_type Compare_angle_3
 
typedef unspecified_type Compare_dihedral_angle_3
 
typedef unspecified_type Compare_distance_3
 
typedef unspecified_type Compare_power_distance_3
 
typedef unspecified_type Collinear_3
 
typedef unspecified_type Coplanar_3
 
typedef unspecified_type Orientation_3
 
typedef unspecified_type Coplanar_orientation_3
 
typedef unspecified_type Coplanar_side_of_bounded_circle_3
 
typedef unspecified_type Side_of_oriented_sphere_3
 
typedef unspecified_type Side_of_bounded_sphere_3
 
typedef unspecified_type Power_side_of_oriented_power_sphere_3
 
typedef unspecified_type Power_side_of_bounded_power_sphere_3
 
typedef unspecified_type Is_degenerate_3
 
typedef unspecified_type Has_on_3
 
typedef unspecified_type Has_on_bounded_side_3
 
typedef unspecified_type Has_on_unbounded_side_3
 
typedef unspecified_type Has_on_boundary_3
 
typedef unspecified_type Has_on_positive_side_3
 
typedef unspecified_type Has_on_negative_side_3
 
typedef unspecified_type Non_zero_coordinate_index_3
 
typedef unspecified_type Oriented_side_3
 
typedef unspecified_type Bounded_side_3
 
typedef unspecified_type Are_parallel_3
 
typedef unspecified_type Are_ordered_along_line_3
 
typedef unspecified_type Are_strictly_ordered_along_line_3
 
typedef unspecified_type Collinear_are_ordered_along_line_3
 
typedef unspecified_type Collinear_are_strictly_ordered_along_line_3
 
typedef unspecified_type Do_intersect_3
 

Public Member Functions

Snap_2 snap_2_object () const
 
Integer_grid_point_2 integer_grid_point_2_object () const
 
Minkowski_sum_with_pixel_2 minkowski_sum_with_pixel_2_object () const
 
Construct_segment_2 construct_segment_2_object () const
 
Construct_vertex_2 construct_vertex_2_object () const
 
Compare_y_2 compare_y_2_object () const
 
Construct_iso_rectangle_2 construct_iso_rectangle_2_object () const
 
- Public Member Functions inherited from Kernel
Kernel::Construct_vector_2 construct_vector_2_object () const
 

Additional Inherited Members

- Static Public Attributes inherited from Kernel
static const bool Has_filtered_predicates