CGAL 6.1.3 - 2D and 3D Linear Geometry Kernel
Loading...
Searching...
No Matches
CGAL::Circle_3< Kernel > Class Template Reference

#include <CGAL/Circle_3.h>

Definition

template<typename Kernel>
class CGAL::Circle_3< Kernel >

An object c of type Circle_3 is a circle in the three-dimensional Euclidean space \( \E^3\).

Note that the circle can be degenerate, i.e. the squared radius may be zero.

Is model of
Kernel::Circle_3

(Note that these are not member symbols.)

bool operator== (const Circle_3< Kernel > &c1, Circle_3< Kernel > const &c2)
 returns true, iff c1 and c2 are equal, i.e. if they have the same center, the same squared radius and the same supporting plane.
bool operator!= (const Circle_3< Kernel > &c1, Circle_3< Kernel > const &c2)

Creation

 Circle_3 (const Point_3< Kernel > &center, const Kernel::FT &sq_r, const Plane_3< Kernel > &plane)
 introduces a variable c of type Circle_3.
 Circle_3 (const Point_3< Kernel > &center, const Kernel::FT &sq_r, const Vector_3< Kernel > &n)
 introduces a variable c of type Circle_3.
 Circle_3 (const Point_3< Kernel > &p, const Point_3< Kernel > &q, const Point_3< Kernel > &r)
 introduces a variable c of type Circle_3.
 Circle_3 (const Sphere_3< Kernel > &sphere1, const Sphere_3< Kernel > &sphere2)
 introduces a variable c of type Circle_3.
 Circle_3 (const Sphere_3< Kernel > &sphere, const Plane_3< Kernel > &plane)
 introduces a variable c of type Circle_3.
 Circle_3 (const Plane_3< Kernel > &plane, const Sphere_3< Kernel > &sphere)
 introduces a variable c of type Circle_3.

Access Functions

const Point_3< Kernel > & center () const
 returns the center of c.
const Kernel::FT & squared_radius () const
 returns the squared radius of c.
const Plane_3< Kernel > & supporting_plane () const
 returns the supporting plane of c.
const Sphere_3< Kernel > & diametral_sphere () const
 returns the diametral sphere of c.
Kernel::FT const & area_divided_by_pi () const
 returns the area of c, divided by \( \pi\).
double approximate_area () const
 returns an approximation of the area of c.
Kernel::FT squared_length_divided_by_pi_square () const
 returns the squared length of c, divided by \( \pi^2\).
double approximate_squared_length () const
 returns an approximation of the squared length (i.e. perimeter) of c.

Predicates

bool has_on (const Point_3< Kernel > &p) const

Operations

Bbox_3 bbox () const
 returns a bounding box containing c.

Constructor & Destructor Documentation

◆ Circle_3() [1/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Point_3< Kernel > & center,
const Kernel::FT & sq_r,
const Plane_3< Kernel > & plane )

introduces a variable c of type Circle_3.

It is initialized to the circle of center center and squared radius sq_r in plane plane.

Precondition
center lies in plane and sq_r >= 0.
Exactness
This construction is trivial and therefore always exact in Exact_predicates_inexact_constructions_kernel.

◆ Circle_3() [2/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Point_3< Kernel > & center,
const Kernel::FT & sq_r,
const Vector_3< Kernel > & n )

introduces a variable c of type Circle_3.

It is initialized to the circle of center center and squared radius sq_r in a plane normal to the vector n.

Precondition
sq_r >= 0.

◆ Circle_3() [3/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Point_3< Kernel > & p,
const Point_3< Kernel > & q,
const Point_3< Kernel > & r )

introduces a variable c of type Circle_3.

It is initialized to the circle passing through the three points.

Precondition
The three points are not collinear.

◆ Circle_3() [4/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Sphere_3< Kernel > & sphere1,
const Sphere_3< Kernel > & sphere2 )

introduces a variable c of type Circle_3.

It is initialized to the circle along which the two spheres intersect.

Precondition
The two spheres intersect along a circle.

◆ Circle_3() [5/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Sphere_3< Kernel > & sphere,
const Plane_3< Kernel > & plane )

introduces a variable c of type Circle_3.

It is initialized to the circle along which the sphere and the plane intersect.

Precondition
The sphere and the plane intersect along a circle.

◆ Circle_3() [6/6]

template<typename Kernel>
CGAL::Circle_3< Kernel >::Circle_3 ( const Plane_3< Kernel > & plane,
const Sphere_3< Kernel > & sphere )

introduces a variable c of type Circle_3.

It is initialized to the circle along which the sphere and the plane intersect.

Precondition
The sphere and the plane intersect along a circle.

Member Function Documentation

◆ center()

template<typename Kernel>
const Point_3< Kernel > & CGAL::Circle_3< Kernel >::center ( ) const

returns the center of c.

Exactness
This construction is trivial and therefore always exact in Exact_predicates_inexact_constructions_kernel.

◆ diametral_sphere()

template<typename Kernel>
const Sphere_3< Kernel > & CGAL::Circle_3< Kernel >::diametral_sphere ( ) const

returns the diametral sphere of c.

Exactness
This construction is trivial and therefore always exact in Exact_predicates_inexact_constructions_kernel.

◆ squared_radius()

template<typename Kernel>
const Kernel::FT & CGAL::Circle_3< Kernel >::squared_radius ( ) const

returns the squared radius of c.

Exactness
This construction is trivial and therefore always exact in Exact_predicates_inexact_constructions_kernel.

◆ supporting_plane()

template<typename Kernel>
const Plane_3< Kernel > & CGAL::Circle_3< Kernel >::supporting_plane ( ) const

returns the supporting plane of c.

Exactness
This construction is trivial and therefore always exact in Exact_predicates_inexact_constructions_kernel.