#include <BsplineShape.hpp>
Public Member Functions | |
BsplineShape (const BsplineShape &source) | |
BsplineShape (const PeriodicBspline< ublas::fixed_vector< float_t, 2 > > &curve) | |
const BsplineShape & | operator= (const BsplineShape &source) |
virtual std::auto_ptr < BoundaryDiscretizer< 2 > > | boundary_discretizer (size_t n_points) 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 |
const PeriodicBspline < ublas::fixed_vector< float_t, 2 > > & | curve () const |
Static Public Attributes | |
static const size_t | SHAPE_DIMENSION = 2 |
This class implements shapes in the plane which are determined by a B-spline boundary curve.
imaging::BsplineShape::BsplineShape | ( | const BsplineShape & | source | ) | [inline] |
Copy constructor.
imaging::BsplineShape::BsplineShape | ( | const PeriodicBspline< ublas::fixed_vector< float_t, 2 > > & | curve | ) | [inline] |
Constructs a B-spline shape from the a B-spline curve.
const BsplineShape& imaging::BsplineShape::operator= | ( | const BsplineShape & | source | ) | [inline] |
Copy assignement.
References _curve.
std::auto_ptr< BoundaryDiscretizer< 2 > > imaging::BsplineShape::boundary_discretizer | ( | size_t | n_points | ) | const [virtual] |
Returns a boundary discretizer for this shape.
Implements imaging::DiscretizableShapeInterface< 2 >.
void imaging::BsplineShape::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 _curve.
void imaging::BsplineShape::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 _curve.
size_t imaging::BsplineShape::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 PeriodicBspline< ublas::fixed_vector<float_t, 2> >& imaging::BsplineShape::curve | ( | ) | const [inline] |
Returns the boundary curve of the shape.
Referenced by imaging::operator<<().
const size_t imaging::BsplineShape::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 >.