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

{ private: bool steep; Coord begin; Coord end; protected: void doDraw(ColorImageT

&image, const ColorT

& color) const; void doDraw(ImageT

&image, const P& gray) const; public: //! Default constructor inline LineT() {} //! Constructor /** \param begin begin of the line * \param end end of the line */ LineT(const Coord &begin, const Coord &end); //! Constructor /** \param begin begin of the line * \param end end of the line * \param _defaultColor color of the line */ LineT(const Coord &begin, const Coord &end, const ColorT

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

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

& operator=(const LineT

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

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

& ex) const; }; typedef LineT Line; } // namespace NICE #ifdef __GNUC__ #include "core/image/LineT.tcc" #endif #endif /* _LINE_IMAGE_H */