OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimTilingPoly.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Mingjie Su
8 //
9 // Description: implementation for image generator
10 //
11 //*************************************************************************
12 // $Id: ossimTilingPoly.h 2725 2011-06-15 18:13:07Z david.burken $
13 #ifndef ossimTilingPoly_HEADER
14 #define ossimTilingPoly_HEADER 1
15 
17 #include <ossim/base/ossimRefPtr.h>
19 
21 {
22 public:
23 
25 
26  virtual ~ossimTilingPoly();
27 
28  virtual bool initialize(const ossimMapProjection& proj,
29  const ossimIrect& boundingRect);
30 
31  virtual bool next(ossimRefPtr<ossimMapProjection>& resultProjection,
32  ossimIrect& resultingBounds,
33  ossimString& resultingName);
34 
35  virtual bool saveState(ossimKeywordlist& kwl,
36  const char* prefix=0)const;
37 
38  virtual bool loadState(const ossimKeywordlist& kwl,
39  const char* prefix=0);
40 
41  bool useMbr() const;
42 
44  bool hasExteriorCut() const;
45 
47  bool hasInteriorCut() const;
48 
49  ossimRefPtr<ossimGeoPolyCutter>& getExteriorCut();
50 
51  ossimRefPtr<ossimGeoPolyCutter>& getInteriorCut();
52 
53  bool isFeatureBoundingIntersect() const;
54 
55 protected:
56 
58  {
60  ossim_int32 polyType,
61  std::vector<ossimGpt> polygon,
62  std::vector<ossimGeoPolygon> multiPolys)
63 
64  :m_fid(fid),
65  m_polyType(polyType),
66  m_polygon(polygon),
67  m_multiPolys(multiPolys)
68  {}
69 
72  std::vector<ossimGpt> m_polygon;
73  std::vector<ossimGeoPolygon> m_multiPolys;
74  };
75 
76  bool parseShpFile();
77 
78  bool nextFeature();
79 
80  void setRect();
81 
83  bool m_useMbr;
85 
88 
89  std::vector<ossimShpFeature> m_features;
91 
93 };
94 
95 #endif
96 
virtual bool next(ossimRefPtr< ossimMapProjection > &resultProjection, ossimIrect &resultingBounds, ossimString &resultingName)
Represents serializable keyword/value map.
std::vector< ossimShpFeature > m_features
ossimRefPtr< ossimGeoPolyCutter > m_exteriorCut
double ossim_float64
ossimShpFeature(ossim_int32 fid, ossim_int32 polyType, std::vector< ossimGpt > polygon, std::vector< ossimGeoPolygon > multiPolys)
virtual bool initialize(const ossimMapProjection &proj, const ossimIrect &boundingRect)
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimFilename m_shpFilename
bool m_featureBoundingIntersect
ossim_float64 m_bufferDistance
std::vector< ossimGpt > m_polygon
ossimRefPtr< ossimGeoPolyCutter > m_interiorCut
#define OSSIM_DLL
std::vector< ossimGeoPolygon > m_multiPolys
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
int ossim_int32