FDO API Reference | Feature Data Objects |
00001 #ifndef _ISPATIALCONTEXTREADER_H_ 00002 #define _ISPATIALCONTEXTREADER_H_ 00003 // 00004 00005 // 00006 // Copyright (C) 2004-2006 Autodesk, Inc. 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of version 2.1 of the GNU Lesser 00010 // General Public License as published by the Free Software Foundation. 00011 // 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 // Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with this library; if not, write to the Free Software 00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 // 00021 00022 #ifdef _WIN32 00023 #pragma once 00024 #endif 00025 00026 #include <FdoStd.h> 00027 00028 /// \brief 00029 /// The FdoISpatialContextReader interface provides forward-only, read-only 00030 /// functionality for enumerating spatial contexts. A reference to an 00031 /// FdoISpatialContextReader is returned from the GetSpatialContexts command. 00032 /// The initial position of the FdoISpatialContextReader interface is prior to the 00033 /// first item. Thus, you must call ReadNext to begin accessing any data. 00034 class FdoISpatialContextReader : public FdoIDisposable 00035 { 00036 public: 00037 /// \brief 00038 /// Gets the name of the spatial context currently being read. 00039 /// 00040 /// \return 00041 /// Returns the name of the spatial context. 00042 /// 00043 FDO_API virtual FdoString* GetName() = 0; 00044 00045 /// \brief 00046 /// Gets the description of the spatial context currently being read. 00047 /// 00048 /// \return 00049 /// Returns the description of the spatial context. 00050 /// 00051 FDO_API virtual FdoString* GetDescription() = 0; 00052 00053 /// \brief 00054 /// Gets the name of the coordinate system of the spatial context currently 00055 /// being read. If the result is a null or empty string, the coordinate system is 00056 /// unknown to the spatial context. 00057 /// 00058 /// \return 00059 /// Returns the coordinate system name of the spatial context. 00060 /// 00061 FDO_API virtual FdoString* GetCoordinateSystem() = 0; 00062 00063 /// \brief 00064 /// Gets the name of the coordinate system in OpenGIS SRS WKT format of the spatial context currently 00065 /// being read. If the result is an empty string, the coordinate system WKT description is 00066 /// not available. 00067 /// 00068 /// \return 00069 /// Returns the coordinate system description in WKT of of the spatial context. 00070 /// 00071 FDO_API virtual FdoString* GetCoordinateSystemWkt() = 0; 00072 00073 /// \brief 00074 /// Gets the extent type of the spatial context currently being read. 00075 /// 00076 /// \return 00077 /// Returns the extent type. 00078 /// 00079 FDO_API virtual FdoSpatialContextExtentType GetExtentType() = 0; 00080 00081 /// \brief 00082 /// Gets the extent of the spatial context currently being read as a byte 00083 /// array in FGF format. 00084 /// 00085 /// \param length 00086 /// Output the length of the returned byte array. 00087 /// 00088 /// \return 00089 /// Returns the extent as a byte array in FGF format. 00090 /// 00091 FDO_API virtual FdoByteArray* GetExtent() = 0; 00092 00093 /// \brief 00094 /// Gets the tolerance value for XY ordinates of the spatial context 00095 /// currently being read. Tolerances are used in some geometric tests, 00096 /// mostly for equality between coordinates. This occurs frequently in spatial 00097 /// queries, especially with "on boundary" or "just touching" conditions. 00098 /// It is also an objective amount that can be used when formulating step 00099 /// distances for parametric curve interpolation. 00100 /// 00101 /// \return 00102 /// Returns the tolerance 00103 /// 00104 FDO_API virtual const double GetXYTolerance() = 0; 00105 00106 /// \brief 00107 /// Gets the tolerance value for Z ordinates of the spatial context 00108 /// currently being read. Tolerances are used in some geometric tests, 00109 /// mostly for equality between coordinates. This occurs a frequently in spatial 00110 /// queries, especially with "on boundary" or "just touching" conditions. 00111 /// It is also an objective amount that can be used when formulating step 00112 /// distances for parametric curve interpolation. 00113 /// 00114 /// \return 00115 /// Returns the tolerance 00116 /// 00117 FDO_API virtual const double GetZTolerance() = 0; 00118 00119 /// \brief 00120 /// Returns true if the spatial context currently being read is the active 00121 /// spatial context. 00122 /// 00123 /// \return 00124 /// Returns true if the current spatial context is the active one. 00125 /// 00126 FDO_API virtual const bool IsActive() = 0; 00127 00128 /// \brief 00129 /// Advances the reader to the next item. The default position of the reader 00130 /// is prior to the first item. Thus, you must call ReadNext to begin 00131 /// accessing any data. 00132 /// 00133 /// \return 00134 /// Returns true if there is a next item. 00135 /// 00136 FDO_API virtual bool ReadNext() = 0; 00137 00138 /// \brief 00139 /// Closes the FdoISpatialContextReader object, freeing any resources it may 00140 /// be holding. 00141 /// 00142 /// \return 00143 /// Returns nothing 00144 /// 00145 FDO_API virtual void Dispose() = 0; 00146 }; 00147 #endif 00148 00149
Comments or suggestions? Send us feedback. |