/* * NICE-Core - efficient algebra and computer vision methods * - libimage - An image/template for new NICE libraries * See file License for license information. */ #ifndef _CROSS_IMAGE_H #define _CROSS_IMAGE_H #include #include #include #include namespace NICE { /** * A Drawabele cross with lines parallel to coordinate axes / image borders * or 45° diagonal. */ template class CrossT : public Drawable

{ private: Coord center; unsigned int halfWidth; bool diagonal; protected: void doDraw(ColorImageT

&image, const ColorT

& color) const; void doDraw(ImageT

&image, const P& gray) const; public: //! Default constructor inline CrossT() {} CrossT(const Coord &_center, const unsigned int _halfWidth, bool _diagonal = false); CrossT(const Coord &_center, const unsigned int _halfWidth, bool _diagonal, const ColorT

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

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

& operator=(const CrossT

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

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

& ex) const; }; typedef CrossT Cross; } // namespace NICE //#ifdef __GNUC__ #include "core/image/CrossT.tcc" //#endif #endif /* _CROSS_IMAGE_H */