iscope.h File Reference
Description
Database scopes.
Code Example
iscope.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_ISCOPE_H
#define MI_NEURAYLIB_ISCOPE_H
#include <mi/base/interface_declare.h>
#include <mi/neuraylib/itransaction.h>
namespace mi {
namespace neuraylib {
class IScope : public
mi::base::Interface_declare<0x578df0c5,0xab97,0x460a,0xb5,0x0a,0x2c,0xf8,0x54,0x22,0x31,0xb9>
{
public:
virtual ITransaction* create_transaction() = 0;
template<class T>
T* create_transaction()
{
ITransaction* ptr_itransaction = create_transaction();
if ( !ptr_itransaction)
return 0;
T* ptr_T = static_cast<T*>( ptr_itransaction->get_interface( typename T::IID()));
ptr_itransaction->release();
return ptr_T;
}
virtual const char* get_id() const = 0;
virtual Uint8
get_privacy_level() const = 0;
virtual const char* get_name() const = 0;
virtual IScope* get_parent() const = 0;
};
// end group mi_neuray_database_access
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_ISCOPE_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- A scope is the context which determines the visibility of database elements. More...