OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGeoAnnotationPolyObject.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: ossimGeoAnnotationPolyObject.h 19734 2011-06-06 23:45:36Z dburken $
10 #ifndef ossimGeoAnnotationPolyObject_HEADER
11 #define ossimGeoAnnotationPolyObject_HEADER
12 
13 #include <vector>
14 #include <ossim/base/ossimGpt.h>
17 
19 {
20 public:
22  {
23  OSSIM_POLY_EXTERIOR_RING = 0,
24  OSSIM_POLY_INTERIOR_RING = 1
25  };
26 
27  ossimGeoAnnotationPolyObject(bool enableFill = false,
28  ossim_uint8 r=255,
29  ossim_uint8 g=255,
30  ossim_uint8 b=255,
31  ossim_uint8 thickness=1);
32 
33  ossimGeoAnnotationPolyObject(const std::vector<ossimGpt>& groundPts,
34  bool enableFill = false,
35  ossim_uint8 r=255,
36  ossim_uint8 g=255,
37  ossim_uint8 b=255,
38  ossim_uint8 thickness=1);
39 
41 
42 
43  virtual ossimObject* dup()const;
44 
45  virtual void applyScale(double x, double y);
46 
47  virtual void transform(ossimImageGeometry* projection);
48 
49  virtual std::ostream& print(std::ostream& out)const;
50 
51  virtual void draw(ossimRgbImage& anImage)const;
52 
54  const ossimDrect& rect)const;
55 
56  virtual bool intersects(const ossimDrect& rect)const;
57 
58  virtual void getBoundingRect(ossimDrect& rect)const;
59 
60  virtual void computeBoundingRect();
61 
62  virtual const std::vector<ossimGpt>& getPolygon()const;
63  virtual void setPolygon(const std::vector<ossimGpt>& poly);
64 
65  virtual void setFillFlag(bool flag);
66 
67  virtual void setColor(ossim_uint8 r,
68  ossim_uint8 g,
69  ossim_uint8 b);
70 
71  virtual void setThickness(ossim_uint8 thickness);
72 
76  virtual bool saveState(ossimKeywordlist& kwl,
77  const char* prefix=0)const;
78 
83  virtual bool loadState(const ossimKeywordlist& kwl,
84  const char* prefix=0);
85 
86  virtual std::vector<ossimGpt> getPoints() { return thePolygon; }
87 
88  virtual ossimPolyType getPolyType () { return m_PolyType; }
89 
90  virtual void setPolyType(ossimPolyType polyType) { m_PolyType = polyType; }
91 
92 protected:
94 
95  std::vector<ossimGpt> thePolygon;
98 
100 };
101 
102 #endif
ossim_uint32 x
virtual std::vector< ossimGpt > getPoints()
virtual void draw(ossimRgbImage &anImage) const =0
#define OSSIMDLLEXPORT
virtual void setThickness(ossim_uint8 thickness)
virtual bool intersects(const ossimDrect &rect) const =0
Represents serializable keyword/value map.
ossim_uint32 y
virtual ossimAnnotationObject * getNewClippedObject(const ossimDrect &rect) const =0
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Saves the current state of this object.
virtual void transform(ossimImageGeometry *projection)=0
ossimRefPtr< ossimAnnotationPolyObject > theProjectedPolyObject
virtual std::ostream & print(std::ostream &out) const
Generic print method.
virtual void setPolyType(ossimPolyType polyType)
virtual ossimDrect getBoundingRect() const
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual void setColor(ossim_uint8 r, ossim_uint8 g, ossim_uint8 b)
virtual void applyScale(double x, double y)=0
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
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