OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimAnnotationPolyObject.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: See top level LICENSE.txt file.
5 //
6 // Author: Garrett Potts
7 //
8 //*************************************************************************
9 // $Id: ossimAnnotationPolyObject.h 15766 2009-10-20 12:37:09Z gpotts $
10 #ifndef ossimAnnotationPolyObject_HEADER
11 #define ossimAnnotationPolyObject_HEADER
12 
14 #include <ossim/base/ossimIpt.h>
16 
18 {
19 public:
20  ossimAnnotationPolyObject(bool enableFill = false,
21  ossim_uint8 r=255,
22  ossim_uint8 g=255,
23  ossim_uint8 b=255,
24  ossim_uint8 thickness=1);
25 
26  ossimAnnotationPolyObject(const vector<ossimDpt>& imagePts,
27  bool enableFill = false,
28  ossim_uint8 r=255,
29  ossim_uint8 g=255,
30  ossim_uint8 b=255,
31  ossim_uint8 thickness=1);
32 
34 
35  ossimObject* dup()const;
36 
37 
38  virtual void applyScale(double x, double y);
39 
40  virtual void draw(ossimRgbImage& anImage)const;
41 
42  virtual bool intersects(const ossimDrect& rect)const;
43 
45  const ossimDrect& rect)const;
46 
47  virtual std::ostream& print(std::ostream& out)const;
48 
49  virtual void getBoundingRect(ossimDrect& rect)const;
50 
51  virtual void addPoint(const ossimDpt& pt);
52 
53  virtual void setPolygon(const vector<ossimDpt>& imagePoints);
54 
55  virtual void setPolygon(const ossimPolygon& polygon);
56 
57  virtual void setPolygon(const ossimIrect& rect);
58 
59  virtual void setPolygon(const ossimDrect& rect);
60 
61  virtual void computeBoundingRect();
62 
63  virtual bool isPointWithin(const ossimDpt& imagePoint)const;
64 
65  const ossimPolygon& getPolygon()const;
66 
67  ossimPolygon& getPolygon();
68 
69  virtual void setFillFlag(bool flag);
70 
71 protected:
72  virtual ~ossimAnnotationPolyObject();
76 
78 };
79 
80 #endif
ossim_uint32 x
virtual void draw(ossimRgbImage &anImage) const =0
#define OSSIMDLLEXPORT
virtual bool intersects(const ossimDrect &rect) const =0
ossim_uint32 y
virtual ossimAnnotationObject * getNewClippedObject(const ossimDrect &rect) const =0
virtual std::ostream & print(std::ostream &out) const
Generic print method.
virtual ossimDrect getBoundingRect() const
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void applyScale(double x, double y)=0
virtual bool isPointWithin(const ossimDpt &imagePoint) const
virtual ossimObject * dup() const
Definition: ossimObject.cpp:29
virtual void computeBoundingRect()=0
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23