MDL SDK API
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 2022 NVIDIA Corporation. All rights reserved.
3
**************************************************************************************************/
6
7
#ifndef MI_NEURAYLIB_ISCOPE_H
8
#define MI_NEURAYLIB_ISCOPE_H
9
10
#include <
mi/base/interface_declare.h
>
11
12
#include <
mi/neuraylib/itransaction.h
>
13
14
namespace
mi {
15
16
namespace
neuraylib {
17
22
class
IScope :
public
48
mi::base::Interface_declare
<0x578df0c5,0xab97,0x460a,0xb5,0x0a,0x2c,0xf8,0x54,0x22,0x31,0xb9>
49
{
50
public
:
61
virtual
ITransaction*
create_transaction
() = 0;
62
75
template
<
class
T>
76
T*
create_transaction
()
77
{
78
ITransaction
* ptr_itransaction =
create_transaction
();
79
if
( !ptr_itransaction)
80
return
0;
81
T* ptr_T =
static_cast<
T*
>
( ptr_itransaction->
get_interface
(
typename
T::IID()));
82
ptr_itransaction->
release
();
83
return
ptr_T;
84
}
85
91
virtual
const
char
*
get_id
()
const
= 0;
92
100
virtual
Uint8
get_privacy_level
()
const
= 0;
101
105
virtual
const
char
*
get_name
()
const
= 0;
106
110
virtual
IScope
*
get_parent
()
const
= 0;
111
};
112
// end group mi_neuray_database_access
114
115
}
// namespace neuraylib
116
117
}
// namespace mi
118
119
#endif // MI_NEURAYLIB_ISCOPE_H
5 April 2022, 20:40, rev.358266
© 2022 NVIDIA Corporation.
All rights reserved.