OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimTilePatch.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Garrett Potts
9 //
10 //*******************************************************************
11 // $Id: ossimTilePatch.h 15766 2009-10-20 12:37:09Z gpotts $
12 
13 #ifndef ossimTilePatch_HEADER
14 #define ossimTilePatch_HEADER
15 #include <ossim/base/ossimObject.h>
16 #include <ossim/base/ossimRefPtr.h>
17 #include <ossim/base/ossimIrect.h>
18 #include <ossim/base/ossimDrect.h>
21 
22 class ossimImageSource;
23 
25 {
26 public:
33  long numberOfComponents = 1,
34  long width=128,
35  long height=128);
36 
41  virtual ossimIrect getRect()const;
42 
47  virtual void setRect(const ossimDpt &p1,
48  const ossimDpt &p2,
49  const ossimDpt &p3,
50  const ossimDpt &p4,
51  const ossimDpt &tile_size,
52  const ossimDpt &padding=ossimDpt(0,0));
53 
54  virtual void setRect(const ossimDrect &aRect,
55  const ossimDpt &tile_size,
56  const ossimDpt &padding=ossimDpt(0,0));
57 
58  virtual void setRect(const ossimDpt &center_of_rect,
59  const ossimDpt &rect_size,
60  const ossimDpt &tile_size,
61  const ossimDpt &padding=ossimDpt(0,0));
62 
66  virtual void fillTile(ossimRefPtr<ossimImageData>& aTile)const;
67 
73  virtual void fillTile(ossimRefPtr<ossimImageData>& result,
74  ossimDiscreteConvolutionKernel* kernel)const;
75 
80  virtual void fillTile(ossimRefPtr<ossimImageData>& result,
81  const ossimDpt &ul,
82  const ossimDpt &ur,
83  const ossimDpt &deltaUl,
84  const ossimDpt &deltaUr,
85  const ossimDpt &length)const;
86 
87 
88  virtual void fillPatch(ossimImageSource *imageSource,
89  long resLevel = 0);
90 
91 
92 
93 // static ossimIrect alignRectToBoundary(const ossimDrect &aRect,
94 // const ossimDpt &tile_size);
95  static ossimDrect findBoundingRect(const ossimDpt &p1,
96  const ossimDpt &p2,
97  const ossimDpt &p3,
98  const ossimDpt &p4);
104 
105  void setData(ossimRefPtr<ossimImageData>& patchData);
112 
113 protected:
114  virtual ~ossimTilePatch();
115 
118 
119 
120 
121  template<class T>
122  void fillTileTemplate(T dummyVariable,
124  const ossimDpt &ul,
125  const ossimDpt &ur,
126  const ossimDpt &deltaUl,
127  const ossimDpt &deltaUr,
128  const ossimDpt &length)const;
129 
130  template<class T>
131  void fillTileTemplate(T dummyVariable,
133  ossimDiscreteConvolutionKernel* kernel)const;
134 };
135 
136 #endif
virtual void fillPatch(ossimImageSource *imageSource, long resLevel=0)
void setData(ossimRefPtr< ossimImageData > &patchData)
static ossimDiscreteNearestNeighbor nearestNeighborKernel
ossimRefPtr< ossimImageData > getData()
virtual ossimIrect getRect() const
ossimRefPtr< ossimImageData > thePatchData
virtual void fillTile(ossimRefPtr< ossimImageData > &aTile) const
void convolve(ossimDiscreteConvolutionKernel *kernel)
void fillTileTemplate(T dummyVariable, ossimRefPtr< ossimImageData > &result, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &deltaUl, const ossimDpt &deltaUr, const ossimDpt &length) const
static ossimDrect findBoundingRect(const ossimDpt &p1, const ossimDpt &p2, const ossimDpt &p3, const ossimDpt &p4)
virtual void setRect(const ossimDpt &p1, const ossimDpt &p2, const ossimDpt &p3, const ossimDpt &p4, const ossimDpt &tile_size, const ossimDpt &padding=ossimDpt(0, 0))
ossimScalarType
virtual ~ossimTilePatch()
ossimTilePatch(ossimImageSource *input)
8 bit unsigned iteger