7#ifndef MI_NEURAYLIB_IATTRIBUTE_SET_H
8#define MI_NEURAYLIB_IATTRIBUTE_SET_H
57 PROPAGATION_FORCE_32_BIT = 0xffffffffU
372 public base::Interface_declare<0x1bcb8d48,0x10c1,0x4b3e,0x9b,0xfa,0x06,0x23,0x61,0x81,0xd3,0xe1>
425 if ( !ptr_iinterface)
427 T* ptr_T =
static_cast<T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
505 if ( !ptr_iinterface)
507 const T* ptr_T =
static_cast<const T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
543 if ( !ptr_iinterface)
545 T* ptr_T =
static_cast<T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
This interface is the base interface of all types.
Definition: idata.h:297
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
The attribute set comprises all attributes attached to a database element.
Definition: iattribute_set.h:373
T * edit_attribute(const char *name)
Returns a mutable pointer to the attribute name.
Definition: iattribute_set.h:540
virtual IData * edit_attribute(const char *name)=0
Returns a mutable pointer to the attribute name.
virtual const char * enumerate_attributes(Sint32 index) const =0
Returns the name of the attribute indicated by index.
const T * access_attribute(const char *name) const
Returns a const pointer to the attribute name.
Definition: iattribute_set.h:502
virtual Sint32 set_attribute_propagation(const char *name, Propagation_type value)=0
Sets the propagation type of the attribute name.
virtual IData * create_attribute(const char *name, const char *type)=0
Creates a new attribute name of the type type.
virtual const IData * access_attribute(const char *name) const =0
Returns a const pointer to the attribute name.
virtual bool is_attribute(const char *name) const =0
Indicates existence of an attribute.
virtual const char * get_attribute_type_name(const char *name) const =0
Returns the type of an attribute.
virtual Propagation_type get_attribute_propagation(const char *name) const =0
Returns the propagation type of the attribute name.
T * create_attribute(const char *name)
Creates a new attribute name of the type T.
Definition: iattribute_set.h:462
virtual bool destroy_attribute(const char *name)=0
Destroys the attribute name.
T * create_attribute(const char *name, const char *type)
Creates a new attribute name of the type type.
Definition: iattribute_set.h:422
#define mi_static_assert(expr)
Compile time assertion that raises a compilation error if the constant expression expr evaluates to f...
Definition: assert.h:58
virtual const IInterface * get_interface(const Uuid &interface_id) const =0
Acquires a const interface from another.
virtual Uint32 release() const =0
Decrements the reference count.
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Propagation_type
Propagation types for attribute inheritance.
Definition: iattribute_set.h:54
@ PROPAGATION_STANDARD
Standard inheritance of attributes without any special flags.
Definition: iattribute_set.h:55
@ PROPAGATION_OVERRIDE
The override flag for attribute inheritance.
Definition: iattribute_set.h:56
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5
Type traits relating interfaces, corresponding primitive types, and their type names.
Definition: type_traits.h:162