00001 #ifndef _ISPATIALINDEXREADER_H_
00002 #define _ISPATIALINDEXREADER_H_
00003 //
00004 //
00005 // (C) Copyright 1990-2005 by Autodesk, Inc.
00006 //
00007 //
00008 //
00009 // By using this code, you are agreeing to the terms
00010 // and conditions of the License Agreement that appeared
00011 // and was accepted upon download or installation
00012 // (or in connection with the download or installation)
00013 // of the Autodesk software in which this code is included.
00014 // All permissions on use of this code are as set forth
00015 // in such License Agreement provided that the above copyright
00016 // notice appears in all authorized copies and that both that
00017 // copyright notice and the limited warranty and
00018 // restricted rights notice below appear in all supporting
00019 // documentation.
00020 //
00021 // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
00022 // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
00023 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
00024 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
00025 // UNINTERRUPTED OR ERROR FREE.
00026 //
00027 // Use, duplication, or disclosure by the U.S. Government is subject to
00028 // restrictions set forth in FAR 52.227-19 (Commercial Computer
00029 // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00030 // (Rights in Technical Data and Computer Software), as applicable.
00031 //
00032 #ifdef _WIN32
00033 #pragma once
00034 #endif
00035
00036 #include "Fdo.h"
00037 #include "Rdbms/SpatialIndexDimensionType.h"
00038 #include "Rdbms/SpatialIndexType.h"
00039
00040
00041 /// \brief
00042 /// The ISpatialIndexReader interface provides forward only, readonly
00043 /// functionality for enumerating spatial indexes. A reference to an
00044 /// ISpatialIndexReader is returned from the GetSpatialIndexes command.
00045 /// The initial position of the ISpatialIndexReader is prior to the
00046 /// first item. Therefore you must call ReadNext to begin accessing any data.
00047 class FdoISpatialIndexReader : public FdoIDisposable
00048 {
00049 public:
00050 /// \brief
00051 /// Gets the name of the spatial index currently being read.
00052 ///
00053 /// \return
00054 /// Returns the name of the spatial context.
00055 ///
00056 FDO_API virtual const wchar_t* GetName() = 0;
00057
00058 /// \brief
00059 /// Gets the name of the current spatial context as a String.
00060 ///
00061 /// \return
00062 /// Returns the description of the spatial context
00063 ///
00064 FDO_API virtual const wchar_t* GetSpatialContextName() = 0;
00065
00066 /// \brief
00067 /// Gets the type of the current spatial Index, either Quad-Tree or R-Tree.
00068 ///
00069 /// \return
00070 /// Returns the spatial index type
00071 ///
00072 FDO_API virtual SpatialIndexType GetSpatialIndexType() = 0;
00073
00074 /// \brief
00075 /// Gets the number of dimensions of the current spatial Index.
00076 ///
00077 /// \return
00078 /// Returns the extent type
00079 ///
00080 FDO_API virtual SpatialIndexDimensionType GetNumDimensions() = 0;
00081
00082 /// \brief
00083 /// Advances the reader to the next item. The default position of the reader
00084 /// is prior to the first item. Therefore you must call ReadNext to begin
00085 /// accessing any data.
00086 ///
00087 /// \return
00088 /// Returns true if there is a next item.
00089 ///
00090 FDO_API virtual bool ReadNext() = 0;
00091
00092 /// \brief
00093 /// Closes the ISpatialIndexReader object freeing any resources it may
00094 /// be holding.
00095 ///
00096 /// \return
00097 /// Returns nothing
00098 ///
00099 FDO_API virtual void Dispose() = 0;
00100 };
00101 #endif
00102
00103