Plot.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 #ifndef _DWFTK_PLOT_H
00020 #define _DWFTK_PLOT_H
00021 
00022 
00027 
00028 #ifndef DWFTK_READ_ONLY
00029 
00030 #include "dwfcore/STL.h"
00031 #include "dwfcore/TempFile.h"
00032 #include "dwfcore/OutputStream.h"
00033 using namespace DWFCore;
00034 
00035 #include "dwf/Toolkit.h"
00036 #include "dwf/publisher/Publisher.h"
00037 #include "dwf/package/Paper.h"
00038 
00039 namespace DWFToolkit
00040 {
00048 
00049 class DWFPlot : public DWFPublishableSection
00050                 _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00051 {
00052 public:
00053     typedef _DWFTK_STD_VECTOR(double)   tDoubleList;
00054 
00055 public:
00056 
00069     _DWFTK_API
00070     DWFPlot( const DWFString& zPlotTitle = "",
00071              const DWFString& zPlotSource = "",
00072              const DWFString& zPlotSourceID = "",
00073              const DWFString& zPlotSourceHRef = "",
00074              const DWFString& zPlotLabel = "")
00075         throw();
00076 
00082     _DWFTK_API
00083     ~DWFPlot()
00084         throw();
00085 
00099     _DWFTK_API
00100     void open( const DWFPaper& rPaper,
00101                const double*   pTransform = NULL,
00102                const double*   pExtents   = NULL,
00103                const double*   pClip      = NULL)
00104         throw( DWFException );
00105 
00106 
00115     _DWFTK_API
00116     void close()
00117         throw( DWFException );
00118 
00125     _DWFTK_API
00126     void attach( DWFInputStream* pW2DStream, bool bOwnStream )
00127         throw( DWFException );
00128 
00135     _DWFTK_API
00136     void publish( DWFPublisher& rPublisher )
00137         throw( DWFException );
00138 
00143     //              this object.
00147     _DWFTK_API
00148     DWFPaper* getPaper()
00149         throw();
00150 
00158     _DWFTK_API
00159     void getTransform( double* pTransform ) const
00160         throw();
00161 
00169     _DWFTK_API
00170     void getPlotExtents( tDoubleList& rExtents) const
00171         throw();
00172 
00180     _DWFTK_API
00181     void getPlotClip( tDoubleList& rClip) const
00182         throw();
00183 
00184         //
00185         //
00186         // Publishable Interface
00187         //
00188         //
00189 
00193     _DWFTK_API
00194     virtual double getVersion() const
00195         throw()
00196     {
00197         return _DWF_FORMAT_EPLOT_VERSION_CURRENT_FLOAT;
00198     }
00199 
00203     _DWFTK_API
00204     const DWFString& getMIMEType()
00205         throw( DWFException );
00206 
00210     _DWFTK_API
00211     DWFInputStream* getInputStream()
00212         throw( DWFException );
00213 
00217     _DWFTK_API
00218     void embedFont( DWFEmbeddedFont* pFont )
00219         throw( DWFException );
00220 
00224     _DWFTK_API
00225     void addResource( DWFPublishableResource* pResource )
00226         throw( DWFException );
00227 
00231     _DWFTK_API
00232     DWFIterator<DWFPublishableResource*>* getResources()
00233         throw( DWFException );
00234 
00235 private:
00236     DWFString               _zMIME;
00237     DWFPaper                _oPaper;
00238     double                  _anPaperTransform[16];
00239     tDoubleList             _oExtents;
00240     tDoubleList             _oClip;
00241     DWFInputStream*         _pW2DStream;
00242     bool                    _bOwnStream;
00243 
00244     DWFEmbeddedFont::tList          _oEmbeddedFonts;
00245     DWFPublishableResource::tList   _oResources;
00246 
00247 private:
00248 
00249     //
00250     // Not Implemented
00251     //
00252 
00253     DWFPlot( const DWFPlot& );
00254     DWFPlot& operator=( const DWFPlot& );
00255 };
00256 
00257 }
00258 
00259 #endif
00260 
00261 #endif

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