D:/Zythum/DinoKod/mdlMaxExport/MDLMaxExporter.h

00001 //---------------------------------------------------------------------------------------------
00002 //      This file is a part of "DinoKod".
00003 //      Copyright © 2003 Dino Productions. All Rights Reserved.
00004 //      
00005 //      File                    : MDLMaxExporter.h
00006 //      Author                  : Sebastien LEIX        sebastien.leix@wanadoo.fr
00007 //      Date                    : 02/01/2003
00008 //      Modification    :
00009 //
00010 //---------------------------------------------------------------------------------------------
00011 #ifndef _MDLMAXEXPORTER_H__
00012 #define _MDLMAXEXPORTER_H__
00013 
00014 #include <windows.h>
00015 #include <commctrl.h>
00016 #include <max.h>
00017 #include <iparamm2.h>
00018 
00019 
00020 class KMdlLoader;
00021 class KMdlMesh;
00022 
00023 //---------------------------------------------------------------------------------------------
00024 class KMdlExporter : public SceneExport
00025 {
00026 protected:
00027         static INT_PTR CALLBACK ExportDlgProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
00028         bool                                    ExportNode( KMdlLoader& Loader, KMdlMesh* pMesh, INode* pNode, bool bSelected, TimeValue Time );
00029         KMdlMesh*                               ExportBoneObject( KMdlLoader& Loader, INode* pNode, TimeValue Time );
00030         KMdlMesh*                               ExportTriObject( KMdlLoader& Loader, INode* pNode, TimeValue Time );
00031         bool                                    ExportMaterials( KMdlLoader& Loader, MtlBaseLib* pMtlBaseLib );
00032     Point3                                      GetVertexNormal(Mesh* mesh, int faceNo, RVertex* rv);
00033         KMdlMesh*                               ExportHelpers( KMdlLoader& Loader, INode* pNode, TimeValue Time );
00034         void                                    ExportMatrices( KMdlMesh* pMdlMesh, INode* pNode );
00035 /*      Matrix3                                 ResetXForm( Interface* pInterface, INode* pNode, TimeValue Time );
00036         void                                    ResetXFormAll( Interface* pInterface, INode* pNode, TimeValue Time );*/
00037 
00038         TimeValue                               m_TickStart;
00039         TimeValue                               m_TickEnd;
00040         TimeValue                               m_TickStep;
00041 
00042 public:
00043         KMdlExporter();
00044         virtual ~KMdlExporter();
00045 
00046         virtual int                             ExtCount()                              { return 1;                                                                     }
00047         virtual const TCHAR*    Ext( int i )                    { return _T("mdl");                                                     }
00048         virtual const TCHAR*    LongDesc()                              { return _T("3D Model for 3Dino Engine");       }
00049         virtual const TCHAR*    ShortDesc()                             { return _T("3Dino Model");                                     }
00050         virtual const TCHAR*    AuthorName()                    { return _T("Dino Productions");                        }
00051         virtual const TCHAR*    CopyrightMessage()              { return _T("Copyright (c) 2003 Dino Productions");}
00052         virtual unsigned int    Version()                               { return 100; /* v1.00 */                                       }
00053         virtual const TCHAR*    OtherMessage1()                 { return _T("The Dino Touch");                          }
00054         virtual const TCHAR*    OtherMessage2()                 { return _T("Dino Productions Forever");        }
00055         virtual void                    ShowAbout( HWND hWnd );
00056 
00057         virtual int                             DoExport( const TCHAR *name, ExpInterface *ei, Interface *i, BOOL suppressPrompts=FALSE, DWORD options=0 );
00058 };
00059 
00060 //---------------------------------------------------------------------------------------------
00061 class KMdlExporterClassDesc : public ClassDesc2
00062 {
00063 public:
00064         int                             IsPublic()                                              { return TRUE;                                                          }
00065         void*                   Create( BOOL loading )                  { return new KMdlExporter();                            }
00066         const TCHAR*    ClassName()                                             { return _T("KMdlExporter");                            }
00067         SClass_ID               SuperClassID()                                  { return SCENE_EXPORT_CLASS_ID;                                         }
00068         Class_ID                ClassID()                                               { return Class_ID(0x59747a3a, 0x25e57de0);      }
00069         const TCHAR*    Category()                                              { return _T("");                                                        }
00070 };
00071 
00072 static KMdlExporterClassDesc MdlExporterClassDesc;
00073 
00074 #endif  _MDLMAXEXPORTER_H__

Generated on Sun Mar 25 20:02:13 2007 for Zythum Project by  doxygen 1.5.1-p1