NVIDIA Iray API
Home
Up
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, 2016 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
:
55
virtual
ITransaction*
create_transaction
() = 0;
56
67
template
<
class
T>
68
T*
create_transaction
()
69
{
70
ITransaction
* ptr_itransaction =
create_transaction
();
71
if
( !ptr_itransaction)
72
return
0;
73
T* ptr_T =
static_cast<
T*
>
( ptr_itransaction->
get_interface
(
typename
T::IID()));
74
ptr_itransaction->
release
();
75
return
ptr_T;
76
}
77
83
virtual
const
char
*
get_id
()
const
= 0;
84
92
virtual
Uint8
get_privacy_level
()
const
= 0;
93
97
virtual
const
char
*
get_name
()
const
= 0;
98
102
virtual
IScope
*
get_parent
()
const
= 0;
103
};
104
// end group mi_neuray_database_access
106
107
}
// namespace neuraylib
108
109
}
// namespace mi
110
111
#endif // MI_NEURAYLIB_ISCOPE_H
mi
neuraylib
iscope.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4