OSGeo FDO Provider for SDF API Reference

SDF API

API Reference OSGeo FDO Provider for SDF

ICreateSDFFile.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 #ifndef ICREATESDFFILE_H
00017 #define ICREATESDFFILE_H
00018 
00019 #include "FdoStd.h"
00020 #include "Fdo/Commands/ICommand.h"
00021 
00022 
00023 /// \brief
00024 /// This command creates a new SDF+ file with a specified location
00025 /// and file name and a given spatial coordinate system.
00026 class FdoICreateSDFFile : public FdoICommand
00027 {
00028 public:
00029 
00030     /// \brief
00031     /// Sets the name of the SDF+ file being created.
00032     /// The name must be a fully qualified absolute path.
00033     /// 
00034     /// \param name 
00035     /// The fully qualified SDF+ file name.
00036     FDO_API virtual void SetFileName(FdoString* name) = 0;
00037 
00038     /// \brief
00039     /// Gets the name of the SDF+ file being created.
00040     /// The name is a fully qualified absolute path.
00041     /// 
00042     /// \return
00043     /// Returns the name of the SDF+ file.
00044     /// 
00045     FDO_API virtual FdoString* GetFileName() = 0;
00046 
00047     /// \brief
00048     /// Sets the name of the spatial context as a string.
00049     /// 
00050     /// \param name 
00051     /// Input the name of the spatial context.
00052     FDO_API virtual void SetSpatialContextName(FdoString* name) = 0;
00053 
00054     /// \brief
00055     /// Gets the name of the coordinate system of the spatial context.
00056     /// If the result is a null or empty string, the coordinate system is
00057     /// unknown to the spatial context.
00058     /// 
00059     /// \return
00060     /// Returns the coordinate system name of the spatial context.
00061     /// 
00062     FDO_API virtual FdoString* GetSpatialContextName() = 0;
00063 
00064     /// \brief
00065     /// Sets the description of the spatial context as a string.
00066     /// 
00067     /// \param description 
00068     /// Input the description of the spatial context.
00069     FDO_API virtual void SetSpatialContextDescription(FdoString* description) = 0;
00070 
00071     /// \brief
00072     /// Gets the description of the spatial context.
00073     /// 
00074     /// \return
00075     /// Returns the description of the spatial context.
00076     /// 
00077     FDO_API virtual FdoString* GetSpatialContextDescription() = 0;
00078 
00079     /// \brief
00080     /// Sets the coordinate system of the context to create as a string in
00081     /// OpenGIS SRS WKT format.
00082     /// 
00083     /// \param wkt 
00084     /// Input the coordinate system.
00085     FDO_API virtual void SetCoordinateSystemWKT(FdoString* wkt) = 0;
00086 
00087     /// \brief
00088     /// Gets the name of the coordinate system in OpenGIS SRS WKT format of the spatial context.
00089     /// If the result is an empty string, the coordinate system WKT description is
00090     /// not available.
00091     /// 
00092     /// \return
00093     /// Returns the coordinate system description in WKT format of the spatial context.
00094     /// 
00095     FDO_API virtual FdoString* GetCoordinateSystemWKT() = 0;
00096 
00097     /// \brief
00098     /// Sets the tolerance value to use for X/Y ordinates. Tolerances are used
00099     /// in some geometric tests, mostly for equality between coordinates. This
00100     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00101     /// touching" conditions. It is also an objective amount that can be used
00102     /// when formulating step distances for parametric curve interpolation.
00103     /// 
00104     /// \param tolerance 
00105     /// Input the tolerance.
00106     FDO_API virtual void SetXYTolerance(double tolerance) = 0;
00107 
00108     /// \brief
00109     /// Gets the tolerance value for X/Y ordinates of the spatial context.
00110      ///
00111      /// \remarks
00112     /// Tolerances are used in some geometric tests,
00113     /// mostly for equality between coordinates. This occurs frequently in spatial
00114     /// queries, especially with "on boundary" or "just touching" conditions.
00115     /// It is also an objective amount that can be used when formulating step
00116     /// distances for parametric curve interpolation.
00117     /// 
00118     /// \return
00119     /// Returns the tolerance.
00120     /// 
00121     FDO_API virtual double GetXYTolerance() = 0;
00122     
00123     /// \brief
00124     /// Sets the tolerance value to use for Z ordinates.
00125      ///
00126      /// \remarks
00127      /// Tolerances are used in
00128     /// some geometric tests, mostly for equality between coordinates. This
00129     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00130     /// touching" conditions. It is also an objective amount that can be used
00131     /// when formulating step distances for parametric curve interpolation.
00132     /// 
00133     /// \param tolerance 
00134     /// Input the tolerance.
00135     FDO_API virtual void SetZTolerance(double tolerance) = 0;
00136 
00137     /// \brief
00138     /// Gets the tolerance value for Z ordinates of the spatial context.
00139      ///
00140      /// \remarks
00141     /// Tolerances are used in some geometric tests,
00142     /// mostly for equality between coordinates. This occurs a frequently in spatial
00143     /// queries, especially with "on boundary" or "just touching" conditions.
00144     /// It is also an objective amount that can be used when formulating step
00145     /// distances for parametric curve interpolation.
00146     /// 
00147     /// \return
00148     /// Returns the tolerance.
00149     /// 
00150     FDO_API virtual double GetZTolerance() = 0;
00151 
00152     /// \brief
00153     /// Executes the command. An exception is thrown if the file fails to be 
00154     /// created.
00155     FDO_API virtual void Execute() = 0;
00156 
00157 };
00158 
00159 
00160 #endif
00161 
00162 

Comments?