CoordinateSystem.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 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_COORDINATESYSTEM_H
00021 #define _DWFTK_COORDINATESYSTEM_H
00022 
00027 
00028 
00029 #include "dwfcore/STL.h"
00030 
00031 #include "dwf/Toolkit.h"
00032 #include "dwf/package/XML.h"
00033 #include "dwf/package/reader/PackageReader.h"
00034 #include "dwf/package/writer/PackageWriter.h"
00035 #include "dwf/package/utility/PropertyContainer.h"
00036 
00037 namespace DWFToolkit
00038 {
00039 
00047 class DWFCoordinateSystem : public DWFPropertyContainer,
00048                             public DWFXMLBuildable
00049 
00050 #ifndef DWFTK_READ_ONLY
00051                           , public DWFXMLSerializable
00052 #endif
00053 
00054                             _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00055 {
00056 public:
00057 
00062     typedef enum teType
00063     {
00064         ePublished,
00065         eMarkedup
00066     } teType;
00067 
00068 public:
00069 
00073     typedef DWFOrderedVector<DWFCoordinateSystem*>    tList;
00074 
00075 public:
00076 
00082     _DWFTK_API
00083     DWFCoordinateSystem( )
00084         throw();
00085 
00096     _DWFTK_API
00097     DWFCoordinateSystem( teType eType,
00098                          const double* anOrigin,
00099                          const double* anRotation,
00100                          const DWFString& zName = L"",
00101                          const DWFString& zID = L"" )
00102         throw();
00103 
00110     _DWFTK_API
00111     DWFCoordinateSystem( const DWFCoordinateSystem& rCoordinateSystem )
00112         throw();
00113 
00120     _DWFTK_API
00121     DWFCoordinateSystem& operator=( const DWFCoordinateSystem& rCoordinateSystem )
00122         throw();
00123 
00129     _DWFTK_API
00130     virtual ~DWFCoordinateSystem()
00131         throw();
00132 
00145     _DWFTK_API
00146     void set( teType eType,
00147               const double* anOrigin,
00148               const double* anRotation,
00149               const DWFString& zName = L"",
00150               const DWFString& zID = L"" )
00151         throw();
00152 
00159     _DWFTK_API
00160     const double* getOrigin( ) const
00161         throw()
00162     {
00163         return _anOrigin;
00164     }
00165 
00172     _DWFTK_API
00173     const double* getRotation( ) const
00174         throw()
00175     {
00176         return (double*)_anRotation;
00177     }
00178 
00185     _DWFTK_API
00186     const DWFString& getName( ) const
00187         throw()
00188     {
00189         return _zName;
00190     }
00191 
00198     _DWFTK_API
00199     const DWFString& getID( ) const
00200         throw()
00201     {
00202         return _zID;
00203     }
00204 
00211     _DWFTK_API
00212      teType getType( ) const
00213         throw()
00214     {
00215         return _eType;
00216     }
00220     _DWFTK_API
00221     virtual void parseAttributeList( const char** ppAttributeList )
00222         throw( DWFException );
00223 
00224 #ifndef DWFTK_READ_ONLY
00225 
00229     _DWFTK_API
00230     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00231         throw( DWFException );
00232 #endif
00233 
00234 private:
00235 
00236     teType          _eType;
00237     double          _anOrigin[3];
00238     double          _anRotation[3][3];
00239     DWFString       _zName;
00240     DWFString       _zID;
00241 };
00242 
00243 }
00244 
00245 #endif

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