Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

EModelSection.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2005 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 
00019 
00020 #ifndef _DWFTK_EMODEL_SECTION_H
00021 #define _DWFTK_EMODEL_SECTION_H
00022 
00023 
00028 
00029 #include "dwfcore/STL.h"
00030 #include "dwfcore/SkipList.h"
00031 using namespace DWFCore;
00032 
00033 #include "dwf/Toolkit.h"
00034 #include "dwf/package/Section.h"
00035 #include "dwf/package/reader/EModelSectionDescriptorReader.h"
00036 #include "dwf/package/writer/PackageWriter.h"
00037 
00038 
00039 namespace DWFToolkit
00040 {
00041 
00061 class DWFEModelSection : public DWFSection
00062                        , public DWFEModelSectionDescriptorReader
00063 {
00064 
00065 public:
00066 
00070     typedef vector<DWFEModelSection*>                                           tList;
00074     typedef DWFWCharKeySkipList<DWFEModelSection*>                              tMap;
00078     typedef multimap<const wchar_t*, DWFEModelSection*, tDWFWCharCompareLess>   tMultiMap;
00079 
00080 public:
00081 
00087     class Factory : public DWFSection::Factory
00088     {
00089 
00090     public:
00091 
00097         _DWFTK_API
00098         Factory()
00099             throw();
00100 
00106         _DWFTK_API
00107         virtual ~Factory()
00108             throw();
00109 
00113         _DWFTK_API
00114         virtual DWFSection* build( const DWFString&     zName,
00115                                    const DWFString&     zTitle,
00116                                    DWFPackageReader*    pPackageReader )
00117             throw( DWFException );
00118     };
00119 
00120 public:
00121 
00136     _DWFTK_API
00137     DWFEModelSection( const DWFString&  zName,
00138                       const DWFString&  zTitle,
00139                       DWFPackageReader* pPackageReader )
00140         throw();
00141 
00157     _DWFTK_API
00158     DWFEModelSection( const DWFString& zTitle,
00159                       const DWFString& zObjectID,
00160                       double           nPlotOrder,
00161                       const DWFSource& rSource,
00162                       const DWFUnits*  pUnits )
00163         throw();
00164 
00170     _DWFTK_API
00171     virtual ~DWFEModelSection()
00172         throw();
00173 
00180     _DWFTK_API
00181     DWFUnits* units() const
00182         throw()
00183     {
00184         return _pUnits;
00185     }
00186 
00201     _DWFTK_API
00202     DWFInterface* buildInterface()
00203         throw( DWFException );
00204 
00230     _DWFTK_API
00231     const DWFResource& readDescriptor( DWFSectionDescriptorReader* pSectionDescriptorReader = NULL ) const
00232         throw( DWFException );
00233 
00234 #ifndef DWFTK_READ_ONLY
00235 
00239     _DWFTK_API
00240     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00241         throw( DWFException );
00242 
00243 #endif
00244 
00248     _DWFTK_API
00249     const char* provideName( const char* zName )
00250         throw();
00251 
00255     _DWFTK_API
00256     double provideVersion( double nVersion )
00257         throw();
00258 
00262     _DWFTK_API
00263     double providePlotOrder( double nPlotOrder )
00264         throw();
00265 
00269     _DWFTK_API
00270     DWFUnits* provideUnits( DWFUnits* pUnits )
00271         throw();
00272 
00276     _DWFTK_API
00277     DWFProperty* provideProperty( DWFProperty* pProperty )
00278         throw();
00279 
00283     _DWFTK_API
00284     DWFResource* provideResource( DWFResource* pResource )
00285         throw();
00286 
00290     _DWFTK_API
00291     DWFFontResource* provideFontResource( DWFFontResource* pResource )
00292         throw();
00293 
00297     _DWFTK_API
00298     DWFGraphicResource* provideGraphicResource( DWFGraphicResource* pResource )
00299         throw();
00300 
00304     _DWFTK_API
00305     DWFImageResource* provideImageResource( DWFImageResource* pResource )
00306         throw();
00307 
00308 private:
00309 
00310     DWFUnits* _pUnits;
00311 
00312 private:
00313 
00314     DWFEModelSection( const DWFEModelSection& );
00315     DWFEModelSection& operator=( const DWFEModelSection& );
00316 };
00317 
00318 }
00319 
00320 #endif

Generated on Tue May 17 12:38:50 2005 for Autodesk DWF Toolkit by  doxygen 1.4.1