FDO .NET API Reference Feature Data Objects

mgXmlSpatialContextWriter.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma  once
00020 
00021 #include "FDO\Commands\SpatialContext\mgSpatialContextExtentType.h"
00022 
00023 class FdoXmlSpatialContextWriter;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_XML
00026 public __gc class XmlSpatialContextFlags;
00027 
00028 /// \ingroup (OSGeoFDOXml)
00029 /// \brief
00030 /// XmlSpatialContextWriter writes Spatial Contexts to an 
00031 /// XML document. This is done by calling the various setter functions 
00032 /// to set the spatial context attributes and then calling 
00033 /// WriteSpatialContext() to write the spatial context using the current 
00034 /// attributes. 
00035 public __gc class XmlSpatialContextWriter : public NAMESPACE_OSGEO_RUNTIME::Disposable
00036 {
00037 public:
00038     /// \brief
00039     /// creates a Spatial Context Writer.
00040     /// 
00041     /// \param writer 
00042     /// Input XML document writer. Specifies the XML
00043     /// document that the Spatial Contexts will be written to.
00044     /// 
00045     XmlSpatialContextWriter(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* writer);
00046 
00047     /// \brief
00048     /// creates a Spatial Context Writer.
00049     /// 
00050     /// \param writer 
00051     /// Input XML document writer. Specifies the XML
00052     /// document that the Spatial Contexts will be written to.
00053     /// \param flags 
00054     /// Input options for controlling the 
00055     /// deserializing of the Spatial Contexts. If NULL then the 
00056     /// default flags are used.
00057     /// 
00058     XmlSpatialContextWriter(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* writer, NAMESPACE_OSGEO_FDO_XML::XmlSpatialContextFlags* flags);
00059 
00060     /// \brief
00061     /// Gets the name of the context to create as a string.
00062     /// 
00063     /// \return
00064     /// Returns the name of the spatial context
00065     /// 
00066     __property System::String* get_Name();
00067 
00068     /// \brief
00069     /// Sets the name of the context to create as a string.
00070     /// 
00071     /// \param value 
00072     /// Input the name of the spatial context
00073     /// 
00074     /// \return
00075     /// Returns nothing
00076     /// 
00077     __property System::Void set_Name(System::String* value);
00078 
00079     /// \brief
00080     /// Gets the description of the context to create as a string.
00081     /// 
00082     /// \return
00083     /// Returns the description of the spatial context
00084     /// 
00085     __property System::String* get_Description();
00086 
00087     /// \brief
00088     /// Sets the description of the context to create as a string.
00089     /// 
00090     /// \param value 
00091     /// Input the description of the spatial context
00092     /// 
00093     /// \return
00094     /// Returns nothing
00095     /// 
00096     __property System::Void set_Description(System::String* value);
00097 
00098     /// \brief
00099     /// Gets the name of the coordinate system of the context to create.
00100     /// 
00101     /// \return
00102     /// Returns the coordinate system name
00103     /// 
00104     __property System::String* get_CoordinateSystem();
00105 
00106     /// \brief
00107     /// Gets the name of the coordinate system of the context to create.
00108     /// 
00109     /// \param value 
00110     /// Input the coordinate system name
00111     /// 
00112     /// \return
00113     /// Returns nothing
00114     /// 
00115     __property System::Void set_CoordinateSystem(System::String* value);
00116 
00117     /// \brief
00118     /// Gets the coordinate system of the context to create as a string
00119     /// in OpenGIS SRS WKT format.
00120     /// 
00121     /// \return
00122     /// Returns the coordinate system
00123     /// 
00124     __property System::String* get_CoordinateSystemWkt();
00125 
00126     /// \brief
00127     /// Sets the coordinate system of the context to create as a string in
00128     /// OpenGIS SRS WKT format.
00129     /// 
00130     /// \param value 
00131     /// Input the coordinate system
00132     /// 
00133     /// \return
00134     /// Returns nothing
00135     /// 
00136     __property System::Void set_CoordinateSystemWkt(System::String* value);
00137 
00138     /// \brief
00139     /// Gets the desired extent type of the context to create, either static or dynamic.
00140     /// 
00141     /// \return
00142     /// Returns the extent type
00143     /// 
00144     __property NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::SpatialContextExtentType get_ExtentType();
00145 
00146     /// \brief
00147     /// Sets the desired extent type of the context to create, either static or dynamic.
00148     /// 
00149     /// \param value 
00150     /// Input the extent type
00151     /// 
00152     /// \return
00153     /// Returns nothing
00154     /// 
00155     __property System::Void set_ExtentType(NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::SpatialContextExtentType value);
00156 
00157     /// \brief
00158     /// Gets the extent of the context to create as a byte array in FGF format.
00159     /// If the extent type is dynamic, any value specified via this function is ignored.
00160     /// 
00161     /// \return
00162     /// Returns the extent of the spatial context
00163     /// 
00164     __property System::Byte get_Extent() [];
00165 
00166     /// \brief
00167     /// Sets the extent of the context to create as a byte array in FGF format.
00168     /// If the extent type is dynamic this is optional and any value specified is ignored.
00169     /// 
00170     /// \param buffer 
00171     /// Input the extent of the spatial context
00172     /// 
00173     /// \return
00174     /// Returns nothing
00175     /// 
00176     __property System::Void set_Extent(System::Byte buffer []);
00177 
00178     /// \brief
00179     /// Gets the tolerance value to use for X/Y ordinates. Tolerances are used
00180     /// in some geometric tests, mostly for equality between coordinates.  This
00181     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00182     /// touching" conditions.  It is also an objective amount that can be used
00183     /// when formulating step distances for parametric curve interpolation.
00184     /// 
00185     /// \return
00186     /// Returns the tolerance
00187     /// 
00188     __property System::Double get_XYTolerance();
00189 
00190     /// \brief
00191     /// Sets the tolerance value to use for X/Y ordinates. Tolerances are used
00192     /// in some geometric tests, mostly for equality between coordinates.  This
00193     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00194     /// touching" conditions.  It is also an objective amount that can be used
00195     /// when formulating step distances for parametric curve interpolation.
00196     /// 
00197     /// \param value 
00198     /// Input the tolerance
00199     /// 
00200     /// \return
00201     /// Returns nothing
00202     /// 
00203     __property System::Void set_XYTolerance(System::Double value);
00204 
00205     /// \brief
00206     /// Gets the tolerance value to use for Z ordinates. Tolerances are used in
00207     /// some geometric tests, mostly for equality between coordinates.  This
00208     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00209     /// touching" conditions.  It is also an objective amount that can be used
00210     /// when formulating step distances for parametric curve interpolation.
00211     /// 
00212     /// \return
00213     /// Returns the tolerance
00214     /// 
00215     __property System::Double get_ZTolerance();
00216 
00217     /// \brief
00218     /// Sets the tolerance value to use for Z ordinates. Tolerances are used in
00219     /// some geometric tests, mostly for equality between coordinates.  This
00220     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00221     /// touching" conditions.  It is also an objective amount that can be used
00222     /// when formulating step distances for parametric curve interpolation.
00223     /// 
00224     /// \param value 
00225     /// Input the tolerance
00226     /// 
00227     /// \return
00228     /// Returns nothing
00229     /// 
00230     __property System::Void set_ZTolerance(System::Double value);
00231 
00232     /// \brief
00233     /// Writes the current Spatial Context to the XML document.
00234     /// 
00235     System::Void WriteSpatialContext();
00236 
00237 public private:
00238     XmlSpatialContextWriter(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete)
00239     {
00240 
00241     }
00242 
00243     inline FdoXmlSpatialContextWriter* GetImpObj();
00244 
00245 /// \cond DOXYGEN-IGNORE
00246 protected:
00247     System::Void ReleaseUnmanagedObject();
00248 /// \endcond
00249 };
00250 
00251 END_NAMESPACE_OSGEO_FDO_XML
00252 
00253 

Comments or suggestions? Send us feedback.