OSGeo FDO Provider for Raster API Reference

OSGeo FDO Provider for Raster API

API Reference OSGeo FDO Provider for Raster

FdoRfpRasterImageDefinition.h

Go to the documentation of this file.
00001 /*
00002  * (C) Copyright 2004 by Autodesk, Inc. All Rights Reserved.
00003  *
00004  * By using this code, you are agreeing to the terms and conditions of
00005  * the License Agreement included in the documentation for this code.
00006  *
00007  * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00008  * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00009  * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00010  * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00011  * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012  *
00013  * Use, duplication, or disclosure by the U.S. Government is subject
00014  * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00015  * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00016  * (Rights in Technical Data and Computer Software), as applicable.
00017  *
00018  */
00019 #ifndef FDORFPRASTERIMAGEDEFINITION_H
00020 #define FDORFPRASTERIMAGEDEFINITION_H
00021 
00022 #ifdef _WIN32
00023 #pragma once
00024 #endif //_WIN32
00025 
00026 class FdoRfpRasterExtents;
00027 class FdoRfpRasterGeoreferenceLocation;
00028 
00029 /// \brief
00030 ///  
00031 /// The FdoRfpRasterImageDefinition class defines a raster image which contains a name 
00032 /// and the extents of the raster image.
00033 class FdoRfpRasterImageDefinition : public FdoPhysicalElementMapping
00034 {
00035     typedef FdoPhysicalElementMapping BaseType;
00036     friend class FdoRfpRasterBandDefinition;
00037 
00038 public:
00039     /// \brief
00040     /// Constructs a new Raster Image Definition.
00041     /// 
00042     /// \return
00043     /// Returns the newly created FdoRfpRasterImageDefinition instance.
00044     /// 
00045     FDORFP_API static FdoRfpRasterImageDefinition* Create();
00046 
00047     /// \brief
00048     /// Gets the frame number of the raster image.
00049     /// 
00050     /// \return
00051     /// Returns the frame number of the raster image.
00052     /// 
00053     FDORFP_API FdoInt32 GetFrameNumber();
00054 
00055     /// \brief
00056     /// Sets the frame number of the raster image.
00057     /// 
00058     /// \param extents 
00059     /// Input the frame number of the raster image.
00060     /// 
00061     /// \return
00062     /// Returns nothing
00063     /// 
00064     FDORFP_API void SetFrameNumber(FdoInt32 frameNumber);
00065 
00066     /// \brief
00067     /// Gets the georeferenced location of the raster image.
00068     /// 
00069     /// \return
00070     /// Returns the georeferenced location of the raster image.
00071     /// 
00072     FDORFP_API FdoRfpRasterGeoreferenceLocation * GetGeoreferencedLocation();
00073 
00074     /// \brief
00075     /// Sets the georeferenced location of the raster image.
00076     /// 
00077     /// \param location 
00078     /// Input the georeferenced location of the raster image.
00079     /// 
00080     /// \return
00081     /// Returns nothing
00082     /// 
00083     FDORFP_API void SetGeoreferencedLocation (FdoRfpRasterGeoreferenceLocation * location);
00084 
00085     /// \brief
00086     /// Gets the geographic bounds of the raster image.
00087     /// 
00088     /// \return
00089     /// Returns the boundary of the raster image as an FDO byte array.
00090     /// 
00091     FDORFP_API FdoByteArray * GetBounds();
00092 
00093     /// \brief
00094     /// Sets the georeferenced bounds of the raster image.
00095     /// 
00096     /// \param location 
00097     /// Input the georeferenced boundary of the raster image.
00098     /// 
00099     /// \return
00100     /// Returns nothing
00101     /// 
00102     FDORFP_API void SetBounds (FdoByteArray* bounds);
00103 
00104 /// \cond DOXYGEN-IGNORE
00105 
00106     /// XML Serialization functions, not part of supported API.
00107     FDORFP_API virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00108     FDORFP_API virtual FdoXmlSaxHandler* XmlStartElement(
00109         FdoXmlSaxContext* context, 
00110         FdoString* uri, 
00111         FdoString* name, 
00112         FdoString* qname, 
00113         FdoXmlAttributeCollection* atts
00114     );
00115     FDORFP_API virtual FdoBoolean XmlEndElement(
00116         FdoXmlSaxContext* context, 
00117         FdoString* uri, 
00118         FdoString* name, 
00119         FdoString* qname
00120     );
00121     FDORFP_API virtual void XmlCharacters(FdoXmlSaxContext*, FdoString*);
00122     FDORFP_API void _writeXml( FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags );
00123 
00124 protected:
00125     FDORFP_API FdoRfpRasterImageDefinition(void);
00126     FDORFP_API virtual ~FdoRfpRasterImageDefinition(void);
00127     void Dispose(void);
00128 
00129 private:
00130     FdoInt32 m_state;
00131     FdoDouble *m_minX;
00132     FdoDouble *m_minY;
00133     FdoDouble *m_maxX;
00134     FdoDouble *m_maxY;
00135     FdoInt32 m_frameNumber;
00136     FdoPtr<FdoRfpRasterGeoreferenceLocation> m_geoReference;
00137 
00138 /// \endcond
00139 
00140 };
00141 
00142 /// \brief
00143 ///  FdoRfpRasterImageDefinitionP is a FdoPtr on FdoRfpRasterImageDefinition, provided for convenience. 
00144 typedef FdoPtr<FdoRfpRasterImageDefinition> FdoRfpRasterImageDefinitionP;
00145 
00146 #endif
00147 
00148 

Comments?