CGAL 5.1 - 2D and 3D Linear Geometry Kernel
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

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. More...
 
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. More...
 
const Kernel::FTsquared_radius () const
 returns the squared radius of c. More...
 
const Plane_3< Kernel > & supporting_plane () const
 returns the supporting plane of c. More...
 
const Sphere_3< Kernel > & diametral_sphere () const
 returns the diametral sphere of c. More...
 
Kernel::FT const & area_divided_by_pi () const
 returns the area of c, divided by \( \pi\). More...
 
double approximate_area () const
 returns an approximation of the area of c. More...
 
Kernel::FT squared_length_divided_by_pi_square () const
 returns the squared length of c, divided by \( \pi^2\). More...
 
double approximate_squared_length () const
 returns an approximation of the squared length (i.e. perimeter) of c. More...
 

Predicates

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

Operations

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

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.

Member Function Documentation

◆ approximate_area()

template<typename Kernel >
double CGAL::Circle_3< Kernel >::approximate_area ( ) const

returns an approximation of the area of c.

◆ approximate_squared_length()

template<typename Kernel >
double CGAL::Circle_3< Kernel >::approximate_squared_length ( ) const

returns an approximation of the squared length (i.e. perimeter) of c.

◆ area_divided_by_pi()

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

returns the area of c, divided by \( \pi\).

◆ bbox()

template<typename Kernel >
Bbox_3 CGAL::Circle_3< Kernel >::bbox ( ) const

returns a bounding box containing c.

◆ center()

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

returns the center of c.

◆ diametral_sphere()

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

returns the diametral sphere of c.

◆ has_on()

template<typename Kernel >
bool CGAL::Circle_3< Kernel >::has_on ( const Point_3< Kernel > &  p) const

◆ squared_length_divided_by_pi_square()

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

returns the squared length of c, divided by \( \pi^2\).

◆ squared_radius()

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

returns the squared radius of c.

◆ supporting_plane()

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

returns the supporting plane of c.

Friends And Related Function Documentation

◆ operator!=()

template<typename Kernel >
bool operator!= ( const Circle_3< Kernel > &  c1,
Circle_3< Kernel > const &  c2 
)
related

◆ operator==()

template<typename Kernel >
bool operator== ( const Circle_3< Kernel > &  c1,
Circle_3< Kernel > const &  c2 
)
related

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.