//******************************************************************* // // License: See top level LICENSE.txt file. // // Author: Garrett Potts // //************************************************************************* // $Id: ossimAnnotationMultiEllipseObject.h 23239 2015-04-08 01:02:44Z gpotts $ #ifndef ossimAnnotationMultiEllipseObject_HEADER #define ossimAnnotationMultiEllipseObject_HEADER #include #include class OSSIMDLLEXPORT ossimAnnotationMultiEllipseObject : public ossimAnnotationObject { public: ossimAnnotationMultiEllipseObject(const std::vector& pointList, const ossimDpt& widthHeight = ossimDpt(1,1), bool enableFill = false, unsigned char r = 255, unsigned char g = 255, unsigned char b = 255, long thickness = 1); ossimAnnotationMultiEllipseObject(const ossimDpt& widthHeight = ossimDpt(1,1), bool enableFill = false, unsigned char r = 255, unsigned char g = 255, unsigned char b = 255, long thickness = 1); ossimAnnotationMultiEllipseObject(const ossimAnnotationMultiEllipseObject& rhs); virtual ~ossimAnnotationMultiEllipseObject(); ossimObject* dup()const; virtual ossimAnnotationObject* getNewClippedObject(const ossimDrect& rect)const; virtual void applyScale(double x, double y); virtual void draw(ossimRgbImage& anImage)const; virtual bool intersects(const ossimDrect& rect)const; virtual std::ostream& print(std::ostream& out)const; virtual void getBoundingRect(ossimDrect& rect)const; virtual void computeBoundingRect(); /*! */ virtual bool isPointWithin(const ossimDpt& imagePoint)const; void setFillFlag(bool flag); void resize(ossim_uint32 size); virtual void setWidthHeight(const ossimDpt& widthHeight); ossimDpt& operator[](int i); const ossimDpt& operator[](int i)const; protected: std::vector thePointList; ossimDpt theWidthHeight; bool theFillFlag; ossimDrect theBoundingRect; }; #endif