~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to COLLADAMax/include/COLLADAMaxColladaExporter.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    Copyright (c) 2008-2009 NetAllied Systems GmbH
 
3
 
 
4
        This file is part of COLLADAMax.
 
5
 
 
6
    Portions of the code are:
 
7
    Copyright (c) 2005-2007 Feeling Software Inc.
 
8
    Copyright (c) 2005-2007 Sony Computer Entertainment America
 
9
    
 
10
    Based on the 3dsMax COLLADASW Tools:
 
11
    Copyright (c) 2005-2006 Autodesk Media Entertainment
 
12
        
 
13
    Licensed under the MIT Open Source License, 
 
14
    for details please see LICENSE file or the website
 
15
    http://www.opensource.org/licenses/mit-license.php
 
16
*/
 
17
 
 
18
 
 
19
#ifndef __COLLADAMAX_COLLADASWEXPORTER_H__
 
20
#define __COLLADAMAX_COLLADASWEXPORTER_H__
 
21
 
 
22
#include "COLLADAMaxPrerequisites.h"
 
23
#include "COLLADABUIDList.h"
 
24
 
 
25
#include <max.h>
 
26
#include <iparamb2.h>
 
27
 
 
28
// Exporter class ID
 
29
//#define COLLADASWEXPORTER_CLASS_ID Class_ID(0x7d656d57, 0x6f963848)
 
30
 
 
31
namespace COLLADAMax
 
32
{
 
33
 
 
34
    // main exporter class
 
35
 
 
36
    class COLLADAExporter : public SceneExport
 
37
    {
 
38
 
 
39
    public:
 
40
        static const Class_ID COLLADASWEXPORTER_CLASS_ID;
 
41
                static const TCHAR* PROGRESSSTART;
 
42
 
 
43
 
 
44
 
 
45
 
 
46
        private:
 
47
                /** Holds the unique file names of the exported XRef files. This is necessary if all files
 
48
                are exported into the same directory.*/
 
49
                COLLADABU::IDList mXRefExportFileNames;
 
50
 
 
51
    public:
 
52
        COLLADAExporter();
 
53
        virtual ~COLLADAExporter();
 
54
 
 
55
        // from SceneExport
 
56
        int ExtCount();     // Returns the number of file name extensions supported by the plug-in.
 
57
        const TCHAR* Ext ( int n );    // Return the 'i-th' file name extension (i.e. "dae").
 
58
        const TCHAR* LongDesc();     // Long ASCII description (i.e. "Autodesk 3D Studio File")
 
59
        const TCHAR* ShortDesc();    // Short ASCII description (i.e. "3D Studio")
 
60
        const TCHAR* AuthorName();    // ASCII Author name
 
61
        const TCHAR* CopyrightMessage();   // ASCII Copyright message
 
62
        const TCHAR* OtherMessage1();   // Other message #1
 
63
        const TCHAR* OtherMessage2();   // Other message #2
 
64
        unsigned int Version();     // Version number * 100 (i.e. v3.01 = 301)
 
65
        void ShowAbout ( HWND hWnd ); // Show DLL's "About..." box
 
66
 
 
67
        BOOL SupportsOptions ( int ext, DWORD options );
 
68
        int DoExport ( const TCHAR* name, ExpInterface* ei, Interface* i, BOOL suppressPrompts = FALSE, DWORD options = 0 );
 
69
 
 
70
                static DWORD WINAPI fn ( LPVOID );
 
71
 
 
72
    private:
 
73
        /** Disable copy constructor*/
 
74
        COLLADAExporter ( const COLLADAExporter & colladaExporter );
 
75
 
 
76
        /** Disable assignment operator*/
 
77
        COLLADAExporter & operator= ( const COLLADAExporter & colladaExporter );
 
78
 
 
79
    };
 
80
 
 
81
    ClassDesc2* getCOLLADAExporterDesc();
 
82
 
 
83
 
 
84
    //
 
85
    // ColladaExporterClassDesc
 
86
    //
 
87
 
 
88
    class ColladaExporterClassDesc : public ClassDesc2
 
89
    {
 
90
 
 
91
    public:
 
92
        int IsPublic()
 
93
        {
 
94
            return TRUE;
 
95
        }
 
96
 
 
97
        void * Create ( BOOL isLoading = FALSE )
 
98
        {
 
99
            isLoading;
 
100
            return new COLLADAExporter();
 
101
        }
 
102
 
 
103
        const TCHAR * ClassName()
 
104
        {
 
105
            return __T("OpenCOLLADAExporter");
 
106
        }
 
107
 
 
108
        SClass_ID SuperClassID()
 
109
        {
 
110
            return SCENE_EXPORT_CLASS_ID;
 
111
        }
 
112
 
 
113
        Class_ID ClassID()
 
114
        {
 
115
            return COLLADAExporter::COLLADASWEXPORTER_CLASS_ID;
 
116
        }
 
117
 
 
118
        const TCHAR* Category()
 
119
        {
 
120
            return __T("Export");
 
121
        } //GetString(IDS_CATEGORY_E); }
 
122
 
 
123
        const TCHAR* InternalName()
 
124
        {
 
125
            return _T ( "OpenCOLLADAExporter" );
 
126
        } // returns fixed parsable name (scripter-visible name)
 
127
 
 
128
        HINSTANCE HInstance()
 
129
        {
 
130
            return hInstance;
 
131
        }    // returns owning module handle
 
132
 
 
133
    };
 
134
 
 
135
 
 
136
 
 
137
}
 
138
 
 
139
 
 
140
#endif // __COLLADAMAX_COLLADASWEXPORTER_H__