FDO .NET API Reference | Feature Data Objects |
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\mgISpatialContextReader.h" 00022 #include "FDO\Commands\SpatialContext\mgSpatialContextExtentType.h" 00023 00024 enum SpatialContextExtentType; 00025 class ISpatialContextReader; 00026 00027 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT 00028 00029 /// \ingroup (OSGeoFDOCommandsSpatialContext) 00030 /// \brief 00031 /// The ISpatialContextReaderImp class is a concrete implementation of ISpatialContextReader. 00032 /// The ISpatialContextReader interface provides forward-only, read-only 00033 /// functionality for enumerating spatial contexts. A reference to an 00034 /// ISpatialContextReader is returned from the GetSpatialContexts command. 00035 /// The initial position of the ISpatialContextReader interface is prior to the 00036 /// first item. Thus, you must call ReadNext to begin accessing any data. 00037 private __gc class ISpatialContextReaderImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, 00038 public NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::ISpatialContextReader 00039 { 00040 public: 00041 /// \brief 00042 /// Gets the name of the spatial context currently being read. 00043 /// 00044 /// \return 00045 /// Returns the name of the spatial context. 00046 /// 00047 System::String* GetName(); 00048 00049 /// \brief 00050 /// Gets the description of the spatial context currently being read. 00051 /// 00052 /// \return 00053 /// Returns the description of the spatial context. 00054 /// 00055 System::String* GetDescription(); 00056 00057 /// \brief 00058 /// Gets the name of the coordinate system of the spatial context currently 00059 /// being read. If the result is a null or empty string, the coordinate system is 00060 /// unknown to the spatial context. 00061 /// 00062 /// \return 00063 /// Returns the coordinate system name of the spatial context. 00064 /// 00065 System::String* GetCoordinateSystem(); 00066 00067 /// \brief 00068 /// Gets the name of the coordinate system in OpenGIS SRS WKT format of the spatial context currently 00069 /// being read. If the result is an empty string, the coordinate system WKT description is 00070 /// not available. 00071 /// 00072 /// \return 00073 /// Returns the coordinate system description in WKT of of the spatial context. 00074 /// 00075 System::String* GetCoordinateSystemWkt(); 00076 00077 /// \brief 00078 /// Gets the extent type of the spatial context currently being read. 00079 /// 00080 /// \return 00081 /// Returns the extent type. 00082 /// 00083 NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT::SpatialContextExtentType GetExtentType(); 00084 00085 /// \brief 00086 /// Gets the extent of the spatial context currently being read as a byte 00087 /// array in FGF format. 00088 /// 00089 /// \return 00090 /// Returns the extent as a byte array in FGF format. 00091 /// 00092 System::Byte GetExtent() []; 00093 00094 /// \brief 00095 /// Gets the tolerance value for XY ordinates of the spatial context 00096 /// currently being read. Tolerances are used in some geometric tests, 00097 /// mostly for equality between coordinates. This occurs frequently in spatial 00098 /// queries, especially with "on boundary" or "just touching" conditions. 00099 /// It is also an objective amount that can be used when formulating step 00100 /// distances for parametric curve interpolation. 00101 /// 00102 /// \return 00103 /// Returns the tolerance 00104 /// 00105 System::Double GetXYTolerance(); 00106 00107 /// \brief 00108 /// Gets the tolerance value for Z ordinates of the spatial context 00109 /// currently being read. Tolerances are used in some geometric tests, 00110 /// mostly for equality between coordinates. This occurs a frequently in spatial 00111 /// queries, especially with "on boundary" or "just touching" conditions. 00112 /// It is also an objective amount that can be used when formulating step 00113 /// distances for parametric curve interpolation. 00114 /// 00115 /// \return 00116 /// Returns the tolerance 00117 /// 00118 System::Double GetZTolerance(); 00119 00120 /// \brief 00121 /// Returns true if the spatial context currently being read is the active 00122 /// spatial context. 00123 /// 00124 /// \return 00125 /// Returns true if the current spatial context is the active one. 00126 /// 00127 System::Boolean IsActive(); 00128 00129 /// \brief 00130 /// Advances the reader to the next item. The default position of the reader 00131 /// is prior to the first item. Thus, you must call ReadNext to begin 00132 /// accessing any data. 00133 /// 00134 /// \return 00135 /// Returns true if there is a next item. 00136 /// 00137 System::Boolean ReadNext(); 00138 00139 /// \cond DOXYGEN-IGNORE 00140 protected: 00141 __sealed System::Void ReleaseUnmanagedObject(); 00142 /// \endcond 00143 00144 public private: 00145 ISpatialContextReaderImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete) 00146 { 00147 00148 } 00149 00150 inline FdoISpatialContextReader* GetImpObj(); 00151 }; 00152 00153 END_NAMESPACE_OSGEO_FDO_COMMANDS_SPATIALCONTEXT 00154 00155
Comments or suggestions? Send us feedback. |