imaging::Circle Class Reference
[Shape Module]

Class for circles in the plane. More...

#include <Circle.hpp>

Inheritance diagram for imaging::Circle:

imaging::ShapeInterface imaging::DiscretizableShapeInterface< 2 >

List of all members.

Public Member Functions

 Circle (const ublas::fixed_vector< float_t, 2 > &center, float_t radius)
 Circle (const Circle &source)
const Circleoperator= (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 > &center)
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


Detailed Description

Class for circles in the plane.

This class implements circular shapes in the plane.


Constructor & Destructor Documentation

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.


Member Function Documentation

const Circle & imaging::Circle::operator= ( const Circle source  ) 

Copy assignement.

References _center, and _radius.

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.

References _center, and _radius.

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.

References _center, and _radius.

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.


Member Data Documentation

The spatial dimension of the shape class. N is 2 for planar shapes and 3 for volumes.

Reimplemented from imaging::DiscretizableShapeInterface< 2 >.


The documentation for this class was generated from the following files:

Generated on Tue Feb 10 10:01:31 2009 for imaging2 by  doxygen 1.5.5