OSGeo FDO Provider for Raster API Reference

OSGeo FDO Provider for Raster API

API Reference OSGeo FDO Provider for Raster

FdoRfpRasterBandDefinition.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 FDORFPRASTERBANDDEFINITION_H
00020 #define FDORFPRASTERBANDDEFINITION_H
00021 
00022 #ifdef _WIN32
00023 #pragma once
00024 #endif //_WIN32
00025 
00026 class FdoRfpRasterExtents;
00027 class FdoRfpRasterFeatureDefinition;
00028 class FdoRfpRasterImageDefinition;
00029 
00030 /// \brief
00031 ///  
00032 /// The FdoRfpRasterBandDefinition class defines a raster band which contains a name 
00033 /// and the extents of the raster band.
00034 class FdoRfpRasterBandDefinition : public FdoPhysicalElementMapping
00035 {
00036     typedef FdoPhysicalElementMapping BaseType;
00037 
00038 public:
00039     /// \brief
00040     /// Constructs a new Raster Band Definition.
00041     /// 
00042     /// \return
00043     /// Returns the newly created FdoRfpRasterBandDefinition instance.
00044     /// 
00045     FDORFP_API static FdoRfpRasterBandDefinition* Create();
00046 
00047     /// \brief
00048     /// Gets the raster image definition
00049     /// 
00050     /// \return
00051     /// Returns the raster image definition. 
00052     /// 
00053     FDORFP_API FdoRfpRasterImageDefinition* GetImage();
00054 
00055     /// \brief
00056     /// Sets the raster image definition.
00057     /// 
00058     /// \param imageDefinition 
00059     /// Input raster image definition
00060     /// 
00061     /// \return
00062     /// Returns nothing
00063     /// 
00064     FDORFP_API void SetImage(FdoRfpRasterImageDefinition* imageDefinition);
00065 
00066     /// \brief
00067     /// Gets the band number
00068     /// 
00069     /// \return
00070     /// Returns the band number. 
00071     /// 
00072     FDORFP_API FdoInt32 GetBandNumber();
00073 
00074     /// \brief
00075     /// Sets the band number.
00076     /// 
00077     /// \param imageDefinition 
00078     /// Input band number
00079     /// 
00080     /// \return
00081     /// Returns nothing
00082     /// 
00083     FDORFP_API void SetBandNumber(FdoInt32 bandNumber);
00084 
00085 /// \cond DOXYGEN-IGNORE
00086 
00087     /// XML Serialization functions, not part of supported API.
00088     FDORFP_API virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00089     FDORFP_API virtual FdoXmlSaxHandler* XmlStartElement(
00090         FdoXmlSaxContext* context, 
00091         FdoString* uri, 
00092         FdoString* name, 
00093         FdoString* qname, 
00094         FdoXmlAttributeCollection* atts
00095     );
00096     FDORFP_API virtual FdoBoolean XmlEndElement(
00097         FdoXmlSaxContext* context, 
00098         FdoString* uri, 
00099         FdoString* name, 
00100         FdoString* qname
00101     );
00102     FDORFP_API void _writeXml( FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags );
00103 
00104 protected:
00105     FDORFP_API FdoRfpRasterBandDefinition(void);
00106     FDORFP_API virtual ~FdoRfpRasterBandDefinition(void);
00107     void Dispose(void);
00108 
00109 private:
00110     FdoPtr<FdoRfpRasterImageDefinition> m_imageDefinition;
00111     FdoInt32 m_bandNumber;
00112 
00113 /// \endcond
00114 
00115 };
00116 
00117 /// \brief
00118 ///  FdoRfpRasterBandDefinitionP is a FdoPtr on FdoRfpRasterBandDefinition, provided for convenience. 
00119 typedef FdoPtr<FdoRfpRasterBandDefinition> FdoRfpRasterBandDefinitionP;
00120 
00121 
00122 /// \brief
00123 ///  
00124 /// The FdoRfpRasterBandCollection class holds a list of Raster Band Definition.
00125 class FdoRfpRasterBandCollection : public FdoPhysicalElementMappingCollection<FdoRfpRasterBandDefinition>
00126 {
00127 public:
00128     /// \brief
00129     /// Constructs a new empty collection of Raster Band Definition.
00130     /// 
00131     /// \param parent 
00132     /// Input parent object
00133     /// 
00134     /// \return
00135     /// Returns the newly created FdoRfpRasterBandCollection instance.
00136     /// 
00137     FDORFP_API static FdoRfpRasterBandCollection* Create(FdoRfpRasterFeatureDefinition *parent);
00138 
00139 /// \cond DOXYGEN-IGNORE
00140 
00141 protected:
00142     FdoRfpRasterBandCollection();
00143     FDORFP_API FdoRfpRasterBandCollection(FdoRfpRasterFeatureDefinition *parent);
00144     FDORFP_API virtual ~FdoRfpRasterBandCollection(void);
00145     void Dispose();
00146 
00147 /// \endcond
00148 
00149 };
00150 
00151 /// \brief
00152 ///  FdoRfpRasterBandsP is a FdoPtr on FdoRfpRasterBandCollection, provided for convenience. 
00153 typedef FdoPtr<FdoRfpRasterBandCollection> FdoRfpRasterBandsP;
00154 
00155 #endif
00156 
00157 

Comments?