#include <Circle.hpp>
Public Member Functions | |
Circle (const ublas::fixed_vector< float_t, 2 > ¢er, float_t radius) | |
Circle (const Circle &source) | |
const Circle & | operator= (const Circle &source) |
virtual std::auto_ptr < BoundaryDiscretizer< 2 > > | boundary_discretizer (size_t n_points) const |
void | set_center (const ublas::fixed_vector< float_t, 2 > ¢er) |
void | set_radius (float_t radius) |
const ublas::fixed_vector < float_t, 2 > & | center () const |
float_t | radius () const |
void | exponential (const ublas::vector< float_t > &vector, ShapeInterface &shape) const |
void | logarithm (const ShapeInterface &shape, ublas::vector< float_t > &vector) const |
size_t | dimension () const |
Static Public Attributes | |
static const size_t | SHAPE_DIMENSION = 2 |
This class implements circular shapes in the plane.
imaging::Circle::Circle | ( | const ublas::fixed_vector< float_t, 2 > & | center, | |
float_t | radius | |||
) | [inline] |
Construct a circle from center and radius.
imaging::Circle::Circle | ( | const Circle & | source | ) | [inline] |
Copy constructor.
std::auto_ptr< BoundaryDiscretizer< 2 > > imaging::Circle::boundary_discretizer | ( | size_t | n_points | ) | const [virtual] |
Returns a boundary discretizer for this shape.
Implements imaging::DiscretizableShapeInterface< 2 >.
void imaging::Circle::set_center | ( | const ublas::fixed_vector< float_t, 2 > & | center | ) |
Sets the center of the circle.
void imaging::Circle::set_radius | ( | float_t | radius | ) |
Sets the radius of the circle.
const ublas::fixed_vector<float_t, 2>& imaging::Circle::center | ( | ) | const [inline] |
Returns the center.
Referenced by imaging::operator<<().
float_t imaging::Circle::radius | ( | ) | const [inline] |
Returns the radius.
Referenced by imaging::operator<<().
void imaging::Circle::exponential | ( | const ublas::vector< float_t > & | vector, | |
ShapeInterface & | shape | |||
) | const [virtual] |
Computes the Riemannian exponential of vector with respect to *this and stores the result in shape. In other words, shape is the projection of the tangent vector vector in the tangent space at the *this shape on the shape manifold.
Implements imaging::ShapeInterface.
void imaging::Circle::logarithm | ( | const ShapeInterface & | shape, | |
ublas::vector< float_t > & | vector | |||
) | const [virtual] |
Computes the Riemannian logarithm of shape with respect to *this and stores the result in vector. In other words, vector is the projection of shape on the tangent space at the *this shape on the shape manifold.
Implements imaging::ShapeInterface.
size_t imaging::Circle::dimension | ( | ) | const [inline, virtual] |
Returns the parametric dimension of the shape object. This is the same as the dimension of the shape manifold the shape belongs to. It should not be confused with the spatial dimension N.
Implements imaging::ShapeInterface.
const size_t imaging::Circle::SHAPE_DIMENSION = 2 [static] |
The spatial dimension of the shape class. N is 2 for planar shapes and 3 for volumes.
Reimplemented from imaging::DiscretizableShapeInterface< 2 >.