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 #ifndef FDORFPRASTERLOCATION_H
00019 #define FDORFPRASTERLOCATION_H
00020
00021 #ifdef _WIN32
00022 #pragma once
00023 #endif //_WIN32
00024
00025 class FdoRfpRasterFeatureCollection;
00026 class FdoRfpRasterDefinition;
00027
00028 /// \brief
00029 ///
00030 /// The FdoRfpRasterLocation class defines a location that contains a collection of raster feature definitions.
00031 class FdoRfpRasterLocation : public FdoPhysicalElementMapping
00032 {
00033 typedef FdoPhysicalElementMapping BaseType;
00034
00035 public:
00036 /// \brief
00037 /// Constructs a new empty Raster Location.
00038 ///
00039 /// \return
00040 /// Returns the newly created FdoRfpRasterLocation instance.
00041 ///
00042 FDORFP_API static FdoRfpRasterLocation* Create();
00043
00044 /// \brief
00045 /// Gets the collection of the raster feature definition contained in the location.
00046 ///
00047 /// \return
00048 /// Returns the collection of the raster feature definition contained in the location.
00049 ///
00050 FDORFP_API FdoRfpRasterFeatureCollection* GetFeatureCatalogue();
00051
00052 /// \brief
00053 /// Sets the collection of the raster feature definition.
00054 ///
00055 /// \param catalogue
00056 /// Input the collection of the raster feature definition
00057 ///
00058 /// \return
00059 /// Returns nothing
00060 ///
00061 FDORFP_API void SetFeatureCatalogue(FdoRfpRasterFeatureCollection* catalogue);
00062
00063 /// \cond DOXYGEN-IGNORE
00064
00065 /// XML Serialization functions, not part of supported API.
00066 FDORFP_API virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00067 FDORFP_API virtual FdoXmlSaxHandler* XmlStartElement(
00068 FdoXmlSaxContext* context,
00069 FdoString* uri,
00070 FdoString* name,
00071 FdoString* qname,
00072 FdoXmlAttributeCollection* atts
00073 );
00074 FDORFP_API virtual FdoBoolean XmlEndElement(FdoXmlSaxContext* context, FdoString* uri, FdoString* name, FdoString* qname);
00075 FDORFP_API void _writeXml( FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags );
00076
00077 protected:
00078 FDORFP_API FdoRfpRasterLocation(void);
00079 FDORFP_API virtual ~FdoRfpRasterLocation(void);
00080 void Dispose(void);
00081
00082 private:
00083 FdoPtr<FdoRfpRasterFeatureCollection> m_featureCatalogue;
00084
00085 /// \endcond
00086
00087 };
00088
00089 /// \brief
00090 /// FdoRfpRasterLocationP is a FdoPtr on FdoRfpRasterLocation, provided for convenience.
00091 typedef FdoPtr<FdoRfpRasterLocation> FdoRfpRasterLocationP;
00092
00093 /// \brief
00094 ///
00095 /// The FdoRfpRasterLocationCollection class contains a collection of Raster Locations.
00096 class FdoRfpRasterLocationCollection : public FdoPhysicalElementMappingCollection<FdoRfpRasterLocation>
00097 {
00098 public:
00099 /// \brief
00100 /// Constructs a new empty collection of Raster Location.
00101 ///
00102 /// \param parent
00103 /// Input parent object
00104 ///
00105 /// \return
00106 /// Returns the newly created FdoRfpRasterLocationCollection instance.
00107 ///
00108 FDORFP_API static FdoRfpRasterLocationCollection* Create(FdoRfpRasterDefinition *parent);
00109
00110 /// \cond DOXYGEN-IGNORE
00111
00112 protected:
00113 FdoRfpRasterLocationCollection();
00114 FDORFP_API FdoRfpRasterLocationCollection(FdoRfpRasterDefinition *parent);
00115 FDORFP_API virtual ~FdoRfpRasterLocationCollection(void);
00116 void Dispose();
00117
00118 /// \endcond
00119
00120 };
00121
00122 /// \brief
00123 /// FdoRfpRasterLocationsP is a FdoPtr on FdoRfpRasterLocationCollection, provided for convenience.
00124 typedef FdoPtr<FdoRfpRasterLocationCollection> FdoRfpRasterLocationsP;
00125
00126 #endif
00127
00128