CGAL 4.13 - 2D and 3D Linear Geometry Kernel

## Functions

template<typename Kernel >
Angle CGAL::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.

template<typename Kernel >
Angle CGAL::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 CGAL::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 CGAL::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.

template<typename Kernel >
Angle CGAL::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).

template<typename Kernel >
Angle CGAL::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 CGAL::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.

template<typename Kernel >
Kernel::FT CGAL::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...

## ◆ angle() [1/3]

template<typename Kernel >
 Angle CGAL::angle ( const CGAL::Point_2< Kernel > & p, const CGAL::Point_2< Kernel > & q, const CGAL::Point_2< Kernel > & r )

#include <CGAL/Kernel/global_functions.h>

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).

The returned value is the same as angle(p - q, r - q).

## ◆ angle() [2/3]

template<typename Kernel >
 Angle CGAL::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 )

#include <CGAL/Kernel/global_functions.h>

returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors pq, rs.

The returned value is the same as angle(q - p, s - r).

## ◆ angle() [3/3]

template<typename Kernel >
 Angle CGAL::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 )

#include <CGAL/Kernel/global_functions.h>

returns CGAL::OBTUSE, CGAL::RIGHT or CGAL::ACUTE depending on the angle formed by the two vectors pq, rs.

The returned value is the same as angle(q - p, s - r).

## ◆ approximate_dihedral_angle()

template<typename Kernel >
 Kernel::FT CGAL::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 )

#include <CGAL/Kernel/global_functions.h>

returns an approximation of the signed dihedral angle in the tetrahedron pqrs of edge pq.

The sign is negative if orientation(p,q,r,s) is CGAL::NEGATIVE and positive otherwise. The angle is given in degrees.

Precondition
p,q,r and p,q,s are not collinear.