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     /// 
00037     /// \return
00038     /// Returns nothing.
00039     /// 
00040     FDO_API virtual void SetFileName(FdoString* name) = 0;
00041 
00042     /// \brief
00043     /// Gets the name of the SDF+ file being created.
00044     /// The name is a fully qualified absolute path.
00045     /// 
00046     /// \return
00047     /// Returns the name of the SDF+ file.
00048     /// 
00049     FDO_API virtual FdoString* GetFileName() = 0;
00050 
00051     /// \brief
00052     /// Sets the name of the spatial context as a string.
00053     /// 
00054     /// \param name 
00055     /// Input the name of the spatial context.
00056     /// 
00057     /// \return
00058     /// Returns nothing.
00059     /// 
00060     FDO_API virtual void SetSpatialContextName(FdoString* name) = 0;
00061 
00062     /// \brief
00063     /// Gets the name of the coordinate system of the spatial context.
00064     /// If the result is a null or empty string, the coordinate system is
00065     /// unknown to the spatial context.
00066     /// 
00067     /// \return
00068     /// Returns the coordinate system name of the spatial context.
00069     /// 
00070     FDO_API virtual FdoString* GetSpatialContextName() = 0;
00071 
00072     /// \brief
00073     /// Sets the description of the spatial context as a string.
00074     /// 
00075     /// \param description 
00076     /// Input the description of the spatial context.
00077     /// 
00078     /// \return
00079     /// Returns nothing.
00080     /// 
00081     FDO_API virtual void SetSpatialContextDescription(FdoString* description) = 0;
00082 
00083     /// \brief
00084     /// Gets the description of the spatial context.
00085     /// 
00086     /// \return
00087     /// Returns the description of the spatial context.
00088     /// 
00089     FDO_API virtual FdoString* GetSpatialContextDescription() = 0;
00090 
00091     /// \brief
00092     /// Sets the coordinate system of the context to create as a string in
00093     /// OpenGIS SRS WKT format.
00094     /// 
00095     /// \param wkt 
00096     /// Input the coordinate system.
00097     /// 
00098     /// \return
00099     /// Returns nothing.
00100     /// 
00101     FDO_API virtual void SetCoordinateSystemWKT(FdoString* wkt) = 0;
00102 
00103     /// \brief
00104     /// Gets the name of the coordinate system in OpenGIS SRS WKT format of the spatial context.
00105     /// If the result is an empty string, the coordinate system WKT description is
00106     /// not available.
00107     /// 
00108     /// \return
00109     /// Returns the coordinate system description in WKT format of the spatial context.
00110     /// 
00111     FDO_API virtual FdoString* GetCoordinateSystemWKT() = 0;
00112 
00113     /// \brief
00114     /// Sets the tolerance value to use for X/Y ordinates. Tolerances are used
00115     /// in some geometric tests, mostly for equality between coordinates. This
00116     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00117     /// touching" conditions. It is also an objective amount that can be used
00118     /// when formulating step distances for parametric curve interpolation.
00119     /// 
00120     /// \param tolerance 
00121     /// Input the tolerance.
00122     /// 
00123     /// \return
00124     /// Returns nothing.
00125     /// 
00126     FDO_API virtual void SetXYTolerance(double tolerance) = 0;
00127 
00128     /// \brief
00129     /// Gets the tolerance value for X/Y ordinates of the spatial context.
00130     /// Tolerances are used in some geometric tests,
00131     /// mostly for equality between coordinates. This occurs frequently in spatial
00132     /// queries, especially with "on boundary" or "just touching" conditions.
00133     /// It is also an objective amount that can be used when formulating step
00134     /// distances for parametric curve interpolation.
00135     /// 
00136     /// \return
00137     /// Returns the tolerance.
00138     /// 
00139     FDO_API virtual double GetXYTolerance() = 0;
00140     
00141     /// \brief
00142     /// Sets the tolerance value to use for Z ordinates. Tolerances are used in
00143     /// some geometric tests, mostly for equality between coordinates. This
00144     /// occurs frequently in spatial queries, especially with "on boundary" or "just
00145     /// touching" conditions. It is also an objective amount that can be used
00146     /// when formulating step distances for parametric curve interpolation.
00147     /// 
00148     /// \param tolerance 
00149     /// Input the tolerance.
00150     /// 
00151     /// \return
00152     /// Returns nothing.
00153     /// 
00154     FDO_API virtual void SetZTolerance(double tolerance) = 0;
00155 
00156     /// \brief
00157     /// Gets the tolerance value for Z ordinates of the spatial context.
00158     /// Tolerances are used in some geometric tests,
00159     /// mostly for equality between coordinates. This occurs a frequently in spatial
00160     /// queries, especially with "on boundary" or "just touching" conditions.
00161     /// It is also an objective amount that can be used when formulating step
00162     /// distances for parametric curve interpolation.
00163     /// 
00164     /// \return
00165     /// Returns the tolerance.
00166     /// 
00167     FDO_API virtual double GetZTolerance() = 0;
00168 
00169     /// \brief
00170     /// Executes the command. An exception is thrown if the file fails to be 
00171     /// created.
00172     /// 
00173     /// \return
00174     /// Returns nothing.
00175     /// 
00176     FDO_API virtual void Execute() = 0;
00177 
00178 };
00179 
00180 
00181 #endif
00182 
00183 

Comments?