- Main Page
- Related Pages
- Modules
- Classes
- Files

# ISpatialContextReader.h

Go to the documentation of this file.

    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     /// \return
    00086     /// Returns the extent as a byte array in FGF format.
    00087     ///
    00088     FDO_API virtual FdoByteArray* GetExtent() = 0;
    00089
    00090     /// \brief
    00091     /// Gets the tolerance value for XY ordinates of the spatial context
    00092     /// currently being read. Tolerances are used in some geometric tests,
    00093     /// mostly for equality between coordinates.  This occurs frequently in spatial
    00094     /// queries, especially with "on boundary" or "just touching" conditions.
    00095     /// It is also an objective amount that can be used when formulating step
    00096     /// distances for parametric curve interpolation.
    00097     ///
    00098     /// \return
    00099     /// Returns the tolerance
    00100     ///
    00101     FDO_API virtual const double GetXYTolerance() = 0;
    00102
    00103     /// \brief
    00104     /// Gets the tolerance value for Z ordinates of the spatial context
    00105     /// currently being read. Tolerances are used in some geometric tests,
    00106     /// mostly for equality between coordinates.  This occurs a frequently in spatial
    00107     /// queries, especially with "on boundary" or "just touching" conditions.
    00108     /// It is also an objective amount that can be used when formulating step
    00109     /// distances for parametric curve interpolation.
    00110     ///
    00111     /// \return
    00112     /// Returns the tolerance
    00113     ///
    00114     FDO_API virtual const double GetZTolerance() = 0;
    00115
    00116     /// \brief
    00117     /// Returns true if the spatial context currently being read is the active
    00118     /// spatial context.
    00119     ///
    00120     /// \return
    00121     /// Returns true if the current spatial context is the active one.
    00122     ///
    00123     FDO_API virtual const bool IsActive() = 0;
    00124
    00125     /// \brief
    00126     /// Advances the reader to the next item. The default position of the reader
    00127     /// is prior to the first item. Thus, you must call ReadNext to begin
    00128     /// accessing any data.
    00129     ///
    00130     /// \return
    00131     /// Returns true if there is a next item.
    00132     ///
    00133     FDO_API virtual bool ReadNext() = 0;
    00134
    00135     /// \brief
    00136     /// Closes the FdoISpatialContextReader object, freeing any resources it may
    00137     /// be holding.
    00138     ///
    00139     /// \return
    00140     /// Returns nothing
    00141     ///
    00142     FDO_API virtual void Dispose() = 0;
    00143 };
    00144 #endif
    00145
    00146

Please send us your comment about this page