FDO API Reference | Feature Data Objects |
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
Comments or suggestions? Send us feedback. |