Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IVolume Class Referenceabstract

Interface representing a top-level volume. More...

#include <ivolume.h>

Inheritance diagram for mi::neuraylib::IVolume:

Public Member Functions

virtual void set_bounds (const Bbox3_struct &box, const Float32_4_4_struct &tf=Float32_4_4(1))=0
 Sets the bounds of this object. More...
 
virtual Bbox3_struct get_bounds () const =0
 Retrieves the bounds of this object. More...
 
virtual Float32_4_4_struct get_transform () const =0
 Retrieves the bounds transform of this object. More...
 
void set_bounds (const Bbox3 &box, const Float32_4_4_struct &tf=Float32_4_4(1))
 This inline method exists for the user's convenience since mi::math::Bbox is not derived from mi::math::Bbox_struct. More...
 
- Public Member Functions inherited from mi::neuraylib::IScene_element
virtual Element_type get_element_type () const =0
 Indicates the actual scene element represented by interfaces derived from this interface. More...
 
- Public Member Functions inherited from mi::neuraylib::IAttribute_set
virtual IDatacreate_attribute (const char *name, const char *type)=0
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name, const char *type)
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name)
 Creates a new attribute name of the type T. More...
 
virtual bool destroy_attribute (const char *name)=0
 Destroys the attribute name. More...
 
virtual const IDataaccess_attribute (const char *name) const =0
 Returns a const pointer to the attribute name. More...
 
template<class T>
const T * access_attribute (const char *name) const
 Returns a const pointer to the attribute name. More...
 
virtual IDataedit_attribute (const char *name)=0
 Returns a mutable pointer to the attribute name. More...
 
template<class T>
T * edit_attribute (const char *name)
 Returns a mutable pointer to the attribute name. More...
 
virtual bool is_attribute (const char *name) const =0
 Indicates existence of an attribute. More...
 
virtual const char * get_attribute_type_name (const char *name) const =0
 Returns the type of an attribute. More...
 
virtual Sint32 set_attribute_propagation (const char *name, Propagation_type value)=0
 Sets the propagation type of the attribute name. More...
 
virtual Propagation_type get_attribute_propagation (const char *name) const =0
 Returns the propagation type of the attribute name. More...
 
virtual const char * enumerate_attributes (Sint32 index) const =0
 Returns the name of the attribute indicated by index. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xdc35e746, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xdc35e746, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

Interface representing a top-level volume.

IVolume represents a volume which encloses a single participating medium but (contrary to meshes) has no hull. Volumes can be instanced and transformed as usual. Volumes displace the vacuum of the scene but are themselves displaced by closed geometry.

Member Function Documentation

 get_bounds()

virtual Bbox3_struct mi::neuraylib::IVolume::get_bounds ( ) const
pure virtual

Retrieves the bounds of this object.

If no bounds were set, this function returns the unit cube.

See also
set_bounds()

 get_transform()

virtual Float32_4_4_struct mi::neuraylib::IVolume::get_transform ( ) const
pure virtual

Retrieves the bounds transform of this object.

If no bounds were set, this function returns the identity transform.

See also
set_bounds()

 set_bounds() [1/2]

void mi::neuraylib::IVolume::set_bounds ( const Bbox3 box,
const Float32_4_4_struct tf = Float32_4_4(1) 
)
inline

This inline method exists for the user's convenience since mi::math::Bbox is not derived from mi::math::Bbox_struct.

 set_bounds() [2/2]

virtual void mi::neuraylib::IVolume::set_bounds ( const Bbox3_struct box,
const Float32_4_4_struct tf = Float32_4_4(1) 
)
pure virtual

Sets the bounds of this object.

Volume data outside of these bounds will not be visible.

When using materials which directly look up a volume data file like VDB, it is useful to set this object's bounds based on the information provided by mi::neuraylib::IVolume_data::get_data_bounds() and mi::neuraylib::IVolume_data::get_transform().