OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimAnnotationObject.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: ossimAnnotationObject.h 23239 2015-04-08 01:02:44Z gpotts $
10 #ifndef ossimAnnotationObject_HEADER
11 #define ossimAnnotationObject_HEADER
12 #include <iostream>
13 
14 #include <ossim/base/ossimObject.h>
15 #include <ossim/base/ossimCommon.h>
16 #include <ossim/base/ossimDrect.h>
19 #include <ossim/base/ossimString.h>
20 
22 {
23 public:
24  virtual ~ossimAnnotationObject();
26  ossim_uint8 g=255,
27  ossim_uint8 b=255,
28  ossim_uint8 thickness=1);
29  virtual void applyScale(double x,
30  double y)=0;
31  virtual void applyScale(const ossimDpt& scale);
32 
33  virtual std::ostream& print(std::ostream& out)const;
34 
35  virtual void draw(ossimRgbImage& anImage)const=0;
36  virtual bool intersects(const ossimDrect& rect)const=0;
37 
44  virtual ossimAnnotationObject* getNewClippedObject(const ossimDrect& rect)const=0;
45 
46  virtual void getBoundingRect(ossimDrect& rect)const=0;
47  virtual ossimDrect getBoundingRect()const;
48 
49  virtual void computeBoundingRect()=0;
50 
51  virtual void setColor(ossim_uint8 r,
52  ossim_uint8 g,
53  ossim_uint8 b);
54 
55  void getColor(ossim_uint8 &r,
56  ossim_uint8 &g,
57  ossim_uint8 &b)const;
58 
59  ossim_uint8 getThickness()const;
60  virtual void setThickness(ossim_uint8 thickness);
61 
68  virtual bool isPointWithin(const ossimDpt& imagePoint) const;
69 
73  virtual bool saveState(ossimKeywordlist& kwl,
74  const char* prefix=0)const;
75 
80  virtual bool loadState(const ossimKeywordlist& kwl,
81  const char* prefix=0);
82 
83  virtual ossimString getName() const;
84  virtual void setName(const ossimString& name);
85 
86  ossim_uint32 getId()const;
87  virtual ossim_uint32 setId();
88 
89  static ossim_uint32 getNextId();
90  static void restIdCounter();
91 
92 protected:
97 
100 
102 TYPE_DATA
103 };
104 
105 #endif
ossim_uint32 x
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
ossim_uint32 y
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Definition: ossimObject.cpp:95
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static ossim_uint32 theIdCounter
virtual std::ostream & print(std::ostream &out) const
Generic print method.
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23