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

# GeometryStreamWriter.h

Go to the documentation of this file.

    00001 #ifndef _GEOMETRYSTREAMWRITER_H_
    00002 #define _GEOMETRYSTREAMWRITER_H_
    00003
    00004 //
    00005 // Copyright (C) 2004-2006  Autodesk, Inc.
    00006 //
    00007 // This library is free software; you can redistribute it and/or
    00008 // modify it under the terms of version 2.1 of the GNU Lesser
    00009 // General Public License as published by the Free Software Foundation.
    00010 //
    00011 // This library is distributed in the hope that it will be useful,
    00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014 // Lesser General Public License for more details.
    00015 //
    00016 // You should have received a copy of the GNU Lesser General Public
    00017 // License along with this library; if not, write to the Free Software
    00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00019 //
    00020
    00021
    00022
    00023 #ifdef _WIN32
    00024 #pragma once
    00025 #endif
    00026
    00027 #include <FdoCommon.h>
    00028 #include <Geometry/IDirectPosition.h>
    00029 #include <Geometry/GeometryStream/GeometryStreamReader.h>
    00030 #include <Geometry/ILinearRing.h>
    00031
    00032 class FdoGeometryStreamFactory; // forward declare
    00033
    00034 /// \brief
    00035 /// The FdoGeometryStreamWriter class is a writer for geometric data (abstract). The destination for the data is defined by the implementation.
    00036 /// FdoGeometryStreamWriter is a helper type and does not inherit from FdoIGeometry.
    00037 class FdoGeometryStreamWriter /* Abstract */ : public FdoIDisposable
    00038 {
    00039 public:
    00040
    00041     /// \brief
    00042     /// Gets a reader of data on this object's stream.
    00043     ///
    00044     /// \return
    00045     /// Returns a Geometry stream reader
    00046     ///
    00047     FDO_GEOM_API virtual FdoGeometryStreamReader* GetReader() = 0;
    00048
    00049     /// \brief
    00050     /// Writes one number as a "double" into the stream.
    00051     ///
    00052     /// \param value
    00053     /// Input Data value to write into the stream.
    00054     ///
    00055     /// \return
    00056     /// Returns nothing
    00057     ///
    00058     FDO_GEOM_API virtual void WriteDouble(
    00059         double value) = 0;
    00060
    00061     /// \brief
    00062     /// Writes one number as a "FdoInt32" into the stream.
    00063     ///
    00064     /// \param value
    00065     /// Input Data value to write into the stream.
    00066     ///
    00067     /// \return
    00068     /// Returns nothing
    00069     ///
    00070     FDO_GEOM_API virtual void WriteInt(
    00071         FdoInt32 value) = 0;
    00072
    00073     /// \brief
    00074     /// Writes one byte into the stream.
    00075     ///
    00076     /// \param value
    00077     /// Input Data value to write into the stream.
    00078     ///
    00079     /// \return
    00080     /// Returns nothing
    00081     ///
    00082     FDO_GEOM_API virtual void WriteByte(
    00083         FdoByte value) = 0;
    00084
    00085     /// \brief
    00086     /// Writes a geometric position into the stream.  The position's dimension is
    00087     /// taken from the position, itself.
    00088     ///
    00089     /// \param value
    00090     /// Input Data value to write into the stream.
    00091     ///
    00092     /// \return
    00093     /// Returns nothing
    00094     ///
    00095     FDO_GEOM_API virtual void WriteDirectPosition(
    00096         FdoIDirectPosition * value) = 0;
    00097
    00098     /// \brief
    00099     /// Gets a factory object that can create more streams of the same implementation type as this object.
    00100     ///
    00101     /// \return
    00102     /// Returns A Geometry stream factory
    00103     ///
    00104     FDO_GEOM_API virtual FdoGeometryStreamFactory * GetFactory() = 0;
    00105
    00106 protected:
    00107
    00108     /// \brief
    00109     /// Constructs a default instance.
    00110     ///
    00111     /// \return
    00112     /// Returns nothing
    00113     ///
    00114     FDO_GEOM_API FdoGeometryStreamWriter() {};
    00115
    00116     /// \brief
    00117     /// Default destructor.
    00118     ///
    00119     /// \return
    00120     /// Returns nothing
    00121     ///
    00122     FDO_GEOM_API virtual ~FdoGeometryStreamWriter() {};
    00123 };
    00124 #endif
    00125
    00126

Please send us your comment about this page