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

# GeometryStreamFactory.h

Go to the documentation of this file.

    00001 #ifndef _GEOMETRYSTREAMFACTORY_H_
    00002 #define _GEOMETRYSTREAMFACTORY_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/GeometryStream/GeometryStreamReader.h>
    00029 #include <Geometry/GeometryStream/GeometryStreamWriter.h>
    00030
    00031 /// \brief
    00032 /// The FdoGeometryStreamFactory class is a factory (abstract) for classes dealing with serialized geometric data.
    00033 /// The data source is defined by the implementation.
    00034 /// This is a helper type and does not inherit from FdoIGeometry.
    00035 class FdoGeometryStreamFactory /* Abstract */ : public FdoIDisposable
    00036 {
    00037 public:
    00038
    00039     /// \brief
    00040     /// Gets a stream reader object for serialized Geometry.
    00041     ///
    00042     /// \param byteArray
    00043     /// Input array of Geometry data in FGF format.
    00044     ///
    00045     /// \return
    00046     /// Returns the reader
    00047     ///
    00048     FDO_GEOM_API virtual FdoGeometryStreamReader* CreateGeometryStreamReader(
    00049         FdoByteArray * byteArray) = 0;
    00050
    00051     /// \brief
    00052     /// Gets a stream reader object for serialized Geometry.
    00053     ///
    00054     /// \param data
    00055     /// Input array data
    00056     /// \param count
    00057     /// Input number of bytes in the array
    00058     /// The caller must guarantee the validity of the array for the lifetime
    00059     /// of the associated geometry stream.
    00060     ///
    00061     /// \return
    00062     /// Returns the reader
    00063     ///
    00064     FDO_GEOM_API virtual FdoGeometryStreamReader* CreateGeometryStreamReader(
    00065         const FdoByte * data,
    00066         FdoInt32 count) = 0;
    00067
    00068     /// \brief
    00069     /// Gets a stream writer object for serialized Geometry in FGF format.
    00070     ///
    00071     /// \return
    00072     /// Returns the writer
    00073     ///
    00074     FDO_GEOM_API virtual FdoGeometryStreamWriter* CreateGeometryStreamWriter() = 0;
    00075
    00076 protected:
    00077     /// Constructor and destructor
    00078
    00079     /// \brief
    00080     /// Constructs a default instance of a FdoGeometryStreamFactory.
    00081     ///
    00082     /// \return
    00083     /// Returns nothing
    00084     ///
    00085     FDO_GEOM_API FdoGeometryStreamFactory() {};
    00086
    00087     /// \brief
    00088     /// Default destructor.
    00089     ///
    00090     /// \return
    00091     /// Returns nothing
    00092     ///
    00093     FDO_GEOM_API virtual ~FdoGeometryStreamFactory() {};
    00094 };
    00095 #endif
    00096
    00097

Please send us your comment about this page