NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IScene_group Class Referenceabstract

A scene group allows structuring a scene in a hierarchical form. More...

#include <iscene_group.h>

Inherits mi::base::Interface_declare< 0xdf29205a, ... >.

Public Member Functions

virtual bool append (mi::neuraylib::Tag_struct scene_element_tag, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Append a scene element at the end of the scene group's element list. More...
 
virtual bool prepend (mi::neuraylib::Tag_struct scene_element_tag, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Add a scene element as the new first item of the scene group's element list. More...
 
virtual mi::Uint32 nb_elements () const =0
 Get the number of scene elements contained in this group. More...
 
virtual mi::neuraylib::Tag_struct get_scene_element (mi::Uint32 index) const =0
 Get the scene element tag at the position index of the scene group's element list. More...
 
virtual bool insert (mi::Uint32 index, mi::neuraylib::Tag_struct scene_element_tag, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Insert a scene element into the scene group's element list at position index. More...
 
virtual bool remove (mi::Uint32 index, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Remove the scene element at the position index in the element list from the group. More...
 
virtual bool remove (mi::neuraylib::Tag_struct scene_element_tag, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Remove all scene elements with the given tag from the group. More...
 
virtual void clear (mi::neuraylib::IDice_transaction *dice_transaction)=0
 Remove all scene elements from the group. More...
 

Detailed Description

A scene group allows structuring a scene in a hierarchical form.

Every scene group may contain a list of scene elements referenced by tags. A scene element can be a shape (e.g., a sphere), an attribute (e.g., a material), or other scene groups. Scene groups that contains other scene groups create a hierarchical scene description.

Member Function Documentation

 append()

virtual bool nv::index::IScene_group::append ( mi::neuraylib::Tag_struct  scene_element_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Append a scene element at the end of the scene group's element list.

Certain scene elements may have restrictions on where in the scene description they may be added, and these rules will be enforced by this method.

Parameters
[in]scene_element_tagTag of the scene element
[in]dice_transactionDiCE transaction
Returns
true on success, or false when the element could not be added

 clear()

virtual void nv::index::IScene_group::clear ( mi::neuraylib::IDice_transaction *  dice_transaction)
pure virtual

Remove all scene elements from the group.

Parameters
[in]dice_transactionDiCE transaction

 get_scene_element()

virtual mi::neuraylib::Tag_struct nv::index::IScene_group::get_scene_element ( mi::Uint32  index) const
pure virtual

Get the scene element tag at the position index of the scene group's element list.

Parameters
[in]indexThe index in the list of scene elements
Returns
the scene element tag position at index, or NULL_TAG when the index is invalid.

 insert()

virtual bool nv::index::IScene_group::insert ( mi::Uint32  index,
mi::neuraylib::Tag_struct  scene_element_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Insert a scene element into the scene group's element list at position index.

Certain scene elements may have restrictions on where in the scene description they may be added, and these rules will be enforced by this method.

Parameters
[in]indexThe index in the list of scene elements
[in]scene_element_tagTag of the scene element to be inserted
[in]dice_transactionDiCE transaction
Returns
true on success, or false when the element could not be added.

 nb_elements()

virtual mi::Uint32 nv::index::IScene_group::nb_elements ( ) const
pure virtual

Get the number of scene elements contained in this group.

Returns
the number of contained elements

 prepend()

virtual bool nv::index::IScene_group::prepend ( mi::neuraylib::Tag_struct  scene_element_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Add a scene element as the new first item of the scene group's element list.

Certain scene elements may have restrictions on where in the scene description they may be added, and these rules will be enforced by this method.

Parameters
[in]scene_element_tagTag of the scene element
[in]dice_transactionDiCE transaction
Returns
true on success, or false when the element could not be added

 remove() [1/2]

virtual bool nv::index::IScene_group::remove ( mi::neuraylib::Tag_struct  scene_element_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Remove all scene elements with the given tag from the group.

Parameters
[in]scene_element_tagTag of the scene element to be removed
[in]dice_transactionDiCE transaction
Returns
true on success, or false when the element was not found

 remove() [2/2]

virtual bool nv::index::IScene_group::remove ( mi::Uint32  index,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Remove the scene element at the position index in the element list from the group.

Parameters
[in]indexThe index in the list of scene elements
[in]dice_transactionDiCE transaction
Returns
true on success, or false when the element was not found

The documentation for this class was generated from the following file: