OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGeoAnnotationMultiPolyLineObject.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: See LICENSE.txt file in the top level directory.
5 //
6 // Author: Garrett Potts
7 //
8 //*************************************************************************
9 // $Id: ossimGeoAnnotationMultiPolyLineObject.h 15766 2009-10-20 12:37:09Z gpotts $
10 #ifndef ossimGeoAnnotationMultiPolyLineObject_HEADER
11 #define ossimGeoAnnotationMultiPolyLineObject_HEADER
12 
16 #include <ossim/base/ossimIpt.h>
18 
19 class ossimDatum;
20 
22 {
23 public:
25  ossimGeoAnnotationMultiPolyLineObject(const vector<ossimPolyLine>& multiPolyLine,
26  ossim_uint8 r=255,
27  ossim_uint8 g=255,
28  ossim_uint8 b=255,
29  ossim_uint8 thickness=1);
30 
32  virtual ossimObject* dup()const;
33 
34  virtual void transform(ossimImageGeometry* projection);
35 
36  virtual void applyScale(double x, double y);
37  virtual void draw(ossimRgbImage& anImage)const;
38  virtual bool intersects(const ossimDrect& rect)const;
39 
40  virtual ossimAnnotationObject* getNewClippedObject(const ossimDrect& rect)const;
41  virtual std::ostream& print(std::ostream& out)const;
42  virtual void getBoundingRect(ossimDrect& rect)const;
43  virtual void addPoint(ossim_uint32 polygonIndex,
44  const ossimGpt& pt);
45 
46  virtual void setMultiPolyLine(const vector<ossimPolyLine>& multiPoly);
47 
48  virtual void computeBoundingRect();
49 
50  virtual bool isPointWithin(const ossimDpt& imagePoint)const;
51 
52  virtual void setColor(ossim_uint8 r,
53  ossim_uint8 g,
54  ossim_uint8 b);
55 
56  virtual void setThickness(ossim_uint8 thickness);
57 
58  void setDatum(const ossimDatum* datum);
59 
60  const ossimDatum* getDatum()const;
61 
62  const std::vector<ossimPolyLine>& getMultiPolyLine()const;
63 
64  std::vector<ossimPolyLine>& getMultiPolyLine();
65 
69  virtual bool saveState(ossimKeywordlist& kwl,
70  const char* prefix=0)const;
71 
76  virtual bool loadState(const ossimKeywordlist& kwl,
77  const char* prefix=0);
78 
79 protected:
81 
82  std::vector<ossimPolyLine> theMultiPolyLine;
86 
87  void allocateProjectedPolyLine();
88 
90 };
91 
92 #endif
ossim_uint32 x
virtual void draw(ossimRgbImage &anImage) const =0
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
virtual std::ostream & print(std::ostream &out) const
Generic print method.
ossimRefPtr< ossimAnnotationMultiPolyLineObject > theProjectedPolyLineObject
virtual ossimDrect getBoundingRect() const
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
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.
#define OSSIM_DLL
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