EModelSection.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2006 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                        _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00064 {
00065 
00066 public:
00067 
00071     typedef _DWFTK_STD_VECTOR(DWFEModelSection*)                                    tList;
00075     typedef DWFWCharKeySkipList<DWFEModelSection*>                                  tMap;
00079     typedef std::multimap<const wchar_t*, DWFEModelSection*, tDWFWCharCompareLess>  tMultiMap;
00080 
00081 public:
00082 
00088     class Factory : public DWFSection::Factory
00089                     _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00090     {
00091 
00092     public:
00093 
00099         _DWFTK_API
00100         Factory()
00101             throw();
00102 
00108         _DWFTK_API
00109         virtual ~Factory()
00110             throw();
00111 
00126         _DWFTK_API
00127         virtual DWFSection* build( const DWFString&     zName,
00128                                    const DWFString&     zTitle,
00129                                    DWFPackageReader*    pPackageReader )
00130             throw( DWFException );
00131     };
00132 
00133 public:
00134 
00149     _DWFTK_API
00150     DWFEModelSection( const DWFString&  zName,
00151                       const DWFString&  zTitle,
00152                       DWFPackageReader* pPackageReader )
00153         throw();
00154 
00170     _DWFTK_API
00171     DWFEModelSection( const DWFString& zTitle,
00172                       const DWFString& zObjectID,
00173                       double           nPlotOrder,
00174                       const DWFSource& rSource,
00175                       const DWFUnits*  pUnits )
00176         throw();
00177 
00183     _DWFTK_API
00184     virtual ~DWFEModelSection()
00185         throw();
00186 
00193     _DWFTK_API
00194     DWFUnits* units() const
00195         throw()
00196     {
00197         return _pUnits;
00198     }
00199 
00214     _DWFTK_API
00215     DWFInterface* buildInterface()
00216         throw( DWFException );
00217 
00243     _DWFTK_API
00244     const DWFResource& readDescriptor( DWFSectionDescriptorReader* pSectionDescriptorReader = NULL ) const
00245         throw( DWFException );
00246 
00247 #ifndef DWFTK_READ_ONLY
00248 
00252     _DWFTK_API
00253     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00254         throw( DWFException );
00255 
00256 #endif
00257 
00261     _DWFTK_API
00262     const char* provideName( const char* zName )
00263         throw();
00264 
00268     _DWFTK_API
00269     double provideVersion( double nVersion )
00270         throw();
00271 
00275     _DWFTK_API
00276     double providePlotOrder( double nPlotOrder )
00277         throw();
00278 
00282     _DWFTK_API
00283     DWFUnits* provideUnits( DWFUnits* pUnits )
00284         throw();
00285 
00289     _DWFTK_API
00290     DWFProperty* provideProperty( DWFProperty* pProperty )
00291         throw();
00292 
00296     _DWFTK_API
00297     DWFResource* provideResource( DWFResource* pResource )
00298         throw();
00299 
00303     _DWFTK_API
00304     DWFFontResource* provideFontResource( DWFFontResource* pResource )
00305         throw();
00306 
00310     _DWFTK_API
00311     DWFGraphicResource* provideGraphicResource( DWFGraphicResource* pResource )
00312         throw();
00313 
00317     _DWFTK_API
00318     DWFImageResource* provideImageResource( DWFImageResource* pResource )
00319         throw();
00320 
00324     _DWFTK_API
00325     DWFContentPresentationResource* provideContentPresentationResource( DWFContentPresentationResource* pResource )
00326         throw();
00327 
00328 private:
00329 
00330     DWFUnits* _pUnits;
00331 
00332 private:
00333 
00334     DWFEModelSection( const DWFEModelSection& );
00335     DWFEModelSection& operator=( const DWFEModelSection& );
00336 };
00337 
00338 }
00339 
00340 #endif

Generated on Tue Jan 6 22:40:03 2009 for Autodesk DWF Toolkit by  doxygen 1.4.5