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
iscope.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_ISCOPE_H
9
#define MI_NEURAYLIB_ISCOPE_H
10
11
#include <
mi/base/interface_declare.h
>
12
13
#include <
mi/neuraylib/itransaction.h
>
14
15
namespace
mi {
16
17
namespace
neuraylib {
18
23
class
IScope :
public
44
mi::base::Interface_declare
<0x578df0c5,0xab97,0x460a,0xb5,0x0a,0x2c,0xf8,0x54,0x22,0x31,0xb9>
45
{
46
public
:
50
virtual
ITransaction*
create_transaction
() = 0;
51
62
template
<
class
T>
63
T*
create_transaction
()
64
{
65
ITransaction
* ptr_itransaction =
create_transaction
();
66
if
( !ptr_itransaction)
67
return
0;
68
T* ptr_T =
static_cast<
T*
>
( ptr_itransaction->
get_interface
(
typename
T::IID()));
69
ptr_itransaction->
release
();
70
return
ptr_T;
71
}
72
78
virtual
const
char
*
get_id
()
const
= 0;
79
87
virtual
Uint8
get_privacy_level
()
const
= 0;
88
92
virtual
const
char
*
get_name
()
const
= 0;
93
97
virtual
IScope
*
get_parent
()
const
= 0;
98
};
99
// end group mi_neuray_database_access
101
102
}
// namespace neuraylib
103
104
}
// namespace mi
105
106
#endif // MI_NEURAYLIB_ISCOPE_H
mi
neuraylib
iscope.h
Generated on Tue Aug 12 2014 15:28:35. Build 221133.3991, Doxygen 1.8.4