13 #ifndef ossimImageRenderer_HEADER 14 #define ossimImageRenderer_HEADER 74 const char* prefix=0)
const;
81 const char* prefix=0);
125 virtual void getPropertyNames(std::vector<ossimString>& propertyNames)
const;
161 UPPER_LEFT_SPLIT_FLAG = 1,
162 UPPER_RIGHT_SPLIT_FLAG = 2,
163 LOWER_RIGHT_SPLIT_FLAG = 4,
164 LOWER_LEFT_SPLIT_FLAG = 8,
165 SPLIT_ALL = UPPER_LEFT_SPLIT_FLAG|UPPER_RIGHT_SPLIT_FLAG|LOWER_RIGHT_SPLIT_FLAG|LOWER_LEFT_SPLIT_FLAG
170 return out <<
"vul: " << rhs.
m_Vul << endl
171 <<
"vur: " << rhs.
m_Vur << endl
172 <<
"vlr: " << rhs.
m_Vlr << endl
173 <<
"vll: " << rhs.
m_Vll << endl
174 <<
"iul: " << rhs.
m_Iul << endl
175 <<
"iur: " << rhs.
m_Iur << endl
176 <<
"ilr: " << rhs.
m_Ilr << endl
177 <<
"ill: " << rhs.
m_Ill << endl
189 bool imageHasNans()
const;
190 bool imageIsNan()
const;
191 bool viewHasNans()
const;
192 bool viewIsNan()
const;
194 void splitView(std::vector<ossimRendererSubRectInfo>& result)
const;
200 void transformViewToImage();
201 void transformImageToView();
203 void roundToInteger();
204 void stretchImageOut(
bool enableRound=
false);
207 void roundImageToInteger();
208 void roundViewToInteger();
210 bool isViewEqual(
const ossimDrect& viewRect)
const;
212 ossimDpt getAbsValueViewToImageScales()
const;
213 ossimDpt getAbsValueImageToViewScales()
const;
215 bool isViewAPoint()
const;
216 bool isIdentity()
const;
217 bool canBilinearInterpolate(
double error)
const;
222 void getViewMids(
ossimDpt& upperMid,
228 void getImageMids(
ossimDpt& upperMid,
263 void splitHorizontal(std::vector<ossimRendererSubRectInfo>& result)
const;
264 void splitVertical(std::vector<ossimRendererSubRectInfo>& result)
const;
265 void splitAll(std::vector<ossimRendererSubRectInfo>& result)
const;
286 void initializeBoundingRects();
291 void resampleTileToDecimation(T dummyVariable,
296 long computeClosestResLevel(
const std::vector<ossimDpt>& decimationFactors,
298 void stretchQuadOut(
const ossimDpt& amount,
346 :m_transform(transform),
370 m_transform(transform),
383 return ( m_Iul.hasNans()||
391 return ( m_Iul.hasNans()&&
399 return ( m_Vul.hasNans()||
407 return ( m_Vul.hasNans()&&
460 return ( (m_Vul == infoRect.
m_Vul)&&
461 (m_Vur == infoRect.
m_Vur)&&
462 (m_Vlr == infoRect.
m_Vlr)&&
463 (m_Vll == infoRect.
m_Vll));
468 return ( (m_Vul == viewRect.
ul())&&
469 (m_Vur == viewRect.
ur())&&
470 (m_Vlr == viewRect.
lr())&&
471 (m_Vll == viewRect.
ll()));
476 if(m_ViewToImageScale.hasNans())
478 return m_ImageToViewScale;
480 return ossimDpt(fabs(m_ViewToImageScale.x), fabs(m_ViewToImageScale.y));
485 if(m_ImageToViewScale.hasNans())
487 return m_ImageToViewScale;
490 return ossimDpt(fabs(m_ImageToViewScale.x), fabs(m_ImageToViewScale.y));
495 return ((m_Vul == m_Vur)&&
bool isViewEqual(const ossimRendererSubRectInfo &infoRect) const
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
virtual void setProperty(ossimRefPtr< ossimProperty > property)
ossimRefPtr< ossimImageViewTransform > m_transform
ossimRendererSubRectInfo(ossimImageViewTransform *transform=0)
virtual void connectInputEvent(ossimConnectionEvent &event)
ossimRefPtr< ossimImageData > m_Tile
bool isViewAPoint() const
ossimDpt m_ViewToImageScale
Represents serializable keyword/value map.
bool m_AutoUpdateInputTransform
ossimDpt getAbsValueImageToViewScales() const
const ossimDpt & ul() const
ossimPolyArea2d m_viewArea
virtual void disableSource()
ossim_uint32 m_StartingResLevel
This is going to allow us to chain multiple renderers together.
void roundImageToInteger()
virtual ossim_uint32 getNumberOfDecimationLevels() const
Will return the number of resolution levels.
unsigned short ossim_uint16
virtual ossimString getShortName() const
virtual void disconnectInputEvent(ossimConnectionEvent &event)
virtual void initialize()
ossimFilterResampler * m_Resampler
void roundViewToInteger()
ostream & operator<<(ostream &out, const ossimAxes &axes)
ossimRefPtr< ossimImageData > m_BlankTile
ossimRefPtr< ossimImageData > m_TemporaryBuffer
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossimDpt m_lrRoundTripError
virtual void getValidImageVertices(std::vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
ordering specifies how the vertices should be arranged.
unsigned int ossim_uint32
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 ossimString getLongName() const
ossimDpt m_ImageToViewScale
virtual void enableSource()
ossim_uint32 m_MaxLevelsToCompute
ossimDrect getImageRect() const
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if not defined...
virtual void setEnableFlag(bool flag)
ossimFilterResampler * getResampler()
ossimDpt m_llRoundTripError
virtual void propertyEvent(ossimPropertyEvent &event)
ossimImageViewTransform * getImageViewTransform()
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
const ossimDpt & ur() const
virtual bool setView(ossimObject *baseObject)=0
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimDpt getAbsValueViewToImageScales() const
virtual void setAutoUpdateInputTransformFlag(bool flag)
const ossimDpt & ll() const
virtual ossimObject * getView()=0
ossimRefPtr< ossimImageViewTransform > m_ImageViewTransform
ossimDpt m_urRoundTripError
ossimDrect getViewRect() const
virtual void refreshEvent(ossimRefreshEvent &event)
bool imageHasNans() const
const ossimDpt & lr() const
virtual void getDecimationFactor(ossim_uint32 resLevel, ossimDpt &result) const
Will return the decimation factor for the given resolution level.
ossimDpt m_ulRoundTripError
std::basic_ostream< char > ostream
Base class for char output streams.
ossim_uint32 m_MaxRecursionLevel
virtual void getDecimationFactors(std::vector< ossimDpt > &decimations) const
Will return an array of all decimations for each resolution level.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)
const ossimPolyArea2d * m_viewBounds