NVIDIA Iray API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
iextension_api.h
Go to the documentation of this file.
1
//*****************************************************************************
2
// Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3
//*****************************************************************************
6
//*****************************************************************************
7
8
#ifndef MI_NEURAYLIB_IEXTENSION_API_H
9
#define MI_NEURAYLIB_IEXTENSION_API_H
10
11
#include <
mi/base/handle.h
>
12
#include <
mi/base/interface_declare.h
>
13
#include <
mi/neuraylib/iuser_class_factory.h
>
14
#include <
mi/neuraylib/version.h
>
15
16
namespace
mi {
17
18
class
ICall_decl;
19
class
IEnum_decl;
20
class
IStructure_decl;
21
22
namespace
neuraylib {
23
28
class
IExporter;
29
class
IImporter;
30
33
class
IExtension_api
:
public
34
mi::base::Interface_declare
<0xdf2dd31e,0xeeaf,0x40b2,0x8c,0x5f,0x0a,0xb2,0xad,0x44,0x61,0x91>
35
{
36
public
:
38
39
60
virtual
Sint32
register_class
(
61
const
char
* class_name,
base::Uuid
uuid,
IUser_class_factory
* factory) = 0;
62
84
template
<
class
T>
85
Sint32
register_class
(
const
char
* class_name)
86
{
87
mi::base::Handle<IUser_class_factory>
factory(
new
User_class_factory<T>
());
88
return
register_class
( class_name,
typename
T::IID(), factory.
get
());
89
}
90
92
94
105
virtual
Sint32
register_importer
(
IImporter
* importer) = 0;
106
117
virtual
Sint32
register_exporter
(
IExporter
* exporter) = 0;
118
130
virtual
Sint32
unregister_importer
(
IImporter
* importer) = 0;
131
143
virtual
Sint32
unregister_exporter
(
IExporter
* exporter) = 0;
144
146
148
170
virtual
Sint32
register_structure_decl
(
171
const
char
* structure_name,
const
IStructure_decl
* decl) = 0;
172
184
virtual
Sint32
unregister_structure_decl
(
const
char
* structure_name) = 0;
185
187
189
211
virtual
Sint32
register_call_decl
(
212
const
char
* call_name,
const
ICall_decl
* decl) = 0;
213
223
virtual
Sint32
unregister_call_decl
(
const
char
* call_name) = 0;
224
226
228
245
virtual
Sint32
register_enum_decl
(
246
const
char
* enum_name,
const
IEnum_decl
* decl) = 0;
247
257
virtual
Sint32
unregister_enum_decl
(
const
char
* enum_name) = 0;
258
260
261
virtual
const
IStructure_decl
* MI_NEURAYLIB_DEPRECATED_METHOD_5_0(get_structure_decl)(
262
const
char
* structure_name)
const
= 0;
263
264
virtual
const
ICall_decl
* MI_NEURAYLIB_DEPRECATED_METHOD_5_0(get_call_decl)(
265
const
char
* call_name)
const
= 0;
266
267
virtual
const
IEnum_decl
* MI_NEURAYLIB_DEPRECATED_METHOD_5_0(get_enum_decl)(
268
const
char
* enum_name)
const
= 0;
269
};
270
// end group mi_neuray_configuration
272
273
}
// namespace neuraylib
274
275
}
// namespace mi
276
277
#endif // MI_NEURAYLIB_IEXTENSION_API_H
mi
neuraylib
iextension_api.h
Generated on Tue Aug 12 2014 15:28:35. Build 221133.3991, Doxygen 1.8.4