/* * NICE-Core - efficient algebra and computer vision methods * - libimage - An image/template for new NICE libraries * See file License for license information. */ #ifndef _ELLIPSE_IMAGE_H #define _ELLIPSE_IMAGE_H #include #include #include #include namespace NICE { /** * A Drawable ellipse. */ template class EllipseT : public Drawable

{ private: Coord center; Coord axis; float angle; protected: void doDraw(ColorImageT

&image, const ColorT

& color) const; void doDraw(ImageT

&image, const P& gray) const; public: //! Default constructor EllipseT(); /** Constructor * \param center center of the ellipse * \param axis axis of the ellipse * \param angle angle of the ellipse */ EllipseT(const Coord ¢er, const Coord &axis, float angle=0.0); /** Constructor * \param center center of the ellipse * \param axis axis of the ellipse * \param angle angle of the ellipse * \param _defaultColor color of the ellipse */ EllipseT(const Coord ¢er, const Coord &axis, float angle, const ColorT

& _defaultColor); //! Copy-Constructor /*! \param arg class to copy */ EllipseT(const EllipseT

& arg); //! Destructor of EllipseT virtual ~EllipseT(); //! Assignment operator /*! \param ex class to copy * \return a reference to this class */ EllipseT

& operator=(const EllipseT

& ex); //! Compare operator /*! \param ex class to compare * \return true if class content is equal */ bool operator==(const EllipseT

& ex) const; //! Compare operator /*! \param ex class to compare * \return true if class content is not equal */ bool operator!=(const EllipseT

& ex) const; }; typedef EllipseT Ellipse; } // namespace NICE //#ifdef __GNUC__ #include "core/image/EllipseT.tcc" //#endif #endif /* _ELLIPSE_IMAGE_H */