\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0 - 2D and 3D Linear Geometry Kernel
CGAL::Circle_3< Kernel > Class Template Reference

#include <CGAL/Circle_3.h>

Definition

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

Related Functions

(Note that these are not member functions.)

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. More...
 
 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. More...
 
 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. More...
 
 Circle_3 (const Sphere_3< Kernel > &sphere1, const Sphere_3< Kernel > &sphere2)
 introduces a variable c of type Circle_3. More...
 
 Circle_3 (constSphere_3< Kernel > &sphere, const Plane_3< Kernel > &plane)
 introduces a variable c of type Circle_3. More...
 
 Circle_3 (const Plane_3< Kernel > &plane, const Sphere_3< Kernel > &sphere)
 introduces a variable c of type Circle_3. More...
 

Access Functions

const Point_3< Kernel > & center () const
 returns the center of c.
 
const Kernel::FTsquared_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 \( \geq\) 0.

◆ 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 \( \geq\) 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 ( constSphere_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.