CGAL 5.1 - 2D and 3D Linear Geometry Kernel
CGAL Namespace Reference

Namespaces

 cpp11
 
 cpp98
 
 Mesh_2
 

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
struct  Algebraic_kernel_for_circles_2_2
 
struct  Algebraic_kernel_for_spheres_2_3
 
class  Algebraic_structure_traits
 
struct  Ambient_dimension
 The class Ambient_dimension allows to retrieve the dimension of the ambient space of a type T in a kernel K. More...
 
class  Bbox_2
 
class  Bbox_3
 
struct  Boolean_tag
 
struct  Cartesian
 
class  Cartesian_converter
 
class  Cartesian_d
 
struct  Cast_function_object
 
class  CC_safe_handle
 
class  Circle_2
 
class  Circle_3
 
class  Circular_arc_2
 
class  Circular_arc_3
 
class  Circular_arc_point_2
 
class  Circular_arc_point_3
 
struct  Circular_kernel_2
 
struct  Coercion_traits
 
struct  Compact
 
class  Compact_container
 
class  Compact_container_base
 
struct  Compact_container_traits
 
class  Compare_to_less
 
class  Concurrent_compact_container
 
struct  Concurrent_compact_container_traits
 
class  Const_oneset_iterator
 
class  Constrained_Delaunay_triangulation_2
 
class  Constrained_triangulation_2
 
class  Constrained_triangulation_face_base_2
 
class  Constrained_triangulation_plus_2
 
struct  Construct_array
 
class  Convex_hull_constructive_traits_2
 
class  Convex_hull_traits_2
 
class  Convex_hull_traits_adapter_2
 
class  Counting_iterator
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
struct  Default
 
class  Delaunay_mesh_criteria_2
 
class  Delaunay_mesh_face_base_2
 
class  Delaunay_mesh_size_criteria_2
 
class  Delaunay_mesh_vertex_base_2
 
class  Delaunay_mesher_2
 
class  Delaunay_triangulation_2
 
struct  Dereference
 
struct  Dimension_tag
 An object of the class Dimension_tag is an empty object which can be used for dispatching functions based on the dimension of an object, as provided by the dim parameter. More...
 
class  Direction_2
 
class  Direction_3
 
class  Direction_d
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
struct  Dynamic_dimension_tag
 An object of the class Dynamic_dimension_tag is an empty object which can be used for dispatching functions based on the dimension of an object. More...
 
struct  Emptyset_iterator
 
struct  Epeck_d
 
struct  Epick_d
 
struct  Euclidean_ring_tag
 
class  Exact_circular_kernel_2
 
struct  Exact_intersections_tag
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_kth_root
 
class  Exact_predicates_exact_constructions_kernel_with_root_of
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
struct  Exact_predicates_tag
 
class  Exact_spherical_kernel_3
 
struct  Fast
 
struct  Feature_dimension
 The class Feature_dimension allows to retrieve the geometric dimension of a type T in a kernel K. More...
 
struct  Field_tag
 
struct  Field_with_kth_root_tag
 
struct  Field_with_root_of_tag
 
struct  Field_with_sqrt_tag
 
struct  Filter_iterator
 
struct  Filtered_kernel
 
struct  Filtered_kernel_adaptor
 Filtered_kernel_adaptor is a kernel that uses a filtering technique to obtain a kernel with exact and efficient predicate functors. More...
 
class  Filtered_predicate
 
class  Fourtuple
 
class  Fraction_traits
 
class  General_polygon_with_holes_2
 
struct  Get_address
 
class  Gmpfi
 
class  Gmpfr
 
class  Gmpq
 
class  Gmpz
 
class  Gmpzf
 
struct  Homogeneous
 
class  Homogeneous_converter
 
class  Homogeneous_d
 
class  Hyperplane_d
 
struct  Identity
 
class  Identity_transformation
 
class  In_place_list
 
class  In_place_list_base
 
class  Insert_iterator
 
struct  Integral_domain_tag
 
struct  Integral_domain_without_division_tag
 
class  Interval_nt
 
class  Inverse_index
 
class  Is_valid
 
class  Iso_box_d
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Iterator_range
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
struct  Kernel_traits
 
class  Lazy_exact_nt
 
class  Line_2
 
class  Line_3
 
class  Line_arc_2
 
class  Line_arc_3
 
class  Line_d
 
class  Linear_algebraCd
 
class  Linear_algebraHd
 
struct  Location_policy
 
struct  Max
 
struct  Min
 
class  MP_Float
 
struct  Mpzf
 
class  Multiset
 
class  N_step_adaptor
 
struct  No_constraint_intersection_requiring_constructions_tag
 
struct  No_constraint_intersection_tag
 
struct  No_intersection_tag
 
struct  NT_converter
 
struct  Null_functor
 
struct  Null_tag
 
class  Null_vector
 
class  Number_type_checker
 
class  Object
 
class  Oneset_iterator
 
class  Origin
 
struct  Parallel_if_available_tag
 
struct  Parallel_tag
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Point_d
 
class  Polygon_2
 
class  Polygon_with_holes_2
 
class  Polyhedron_3
 
class  Polyhedron_incremental_builder_3
 
class  Polyhedron_items_3
 
class  Polyhedron_min_items_3
 
class  Polyhedron_traits_3
 
class  Polyhedron_traits_with_normals_3
 
class  Polynomial_1_2
 
class  Polynomial_1_3
 
class  Polynomial_for_circles_2_2
 
class  Polynomial_for_spheres_2_3
 
class  Polynomials_for_lines_3
 
struct  Project_facet
 
struct  Project_next
 
struct  Project_next_opposite
 
struct  Project_normal
 
struct  Project_opposite_prev
 
struct  Project_plane
 
struct  Project_point
 
struct  Project_prev
 
struct  Project_vertex
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
struct  Protect_FPU_rounding
 
class  Quadruple
 
class  Quotient
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Rational_traits
 
class  Ray_2
 
class  Ray_3
 
class  Ray_d
 
class  Real_embeddable_traits
 
class  Reflection
 
class  Regular_triangulation_2
 
class  Regular_triangulation_face_base_2
 
class  Regular_triangulation_vertex_base_2
 
class  Root_for_circles_2_2
 
class  Root_for_spheres_2_3
 
struct  Root_of_traits
 
class  Rotation
 
class  Scaling
 
class  Segment_2
 
class  Segment_3
 
class  Segment_d
 
struct  Sequential_tag
 
class  Set_ieee_double_precision
 
struct  Simple_cartesian
 
struct  Simple_homogeneous
 
class  Sixtuple
 
class  Spatial_lock_grid_3
 
class  Sphere_3
 
class  Sphere_d
 
struct  Spherical_kernel_3
 
class  Sqrt_extension
 
class  Tetrahedron_3
 
class  Threetuple
 
class  Translation
 
class  Triangle_2
 
class  Triangle_3
 
class  Triangulation_2
 
class  Triangulation_conformer_2
 
class  Triangulation_cw_ccw_2
 
class  Triangulation_face_base_2
 
class  Triangulation_face_base_with_info_2
 
class  Triangulation_hierarchy_2
 
class  Triangulation_hierarchy_vertex_base_2
 
class  Triangulation_vertex_base_2
 
class  Triangulation_vertex_base_with_info_2
 
class  Triple
 
class  Twotuple
 
class  Uncertain
 
struct  Unique_factorization_domain_tag
 
struct  value_type_traits
 
struct  value_type_traits< std::back_insert_iterator< Container > >
 
struct  value_type_traits< std::front_insert_iterator< Container > >
 
struct  value_type_traits< std::insert_iterator< Container > >
 
class  Vector_2
 
class  Vector_3
 
class  Vector_d
 
class  Weighted_point_2
 
class  Weighted_point_3
 

Typedefs

typedef Interval_nt< false > Interval_nt_advanced
 
typedef unspecified_type Exact_integer
 
typedef unspecified_type Exact_rational
 
typedef Location_policy< CompactCompact_location
 
typedef Location_policy< FastFast_location
 
typedef CGAL::Boolean_tag< false > Tag_false
 
typedef CGAL::Boolean_tag< true > Tag_true
 
typedef void(* Failure_function) (const char *type, const char *expression, const char *file, int line, const char *explanation)
 
typedef Sign Orientation
 

Enumerations

enum  Mesh_optimization_return_code
 
enum  Circle_type
 
enum  Failure_behaviour
 
enum  Angle { OBTUSE, RIGHT, ACUTE }
 
enum  Bounded_side { ON_UNBOUNDED_SIDE, ON_BOUNDARY, ON_BOUNDED_SIDE }
 
enum  Comparison_result { SMALLER, EQUAL, LARGER }
 
enum  Sign { NEGATIVE, ZERO, POSITIVE }
 
enum  Oriented_side { ON_NEGATIVE_SIDE, ON_ORIENTED_BOUNDARY, ON_POSITIVE_SIDE }
 
enum  Box_parameter_space_2 {
  LEFT_BOUNDARY = 0, RIGHT_BOUNDARY, BOTTOM_BOUNDARY, TOP_BOUNDARY,
  INTERIOR, EXTERIOR
}
 

Functions

Point_d< R > center_of_sphere (ForwardIterator first, ForwardIterator last)
 
Point_d< R > lift_to_paraboloid (const Point_d< R > &p)
 
OutputIterator linear_base (ForwardIterator first, ForwardIterator last, OutputIterator result)
 
Point_d< R > midpoint (const Point_d< R > &p, const Point_d< R > &q)
 
Point_d< R > project_along_d_axis (const Point_d< R > &p)
 
FT squared_distance (Point_d< R > p, Point_d< R > q)
 
bool do_intersect (Type1< R > obj1, Type2< R > obj2)
 
cpp11::result_of< R::Intersect_d(Type1< R >, Type2< R >)>::type intersection (Type1< R > f1, Type2< R > f2)
 
bool affinely_independent (ForwardIterator first, ForwardIterator last)
 
int affine_rank (ForwardIterator first, ForwardIterator last)
 
Comparison_result compare_lexicographically (const Point_d< R > &p, const Point_d< R > &q)
 
bool contained_in_affine_hull (ForwardIterator first, ForwardIterator last, const Point_d< R > &p)
 
bool contained_in_linear_hull (ForwardIterator first, ForwardIterator last, const Vector_d< R > &v)
 
bool contained_in_simplex (ForwardIterator first, ForwardIterator last, const Point_d< R > &p)
 
bool lexicographically_smaller (const Point_d< R > &p, const Point_d< R > &q)
 
bool lexicographically_smaller_or_equal (const Point_d< R > &p, const Point_d< R > &q)
 
bool linearly_independent (ForwardIterator first, ForwardIterator last)
 
int linear_rank (ForwardIterator first, ForwardIterator last)
 
Orientation orientation (ForwardIterator first, ForwardIterator last)
 
Bounded_side side_of_bounded_sphere (ForwardIterator first, ForwardIterator last, const Point_d< R > &p)
 
Oriented_side side_of_oriented_sphere (ForwardIterator first, ForwardIterator last, const Point_d< R > &p)
 
OutputIterator ch_akl_toussaint (ForwardIterator first, ForwardIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits())
 
OutputIterator ch_bykat (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_eddy (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_graham_andrew (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_graham_andrew_scan (BidirectionalIterator first, BidirectionalIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_jarvis (ForwardIterator first, ForwardIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_jarvis_march (ForwardIterator first, ForwardIterator beyond, const Traits::Point_2 &start_p, const Traits::Point_2 &stop_p, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator ch_melkman (InputIterator first, InputIterator last, OutputIterator result, const Traits &ch_traits=Default_traits)
 
void ch_e_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &e, const Traits &ch_traits=Default_traits)
 
void ch_n_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &n, const Traits &ch_traits=Default_traits)
 
void ch_ns_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &n, ForwardIterator &s, const Traits &ch_traits=Default_traits)
 
void ch_nswe_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &n, ForwardIterator &s, ForwardIterator &w, ForwardIterator &e, const Traits &ch_traits=Default_traits)
 
void ch_s_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &s, const Traits &ch_traits=Default_traits)
 
void ch_we_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &w, ForwardIterator &e, const Traits &ch_traits=Default_traits)
 
void ch_w_point (ForwardIterator first, ForwardIterator beyond, ForwardIterator &w, const Traits &ch_traits=Default_traits)
 
OutputIterator convex_hull_2 (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits)
 
OutputIterator convex_hull_2 (InputIterator first, InputIterator beyond, OutputIterator result)
 
OutputIterator lower_hull_points_2 (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
OutputIterator upper_hull_points_2 (InputIterator first, InputIterator beyond, OutputIterator result, const Traits &ch_traits=Default_traits)
 
bool is_ccw_strongly_convex_2 (ForwardIterator first, ForwardIterator beyond, const Traits &ch_traits=Default_traits)
 
bool is_cw_strongly_convex_2 (ForwardIterator first, ForwardIterator beyond, const Traits &ch_traits=Default_traits)
 
void draw (const T2 &at2)
 
void refine_Delaunay_mesh_2 (CDT &t, const Criteria &criteria=Criteria())
 
void refine_Delaunay_mesh_2 (CDT &t, InputIterator begin, InputIterator end, const Criteria &criteria=Criteria(), bool mark=false)
 
void write_vtu (std::ostream &os, const CDT &tr, IO::Mode mode=IO::BINARY)
 
CGAL::Mesh_optimization_return_code lloyd_optimize_mesh_2 (CDT &cdt, double parameters::time_limit=0, std::size_t parameters::max_iteration_number=0, double parameters::convergence=0.001, double parameters::freeze_bound=0.001, PointIterator parameters::seeds_begin=PointIterator(), PointIterator parameters::seeds_end=PointIterator(), bool parameters::mark=false)
 
void make_conforming_Delaunay_2 (CDT &t)
 
void make_conforming_Gabriel_2 (CDT &t)
 
bool is_finite (double x)
 
bool is_finite (float x)
 
bool is_finite (long double x)
 
OutputIterator compute_roots_of_2 (const RT &a, const RT &b, const RT &c, OutputIterator oit)
 
Root_of_traits< RT >::Root_of_2 make_root_of_2 (const RT &a, const RT &b, const RT &c, bool s)
 
Root_of_traits< RT >::Root_of_2 make_root_of_2 (RT alpha, RT beta, RT gamma)
 
Root_of_traits< RT >::Root_of_2 make_sqrt (const RT &x)
 
Rational simplest_rational_in_interval (double d1, double d2)
 
Rational to_rational (double d)
 
bool is_valid (const T &x)
 
max (const T &x, const T &y)
 
min (const T &x, const T &y)
 
NT abs (const NT &x)
 
result_type compare (const NT &x, const NT &y)
 
result_type div (const NT1 &x, const NT2 &y)
 
void div_mod (const NT1 &x, const NT2 &y, result_type &q, result_type &r)
 
result_type gcd (const NT1 &x, const NT2 &y)
 
result_type integral_division (const NT1 &x, const NT2 &y)
 
NT inverse (const NT &x)
 
result_type is_negative (const NT &x)
 
result_type is_one (const NT &x)
 
result_type is_positive (const NT &x)
 
result_type is_square (const NT &x)
 
result_type is_square (const NT &x, NT &y)
 
result_type is_zero (const NT &x)
 
NT kth_root (int k, const NT &x)
 
result_type mod (const NT1 &x, const NT2 &y)
 
NT root_of (int k, InputIterator begin, InputIterator end)
 
result_type sign (const NT &x)
 
void simplify (const NT &x)
 
NT sqrt (const NT &x)
 
NT square (const NT &x)
 
double to_double (const NT &x)
 
std::pair< double, double > to_interval (const NT &x)
 
NT unit_part (const NT &x)
 
bool has_in_x_range (const Circular_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_in_x_range (const Line_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_on (const Circle_2< CircularKernel > &c, const Circular_arc_point_2< CircularKernel > &p)
 
OutputIterator make_x_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
OutputIterator make_xy_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
Circular_arc_point_2< CircularKernelx_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator x_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
Circular_arc_point_2< CircularKernely_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator y_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
CGAL::Comparison_result compare_y_to_right (const Circular_arc_2< CircularKernel > &ca1, const Circular_arc_2< CircularKernel > &ca2, Circular_arc_point_2< CircularKernel > &p)
 
CGAL::Circle_type classify (const CGAL::Circle_3< SphericalKernel > &c, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
Comparison_result compare_theta (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
Comparison_result compare_theta (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Vector_3< SphericalKernel > &m, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
Comparison_result compare_theta (const CGAL::Vector_3< SphericalKernel > &m, const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
bool compare_theta_z (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
bool is_theta_monotone (const CGAL::Circular_arc_3< SphericalKernel > &a, const CGAL::Sphere_3< SphericalKernel > &sphere)
 
CGAL::Circular_arc_point_3< SphericalKerneltheta_extremal_point (const CGAL::Circle_3< SphericalKernel > &c, const CGAL::Sphere_3< SphericalKernel > sphere, bool b)
 
OutputIterator theta_extremal_points (const CGAL::Circle_3< SphericalKernel > &c, const CGAL::Sphere_3< SphericalKernel > &sphere, OutputIterator res)
 
CGAL::Circular_arc_point_3< SphericalKernelx_extremal_point (const CGAL::Sphere_3< SphericalKernel > &c, bool b)
 
CGAL::Circular_arc_point_3< SphericalKernelx_extremal_point (const CGAL::Circle_3< SphericalKernel > &c, bool b)
 
OutputIterator x_extremal_points (const CGAL::Sphere_3< SphericalKernel > &c, OutputIterator res)
 
OutputIterator x_extremal_points (const CGAL::Circle_3< SphericalKernel > &c, OutputIterator res)
 
CGAL::Circular_arc_point_3< SphericalKernely_extremal_point (const CGAL::Sphere_3< SphericalKernel > &c, bool b)
 
CGAL::Circular_arc_point_3< SphericalKernely_extremal_point (const CGAL::Circle_3< SphericalKernel > &c, bool b)
 
OutputIterator y_extremal_points (const CGAL::Sphere_3< SphericalKernel > &c, OutputIterator res)
 
OutputIterator y_extremal_points (const CGAL::Circle_3< SphericalKernel > &c, OutputIterator res)
 
CGAL::Circular_arc_point_3< SphericalKernelz_extremal_point (const CGAL::Sphere_3< SphericalKernel > &c, bool b)
 
CGAL::Circular_arc_point_3< SphericalKernelz_extremal_point (const CGAL::Circle_3< SphericalKernel > &c, bool b)
 
OutputIterator z_extremal_points (const CGAL::Sphere_3< SphericalKernel > &c, OutputIterator res)
 
OutputIterator z_extremal_points (const CGAL::Circle_3< SphericalKernel > &c, OutputIterator res)
 
OutputIterator copy_n (InputIterator first, Size n, OutputIterator result)
 
std::pair< ForwardIterator, ForwardIterator > min_max_element (ForwardIterator first, ForwardIterator last)
 
std::pair< ForwardIterator, ForwardIterator > min_max_element (ForwardIterator first, ForwardIterator last, CompareMin comp_min, CompareMax comp_max)
 
BidirectionalIterator predecessor (BidirectionalIterator it)
 
ForwardIterator successor (ForwardIterator it)
 
std::array< T, N > make_array (const T &...)
 
CC_safe_handle< CC_iterator > make_cc_safe_handle (CC_iterator iterator)
 
Compare_to_less< F > compare_to_less (const F &f)
 
Iterator_range< T > make_range (const T &b, const T &e)
 
range_begin (Iterator_range< T > &x)
 
range_end (Iterator_range< T > &x)
 
range_begin (const Iterator_range< T > &x)
 
range_end (const Iterator_range< T > &x)
 
Failure_function set_error_handler (Failure_function handler)
 
Failure_function set_warning_handler (Failure_function handler)
 
Failure_behaviour set_error_behaviour (Failure_behaviour eb)
 
Failure_behaviour set_warning_behaviour (Failure_behaviour eb)
 
void draw (const POLY &apoly)
 
template<typename T , typename U >
enum_cast (const U &u)
 
Oriented_side opposite (const Oriented_side &o)
 
Bounded_side opposite (const Bounded_side &o)
 
bool do_intersect (Type1< Kernel > obj1, Type2< Kernel > obj2)
 checks whether obj1 and obj2 intersect. More...
 
template<typename Kernel >
cpp11::result_of< Kernel::Intersect_23(Type1, Type2)>::type intersection (Type1< Kernel > obj1, Type2< Kernel > obj2)
 Two objects obj1 and obj2 intersect if there is a point p that is part of both obj1 and obj2. More...
 
template<typename Kernel >
boost::optional< boost::variant< Point_3, Line_3, Plane_3 > > intersection (const Plane_3< Kernel > &pl1, const Plane_3< Kernel > &pl2, const Plane_3< Kernel > &pl3)
 returns the intersection of 3 planes, which can be a point, a line, a plane, or empty. More...
 
template<typename Kernel >
Angle angle (const CGAL::Vector_2< Kernel > &u, const CGAL::Vector_2< Kernel > &v)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors u and v. More...
 
template<typename Kernel >
Angle angle (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the three points p, q, r (q being the vertex of the angle). More...
 
template<typename Kernel >
Angle angle (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &s)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors pq, rs. More...
 
template<typename Kernel >
Angle angle (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors u and v. More...
 
template<typename Kernel >
Angle angle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the three points p, q, r (q being the vertex of the angle). More...
 
template<typename Kernel >
Angle angle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors pq, rs. More...
 
template<typename Kernel >
Angle angle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Vector_3< Kernel > &v)
 returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the normal of the triangle pqr and the vector v. More...
 
template<typename Kernel >
Kernel::FT approximate_angle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns an approximation of the angle between p-q and r-q. More...
 
template<typename Kernel >
Kernel::FT approximate_angle (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v)
 returns an approximation of the angle between u and v. More...
 
template<typename Kernel >
Kernel::FT approximate_dihedral_angle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 returns an approximation of the signed dihedral angle in the tetrahedron pqrs of edge pq. More...
 
template<typename Kernel >
Kernel::FT area (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns the signed area of the triangle defined by the points p, q and r. More...
 
template<typename Kernel >
bool are_ordered_along_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true, iff the three points are collinear and q lies between p and r. More...
 
template<typename Kernel >
bool are_ordered_along_line (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true, iff the three points are collinear and q lies between p and r. More...
 
template<typename Kernel >
bool are_strictly_ordered_along_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true, iff the three points are collinear and q lies strictly between p and r. More...
 
template<typename Kernel >
bool are_strictly_ordered_along_line (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true, iff the three points are collinear and q lies strictly between p and r. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2)
 compute the barycenter of the points p1 and p2 with corresponding weights w1 and 1-w1. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2, const Kernel::FT &w2)
 compute the barycenter of the points p1 and p2 with corresponding weights w1 and w2. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_2< Kernel > &p3)
 compute the barycenter of the points p1, p2 and p3 with corresponding weights w1, w2 and 1-w1-w2. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_2< Kernel > &p3, const Kernel::FT &w3)
 compute the barycenter of the points p1, p2 and p3 with corresponding weights w1, w2 and w3. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_2< Kernel > &p3, const Kernel::FT &w3, const CGAL::Point_2< Kernel > &p4)
 compute the barycenter of the points p1, p2, p3 and p4 with corresponding weights w1, w2, w3 and 1-w1-w2-w3. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelbarycenter (const CGAL::Point_2< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_2< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_2< Kernel > &p3, const Kernel::FT &w3, const CGAL::Point_2< Kernel > &p4, const Kernel::FT &w4)
 compute the barycenter of the points p1, p2, p3 and p4 with corresponding weights w1, w2, w3 and w4. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2)
 compute the barycenter of the points p1 and p2 with corresponding weights w1 and 1-w1. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2, const Kernel::FT &w2)
 compute the barycenter of the points p1 and p2 with corresponding weights w1 and w2. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_3< Kernel > &p3)
 compute the barycenter of the points p1, p2 and p3 with corresponding weights w1, w2 and 1-w1-w2. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_3< Kernel > &p3, const Kernel::FT &w3)
 compute the barycenter of the points p1, p2 and p3 with corresponding weights w1, w2 and w3. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_3< Kernel > &p3, const Kernel::FT &w3, const CGAL::Point_3< Kernel > &p4)
 compute the barycenter of the points p1, p2, p3 and p4 with corresponding weights w1, w2, w3 and 1-w1-w2-w3. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelbarycenter (const CGAL::Point_3< Kernel > &p1, const Kernel::FT &w1, const CGAL::Point_3< Kernel > &p2, const Kernel::FT &w2, const CGAL::Point_3< Kernel > &p3, const Kernel::FT &w3, const CGAL::Point_3< Kernel > &p4, const Kernel::FT &w4)
 compute the barycenter of the points p1, p2, p3 and p4 with corresponding weights w1, w2, w3 and w4. More...
 
template<typename Kernel >
CGAL::Line_2< Kernelbisector (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 constructs the bisector line of the two points p and q. More...
 
template<typename Kernel >
CGAL::Line_2< Kernelbisector (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 constructs the bisector of the two lines l1 and l2. More...
 
template<typename Kernel >
CGAL::Plane_3< Kernelbisector (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 constructs the bisector plane of the two points p and q. More...
 
template<typename Kernel >
CGAL::Plane_3< Kernelbisector (const CGAL::Plane_3< Kernel > &h1, const CGAL::Plane_3< Kernel > &h2)
 constructs the bisector of the two planes h1 and h2. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcentroid (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 compute the centroid of the points p, q, and r. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcentroid (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &s)
 compute the centroid of the points p, q, r, and s. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcentroid (const CGAL::Triangle_2< Kernel > &t)
 compute the centroid of the triangle t. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcentroid (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 compute the centroid of the points p, q, and r. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcentroid (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 compute the centroid of the points p, q, r, and s. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcentroid (const CGAL::Triangle_3< Kernel > &t)
 compute the centroid of the triangle t. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcentroid (const CGAL::Tetrahedron_3< Kernel > &t)
 compute the centroid of the tetrahedron t. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcircumcenter (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 compute the center of the smallest circle passing through the points p and q. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcircumcenter (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 compute the center of the circle passing through the points p, q, and r. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelcircumcenter (const CGAL::Triangle_2< Kernel > &t)
 compute the center of the circle passing through the vertices of t. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcircumcenter (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 compute the center of the smallest sphere passing through the points p and q. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcircumcenter (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 compute the center of the circle passing through the points p, q, and r. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcircumcenter (const CGAL::Triangle_3< Kernel > &t)
 compute the center of the circle passing through the vertices of t. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcircumcenter (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 compute the center of the sphere passing through the points p, q, r, and s. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelcircumcenter (const CGAL::Tetrahedron_3< Kernel > &t)
 compute the center of the sphere passing through the vertices of t. More...
 
template<typename Kernel >
bool collinear_are_ordered_along_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true, iff q lies between p and r. More...
 
template<typename Kernel >
bool collinear_are_ordered_along_line (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true, iff q lies between p and r. More...
 
template<typename Kernel >
bool collinear_are_strictly_ordered_along_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true, iff q lies strictly between p and r. More...
 
template<typename Kernel >
bool collinear_are_strictly_ordered_along_line (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true, iff q lies strictly between p and r. More...
 
template<typename Kernel >
bool collinear (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true, iff p, q, and r are collinear. More...
 
template<typename Kernel >
bool collinear (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true, iff p, q, and r are collinear. More...
 
template<typename Kernel >
Comparison_result compare_dihedral_angle (const CGAL::Point_3< Kernel > &a1, const CGAL::Point_3< Kernel > &b1, const CGAL::Point_3< Kernel > &c1, const CGAL::Point_3< Kernel > &d1, const Kernel::FT &cosine)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), of the tetrahedron (a1, b1, c1, d1) at the edge (a1, b1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\). More...
 
template<typename Kernel >
Comparison_result compare_dihedral_angle (const CGAL::Point_3< Kernel > &a1, const CGAL::Point_3< Kernel > &b1, const CGAL::Point_3< Kernel > &c1, const CGAL::Point_3< Kernel > &d1, const CGAL::Point_3< Kernel > &a2, const CGAL::Point_3< Kernel > &b2, const CGAL::Point_3< Kernel > &c2, const CGAL::Point_3< Kernel > &d2)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle in the tetrahedron (a_i, b_i, c_i, d_i) at the edge (a_i, b_i). More...
 
template<typename Kernel >
Comparison_result compare_dihedral_angle (const CGAL::Vector_3< Kernel > &u1, const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &w1, const Kernel::FT &cosine)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), between the vectorial planes defined by (u_1, v_1) and (u_1, w_1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\). More...
 
template<typename Kernel >
Comparison_result compare_dihedral_angle (const CGAL::Vector_3< Kernel > &u1, const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &w1, const CGAL::Vector_3< Kernel > &u2, const CGAL::Vector_3< Kernel > &v2, const CGAL::Vector_3< Kernel > &w2)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle between the vectorial planes defined by (u_i, v_i) and (u_i, w_i). More...
 
template<typename Kernel >
Comparison_result compare_distance_to_point (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 compares the distances of points q and r to point p. More...
 
template<typename Kernel >
Comparison_result compare_distance_to_point (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 compares the distances of points q and r to point p. More...
 
template<typename Kernel >
Comparison_result compare_lexicographically (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( xy\) order: first \( x\)-coordinates are compared, if they are equal, \( y\)-coordinates are compared. More...
 
template<typename Kernel >
Comparison_result compare_lexicographically (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( xyz\) order: first \( x\)-coordinates are compared, if they are equal, \( y\)-coordinates are compared, and if both \( x\)- and \( y\)- coordinate are equal, \( z\)-coordinates are compared. More...
 
template<typename Kernel >
Comparison_result compare_signed_distance_to_line (const CGAL::Line_2< Kernel > &l, const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns CGAL::LARGER iff the signed distance of p and l is larger than the signed distance of q and l, CGAL::SMALLER, iff it is smaller, and CGAL::EQUAL iff both are equal. More...
 
template<typename Kernel >
Comparison_result compare_signed_distance_to_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &s)
 returns CGAL::LARGER iff the signed distance of r and l is larger than the signed distance of s and l, CGAL::SMALLER, iff it is smaller, and CGAL::EQUAL iff both are equal, where l is the directed line through p and q. More...
 
template<typename Kernel >
Comparison_result compare_signed_distance_to_plane (const CGAL::Plane_3< Kernel > &h, const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns CGAL::LARGER iff the signed distance of p and h is larger than the signed distance of q and h, CGAL::SMALLER, iff it is smaller, and CGAL::EQUAL iff both are equal. More...
 
template<typename Kernel >
Comparison_result compare_signed_distance_to_plane (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const CGAL::Point_3< Kernel > &t)
 returns CGAL::LARGER iff the signed distance of s and h is larger than the signed distance of t and h, CGAL::SMALLER, iff it is smaller, and CGAL::EQUAL iff both are equal, where h is the oriented plane through p, q and r. More...
 
template<typename Kernel >
Comparison_result compare_slope (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 compares the slopes of the lines l1 and l2 More...
 
template<typename Kernel >
Comparison_result compare_slope (const CGAL::Segment_2< Kernel > &s1, const CGAL::Segment_2< Kernel > &s2)
 compares the slopes of the segments s1 and s2, where the slope is the variation of the y-coordinate from the left to the right endpoint of the segments. More...
 
template<typename Kernel >
Comparison_result compare_slope (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 compares the slopes of the segments (p,q) and (r,s), where the slope is the variation of the z-coordinate from the first to the second point of the segment divided by the length of the segment. More...
 
template<typename Kernel >
Comparison_result compare_squared_distance (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const typename Kernel::FT &d2)
 compares the squared distance of points p and q to d2. More...
 
template<typename Kernel >
Comparison_result compare_squared_distance (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const typename Kernel::FT &d2)
 compares the squared distance of points p and q to d2. More...
 
template<typename Kernel >
Comparison_result compare_squared_radius (const CGAL::Point_3< Kernel > &p, const typename Kernel::FT &sr)
 compares the squared radius of the sphere of radius 0 centered at p to sr. More...
 
template<typename Kernel >
Comparison_result compare_squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const typename Kernel::FT &sr)
 compares the squared radius of the sphere defined by the points p and q to sr. More...
 
template<typename Kernel >
Comparison_result compare_squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const typename Kernel::FT &sr)
 compares the squared radius of the sphere defined by the points p, q, and r to sr. More...
 
template<typename Kernel >
Comparison_result compare_squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const typename Kernel::FT &sr)
 compares the squared radius of the sphere defined by the points p, q, r, and r to sr. More...
 
template<typename Kernel >
Comparison_result compare_x (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_x (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_x (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 compares the \( x\)-coordinates of p and the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_x (const CGAL::Line_2< Kernel > &l, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 compares the \( x\)-coordinates of the intersection of line l with line h1 and with line h2. More...
 
template<typename Kernel >
Comparison_result compare_x (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 compares the \( x\)-coordinates of the intersection of lines l1 and l2 and the intersection of lines h1 and h2. More...
 
template<typename CircularKernel >
Comparison_result compare_x (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Circular_arc_point_2< CircularKernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename CircularKernel >
Comparison_result compare_x (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Point_2< CircularKernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_x (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_x (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Point_3< SphericalKernel > &q)
 compares the \( x\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_xy (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( xy\) order: first \( x\)-coordinates are compared, if they are equal, \( y\)-coordinates are compared. More...
 
template<typename Kernel >
Comparison_result compare_xy (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( xy\) order: first \( x\)-coordinates are compared, if they are equal, \( y\)-coordinates are compared. More...
 
template<typename CircularKernel >
Comparison_result compare_xy (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Circular_arc_point_2< CircularKernel > &q)
 Compares the \( x\) and \( y\) Cartesian coordinates of points p and q lexicographically. More...
 
template<typename CircularKernel >
Comparison_result compare_xy (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Point_2< CircularKernel > &q)
 Compares the \( x\) and \( y\) Cartesian coordinates of points p and q lexicographically. More...
 
template<typename SphericalKernel >
Comparison_result compare_xy (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q)
 Compares the \( x\) and \( y\) Cartesian coordinates of points p and q lexicographically. More...
 
template<typename SphericalKernel >
Comparison_result compare_xy (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Point_3< SphericalKernel > &q)
 Compares the \( x\) and \( y\) Cartesian coordinates of points p and q lexicographically. More...
 
template<typename Kernel >
Comparison_result compare_x_at_y (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &h)
 compares the \( x\)-coordinates of p and the horizontal projection of p on h. More...
 
template<typename Kernel >
Comparison_result compare_x_at_y (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 This function compares the \( x\)-coordinates of the horizontal projection of p on h1 and on h2. More...
 
template<typename Kernel >
Comparison_result compare_x_at_y (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h)
 Let p be the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_x_at_y (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 Let p be the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &h)
 compares the \( y\)-coordinates of p and the vertical projection of p on h. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 compares the \( y\)-coordinates of the vertical projection of p on h1 and on h2. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h)
 Let p be the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 Let p be the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Point_2< Kernel > &p, const CGAL::Segment_2< Kernel > &s)
 compares the \( y\)-coordinates of p and the vertical projection of p on s. More...
 
template<typename Kernel >
Comparison_result compare_y_at_x (const CGAL::Point_2< Kernel > &p, const CGAL::Segment_2< Kernel > &s1, const CGAL::Segment_2< Kernel > &s2)
 compares the \( y\)-coordinates of the vertical projection of p on s1 and on s2. More...
 
template<typename Kernel >
Comparison_result compare_y (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 compares Cartesian \( y\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_y (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 compares Cartesian \( y\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_y (const CGAL::Point_2< Kernel > &p, const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 compares the \( y\)-coordinates of p and the intersection of lines l1 and l2. More...
 
template<typename Kernel >
Comparison_result compare_y (const CGAL::Line_2< Kernel > &l, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 compares the \( y\)-coordinates of the intersection of line l with line h1 and with line h2. More...
 
template<typename Kernel >
Comparison_result compare_y (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2, const CGAL::Line_2< Kernel > &h1, const CGAL::Line_2< Kernel > &h2)
 compares the \( y\)-coordinates of the intersection of lines l1 and l2 and the intersection of lines h1 and h2. More...
 
template<typename CircularKernel >
Comparison_result compare_y (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Circular_arc_point_2< CircularKernel > &q)
 compares the \( y\)-coordinates of p and q. More...
 
template<typename CircularKernel >
Comparison_result compare_y (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Point_2< CircularKernel > &q)
 compares the \( y\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_y (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q)
 compares the \( y\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_y (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Point_3< SphericalKernel > &q)
 compares the \( y\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_xyz (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( xyz\) order: first \( x\)-coordinates are compared, if they are equal, \( y\)-coordinates are compared, and if both \( x\)- and \( y\)- coordinate are equal, \( z\)-coordinates are compared. More...
 
template<typename SphericalKernel >
Comparison_result compare_xyz (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically. More...
 
template<typename SphericalKernel >
Comparison_result compare_xyz (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Point_3< SphericalKernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically. More...
 
template<typename Kernel >
Comparison_result compare_z (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 compares the \( z\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_z (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Circular_arc_point_3< SphericalKernel > &q)
 compares the \( z\)-coordinates of p and q. More...
 
template<typename SphericalKernel >
Comparison_result compare_z (const CGAL::Circular_arc_point_3< SphericalKernel > &p, const CGAL::Point_3< SphericalKernel > &q)
 compares the \( z\)-coordinates of p and q. More...
 
template<typename Kernel >
Comparison_result compare_yx (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 Compares the Cartesian coordinates of points p and q lexicographically in \( yx\) order: first \( y\)-coordinates are compared, if they are equal, \( x\)-coordinates are compared. More...
 
template<typename Kernel >
bool coplanar (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 returns true, if p, q, r, and s are coplanar. More...
 
template<typename Kernel >
Orientation coplanar_orientation (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 Let P be the plane defined by the points p, q, and r. More...
 
template<typename Kernel >
Orientation coplanar_orientation (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 If p,q,r are collinear, then CGAL::COLLINEAR is returned. More...
 
template<typename Kernel >
Bounded_side coplanar_side_of_bounded_circle (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 returns the bounded side of the circle defined by p, q, and r on which s lies. More...
 
template<typename Kernel >
CGAL::Vector_3< Kernelcross_product (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v)
 returns the cross product of u and v. More...
 
template<typename Kernel >
Kernel::FT determinant (const CGAL::Vector_2< Kernel > &v, const CGAL::Vector_2< Kernel > &w)
 returns the determinant of v and w. More...
 
template<typename Kernel >
Kernel::FT determinant (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v, const CGAL::Vector_3< Kernel > &w)
 returns the determinant of u, v and w. More...
 
template<typename Kernel >
CGAL::Line_3< Kernelequidistant_line (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 constructs the line which is at the same distance from the three points p, q and r. More...
 
template<typename Kernel >
bool has_larger_distance_to_point (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true iff the distance between q and p is larger than the distance between r and p. More...
 
template<typename Kernel >
bool has_larger_distance_to_point (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true iff the distance between q and p is larger than the distance between r and p. More...
 
template<typename Kernel >
bool has_larger_signed_distance_to_line (const CGAL::Line_2< Kernel > &l, const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff the signed distance of p and l is larger than the signed distance of q and l. More...
 
template<typename Kernel >
bool has_larger_signed_distance_to_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &s)
 returns true iff the signed distance of r and l is larger than the signed distance of s and l, where l is the directed line through points p and q. More...
 
template<typename Kernel >
bool has_larger_signed_distance_to_plane (const CGAL::Plane_3< Kernel > &h, const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true iff the signed distance of p and h is larger than the signed distance of q and h. More...
 
template<typename Kernel >
bool has_larger_signed_distance_to_plane (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const CGAL::Point_3< Kernel > &t)
 returns true iff the signed distance of s and h is larger than the signed distance of t and h, where h is the oriented plane through p, q and r. More...
 
template<typename Kernel >
bool has_smaller_distance_to_point (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true iff the distance between q and p is smaller than the distance between r and p. More...
 
template<typename Kernel >
bool has_smaller_distance_to_point (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns true iff the distance between q and p is smaller than the distance between r and p. More...
 
template<typename Kernel >
bool has_smaller_signed_distance_to_line (const CGAL::Line_2< Kernel > &l, const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff the signed distance of p and l is smaller than the signed distance of q and l. More...
 
template<typename Kernel >
bool has_smaller_signed_distance_to_line (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &s)
 returns true iff the signed distance of r and l is smaller than the signed distance of s and l, where l is the oriented line through p and q. More...
 
template<typename Kernel >
bool has_smaller_signed_distance_to_plane (const CGAL::Plane_3< Kernel > &h, const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true iff the signed distance of p and h is smaller than the signed distance of q and h. More...
 
template<typename Kernel >
bool has_smaller_signed_distance_to_plane (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const CGAL::Point_3< Kernel > &t)
 returns true iff the signed distance of p and h is smaller than the signed distance of q and h, where h is the oriented plane through p, q and r. More...
 
template<typename Kernel >
Kernel::FT l_infinity_distance (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns the distance between p and q in the L-infinity metric. More...
 
template<typename Kernel >
Kernel::FT l_infinity_distance (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns the distance between p and q in the L-infinity metric. More...
 
template<typename Kernel >
bool left_turn (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true iff p, q, and r form a left turn. More...
 
template<typename Kernel >
bool lexicographically_xy_larger (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff p is lexicographically larger than q with respect to \( xy\) order. More...
 
template<typename Kernel >
bool lexicographically_xy_larger_or_equal (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff p is lexicographically not smaller than q with respect to \( xy\) order. More...
 
template<typename Kernel >
bool lexicographically_xy_smaller (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff p is lexicographically smaller than q with respect to \( xy\) order. More...
 
template<typename Kernel >
bool lexicographically_xy_smaller_or_equal (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true iff p is lexicographically not larger than q with respect to \( xy\) order. More...
 
template<typename Kernel >
bool lexicographically_xyz_smaller (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true iff p is lexicographically smaller than q with respect to \( xyz\) order. More...
 
template<typename Kernel >
bool lexicographically_xyz_smaller_or_equal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true iff p is lexicographically not larger than q with respect to \( xyz\) order. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelmax_vertex (const CGAL::Iso_rectangle_2< Kernel > &ir)
 computes the vertex with the lexicographically largest coordinates of the iso rectangle ir. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelmax_vertex (const CGAL::Iso_cuboid_3< Kernel > &ic)
 computes the vertex with the lexicographically largest coordinates of the iso cuboid ic. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelmidpoint (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 computes the midpoint of the segment pq. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelmidpoint (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 computes the midpoint of the segment pq. More...
 
template<typename Kernel >
CGAL::Point_2< Kernelmin_vertex (const CGAL::Iso_rectangle_2< Kernel > &ir)
 computes the vertex with the lexicographically smallest coordinates of the iso rectangle ir. More...
 
template<typename Kernel >
CGAL::Point_3< Kernelmin_vertex (const CGAL::Iso_cuboid_3< Kernel > &ic)
 computes the vertex with the lexicographically smallest coordinates of the iso cuboid ic. More...
 
template<typename Kernel >
CGAL::Vector_3< Kernelnormal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 computes the normal vector for the vectors q-p and r-p. More...
 
template<typename Kernel >
Orientation orientation (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns CGAL::LEFT_TURN, if r lies to the left of the oriented line l defined by p and q, returns CGAL::RIGHT_TURN if r lies to the right of l, and returns CGAL::COLLINEAR if r lies on l. More...
 
template<typename Kernel >
Orientation orientation (const CGAL::Vector_2< Kernel > &u, const CGAL::Vector_2< Kernel > &v)
 returns CGAL::LEFT_TURN if u and v form a left turn, returns CGAL::RIGHT_TURN if u and v form a right turn, and returns CGAL::COLLINEAR if u and v are collinear. More...
 
template<typename Kernel >
Orientation orientation (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 returns CGAL::POSITIVE, if s lies on the positive side of the oriented plane h defined by p, q, and r, returns CGAL::NEGATIVE if s lies on the negative side of h, and returns CGAL::COPLANAR if s lies on h. More...
 
template<typename Kernel >
Orientation orientation (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v, const CGAL::Vector_3< Kernel > &w)
 returns CGAL::NEGATIVE if u, v and w are negatively oriented, CGAL::POSITIVE if u, v and w are positively oriented, and CGAL::COPLANAR if u, v and w are coplanar. More...
 
template<typename Kernel >
CGAL::Vector_3< Kernelorthogonal_vector (const CGAL::Plane_3< Kernel > &p)
 computes an orthogonal vector of the plane p, which is directed to the positive side of this plane. More...
 
template<typename Kernel >
CGAL::Vector_3< Kernelorthogonal_vector (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 computes an orthogonal vector of the plane defined by p, q and r, which is directed to the positive side of this plane. More...
 
template<typename Kernel >
bool parallel (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 returns true, if l1 and l2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Ray_2< Kernel > &r1, const CGAL::Ray_2< Kernel > &r2)
 returns true, if r1 and r2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Segment_2< Kernel > &s1, const CGAL::Segment_2< Kernel > &s2)
 returns true, if s1 and s2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Line_3< Kernel > &l1, const CGAL::Line_3< Kernel > &l2)
 returns true, if l1 and l2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Plane_3< Kernel > &h1, const CGAL::Plane_3< Kernel > &h2)
 returns true, if h1 and h2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Ray_3< Kernel > &r1, const CGAL::Ray_3< Kernel > &r2)
 returns true, if r1 and r2 are parallel or if one of those (or both) is degenerate. More...
 
template<typename Kernel >
bool parallel (const CGAL::Segment_3< Kernel > &s1, const CGAL::Segment_3< Kernel > &s2)
 returns true, if s1 and s2 are parallel or if one of those (or both) is degenerate. More...
 
CGAL::Plane_3< Kernelradical_plane (const CGAL::Sphere_3< Kernel > &s1, const CGAL::Sphere_3< Kernel > &s2)
 returns the radical plane of the two spheres. More...
 
template<typename Kernel >
CGAL::Line_2< Kernelradical_line (const CGAL::Circle_2< Kernel > &c1, const CGAL::Circle_2< Kernel > &c2)
 returns the radical line of the two circles. More...
 
template<typename Kernel >
bool right_turn (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 returns true iff p, q, and r form a right turn. More...
 
template<typename Kernel >
Kernel::FT scalar_product (const CGAL::Vector_2< Kernel > &u, const CGAL::Vector_2< Kernel > &v)
 returns the scalar product of u and v. More...
 
template<typename Kernel >
Kernel::FT scalar_product (const CGAL::Vector_3< Kernel > &u, const CGAL::Vector_3< Kernel > &v)
 returns the scalar product of u and v. More...
 
template<typename Kernel >
Bounded_side side_of_bounded_circle (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &t)
 returns the relative position of point t to the circle defined by p, q and r. More...
 
template<typename Kernel >
Bounded_side side_of_bounded_circle (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &t)
 returns the position of the point t relative to the circle that has pq as its diameter. More...
 
template<typename Kernel >
Bounded_side side_of_bounded_sphere (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const CGAL::Point_3< Kernel > &t)
 returns the relative position of point t to the sphere defined by p, q, r, and s. More...
 
template<typename Kernel >
Bounded_side side_of_bounded_sphere (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &t)
 returns the position of the point t relative to the sphere passing through p, q, and r and whose center is in the plane defined by these three points. More...
 
template<typename Kernel >
Bounded_side side_of_bounded_sphere (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &t)
 returns the position of the point t relative to the sphere that has pq as its diameter. More...
 
template<typename Kernel >
Oriented_side side_of_oriented_circle (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r, const CGAL::Point_2< Kernel > &test)
 returns the relative position of point test to the oriented circle defined by p, q and r. More...
 
template<typename Kernel >
Oriented_side side_of_oriented_sphere (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s, const CGAL::Point_3< Kernel > &test)
 returns the relative position of point test to the oriented sphere defined by p, q, r and s. More...
 
template<typename Kernel >
Kernel::FT squared_area (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 returns the squared area of the triangle defined by the points p, q and r. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q, const CGAL::Point_2< Kernel > &r)
 compute the squared radius of the circle passing through the points p, q, and r. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 compute the squared radius of the smallest circle passing through p, and q, i.e. one fourth of the squared distance between p and q. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_2< Kernel > &p)
 compute the squared radius of the smallest circle passing through p, i.e. \( 0\). More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
 compute the squared radius of the sphere passing through the points p, q, r and s. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 compute the squared radius of the sphere passing through the points p, q, and r and whose center is in the same plane as those three points. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 compute the squared radius of the smallest circle passing through p, and q, i.e. one fourth of the squared distance between p and q. More...
 
template<typename Kernel >
FT squared_radius (const CGAL::Point_3< Kernel > &p)
 compute the squared radius of the smallest circle passing through p, i.e. \( 0\). More...
 
CGAL::Vector_3< Kernelunit_normal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
 computes the unit normal vector for the vectors q-p and r-p. More...
 
template<typename Kernel >
Kernel::FT volume (const CGAL::Point_3< Kernel > &p0, const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Computes the signed volume of the tetrahedron defined by the four points p0, p1, p2 and p3. More...
 
template<typename Kernel >
bool x_equal (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true, iff p and q have the same x-coordinate. More...
 
template<typename Kernel >
bool x_equal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true, iff p and q have the same x-coordinate. More...
 
template<typename Kernel >
bool y_equal (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 returns true, iff p and q have the same y-coordinate. More...
 
template<typename Kernel >
bool y_equal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true, iff p and q have the same y-coordinate. More...
 
template<typename Kernel >
bool z_equal (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 returns true, iff p and q have the same z-coordinate. More...
 
template<RingNumberType >
void rational_rotation_approximation (const RingNumberType &dirx, const RingNumberType &diry, RingNumberType &sin_num, RingNumberType &cos_num, RingNumberType &denom, const RingNumberType &eps_num, const RingNumberType &eps_den)
 
template<typename Kernel >
Kernel::FT squared_distance (Type1< Kernel > obj1, Type2< Kernel > obj2)
 computes the square of the Euclidean distance between two geometric objects. More...
 

Variables

 BOUND_REACHED
 
 TIME_LIMIT_REACHED
 
 CANT_IMPROVE_ANYMORE
 
 CONVERGENCE_REACHED
 
 MAX_ITERATION_NUMBER_REACHED
 
 ALL_VERTICES_FROZEN
 
 NORMAL
 
 THREADED
 
 POLAR
 
 BIPOLAR
 
 ABORT
 
 EXIT
 
 EXIT_WITH_SUCCESS
 
 CONTINUE
 
 THROW_EXCEPTION
 
const CGAL::Orientation CLOCKWISE = NEGATIVE
 
const CGAL::Orientation COUNTERCLOCKWISE = POSITIVE
 
const CGAL::Orientation COLLINEAR = ZERO
 
const CGAL::Orientation LEFT_TURN = POSITIVE
 
const CGAL::Orientation RIGHT_TURN = NEGATIVE
 
const CGAL::Orientation COPLANAR = ZERO
 
const CGAL::Orientation DEGENERATE = ZERO
 
const CGAL::Null_vector NULL_VECTOR
 
const CGAL::Origin ORIGIN
 A symbolic constant which denotes the point at the origin. More...
 
template<typename RT >
Point_2< Homogeneous< RT > > cartesian_to_homogeneous (const Point_2< Cartesian< RT > > &cp)
 converts 2D point cp with Cartesian representation into a 2D point with homogeneous representation with the same number type. More...
 
template<typename RT >
Point_3< Homogeneous< RT > > cartesian_to_homogeneous (const Point_3< Cartesian< RT > > &cp)
 converts 3D point cp with Cartesian representation into a 3D point with homogeneous representation with the same number type. More...
 
template<typename FT >
Point_2< Cartesian< FT > > homogeneous_to_cartesian (const Point_2< Homogeneous< FT > > &hp)
 converts 2D point hp with homogeneous representation into a 2D point with Cartesian representation with the same number type. More...
 
template<typename FT >
Point_3< Cartesian< FT > > homogeneous_to_cartesian (const Point_3< Homogeneous< FT > > &hp)
 converts 3D point hp with homogeneous representation into a 3D point with Cartesian representation with the same number type. More...
 
template<typename RT >
Point_2< Cartesian< Quotient< RT > > > homogeneous_to_quotient_cartesian (const Point_2< Homogeneous< RT > > &hp)
 converts the 2D point hp with homogeneous representation with number type RT into a 2D point with Cartesian representation with number type Quotient<RT>. More...
 
template<typename RT >
Point_3< Cartesian< Quotient< RT > > > homogeneous_to_quotient_cartesian (const Point_3< Homogeneous< RT > > &hp)
 converts the 3D point hp with homogeneous representation with number type RT into a 3D point with Cartesian representation with number type Quotient<RT>. More...
 
template<typename RT >
Point_2< Homogeneous< RT > > quotient_cartesian_to_homogeneous (const Point_2< Cartesian< Quotient< RT > > > &cp)
 converts 2D point cp with Cartesian representation with number type Quotient<RT> into a 2D point with homogeneous representation with number type RT. More...
 
template<typename RT >
Point_3< Homogeneous< RT > > quotient_cartesian_to_homogeneous (const Point_3< Cartesian< Quotient< RT > > > &cp)
 converts 3D point cp with Cartesian representation with number type Quotient<RT> into a 3D point with homogeneous representation with number type RT. More...
 
bool do_intersect (Type1< CircularKernel > obj1, Type2< CircularKernel > obj2)
 checks whether obj1 and obj2 intersect. More...
 
template<typename Type1 , typename Type2 , typename OutputIterator >
OutputIterator intersection (const Type1 &obj1, const Type2 &obj2, OutputIterator intersections)
 Constructs the intersection elements between the two input objects and stores them in the OutputIterator in lexicographic order, where both, Type1 and Type2, can be either. More...
 

With the 2D Circular Kernel

See 2D Circular Geometry Kernel.

#include <CGAL/global_functions_circular_kernel_2.h>
template<typename CircularKernel >
Comparison_result compare_y_at_x (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Circular_arc_2< CircularKernel > &a)
 Same as above, for a point and a circular arc. More...
 
template<typename CircularKernel >
Comparison_result compare_y_at_x (const CGAL::Circular_arc_point_2< CircularKernel > &p, const CGAL::Line_arc_2< CircularKernel > &a)
 Same as above, for a point and a line segment. More...
 
bool do_intersect (Type1< SphericalKernel > obj1, Type2< SphericalKernel > obj2)
 checks whether obj1 and obj2 intersect. More...
 
bool do_intersect (Type1< SphericalKernel > obj1, Type2< SphericalKernel > obj2, Type3< SphericalKernel > obj3)
 checks whether obj1, obj2 and obj3 intersect. More...
 
template<typename SphericalType1 , typename SphericalType1 , typename OutputIterator >
OutputIterator intersection (const SphericalType1 &obj1, const SphericalType2 &obj2, OutputIterator intersections)
 Copies in the output iterator the intersection elements between the two objects. More...
 
template<typename Type1 , typename Type2 , typename Type3 , typename OutputIterator >
OutputIterator intersection (const Type1 &obj1, const Type2 &obj2, const Type3 &obj3, OutputIterator intersections)
 Copies in the output iterator the intersection elements between the three objects. More...