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

Interface representing a volume data set. More...

#include <ivolume.h>

Inheritance diagram for mi::neuraylib::IVolume_data:

Public Member Functions

virtual Sint32 reset_file (const char *filename, const char *selector=0)=0
 Sets the volume data to a file identified by filename. More...
 
virtual Sint32 reset_reader (IReader *reader, const char *format, const char *selector=0)=0
 Sets the volume data to the data provided by a reader. More...
 
virtual const char * get_filename () const =0
 Returns the resolved file name of the file containing the volume data. More...
 
virtual const char * get_original_filename () const =0
 Returns the unresolved file as passed to reset_file(). More...
 
virtual const char * get_selector () const =0
 Returns the name of the file's data selector selected via reset_file(). More...
 
virtual Voxel_block_struct get_data_bounds () const =0
 Returns the bounding box stored in the current data set. More...
 
virtual Float32_4_4_struct get_transform () const =0
 Returns the internal transformation from voxel space to world space. More...
 
virtual const IArraylist_contents (const char *path)=0
 Lists the data sets contained in a file. More...
 
virtual const IArraylist_contents (IReader *reader, const char *format)=0
 Lists the data sets contained in a file. More...
 
virtual Sint32 export_file (const char *filename, const char *selector=0) const =0
 Writes the loaded data set to the provided path. 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< 0xe0ce059f, ... >
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< 0xe0ce059f, ... >
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 volume data set.

IVolume_data represents a set of volume coefficients in three dimensional space. It is conceptually similar to a 3d texture.

Member Function Documentation

 export_file()

virtual Sint32 mi::neuraylib::IVolume_data::export_file ( const char *  filename,
const char *  selector = 0 
) const
pure virtual

Writes the loaded data set to the provided path.

Data must have been loaded via reset_file() or reset_reader(). If provided, the data will be stored under selector.

Returns

 get_data_bounds()

virtual Voxel_block_struct mi::neuraylib::IVolume_data::get_data_bounds ( ) const
pure virtual

Returns the bounding box stored in the current data set.

This function returns the bounds of the data grid contained in the file. Bounds are in voxel space and thus integer coordinates. The transformation from voxel space to world space may be obtained by calling get_transform().

This function returns an empty box when no file was loaded, either because reset_file was not yet called, or because loading failed.

See also
get_transform()

 get_filename()

virtual const char * mi::neuraylib::IVolume_data::get_filename ( ) const
pure virtual

Returns the resolved file name of the file containing the volume data.

This function returns NULL if there is no file associated with the data, e.g., after default construction, or failures to resolve the file name passed to reset_file().

See also
get_original_filename()

 get_original_filename()

virtual const char * mi::neuraylib::IVolume_data::get_original_filename ( ) const
pure virtual

Returns the unresolved file as passed to reset_file().

This function returns NULL after default construction.

See also
get_filename()

 get_selector()

virtual const char * mi::neuraylib::IVolume_data::get_selector ( ) const
pure virtual

Returns the name of the file's data selector selected via reset_file().

This function returns NULL after default construction.

 get_transform()

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

Returns the internal transformation from voxel space to world space.

This function returns the volume file's internal transformation from voxel space to world space, or identity if no such transform is available.

See also
get_data_bounds()

 list_contents() [1/2]

virtual const IArray * mi::neuraylib::IVolume_data::list_contents ( const char *  path)
pure virtual

Lists the data sets contained in a file.

This function inspects the file referenced by path and provides information about its contents. This information may be used to inform the decision of which selector to use with the reset_file() and reset_reader() functions.

Returns
an array of IVolume_info, or nullptr if errors are encountered.

 list_contents() [2/2]

virtual const IArray * mi::neuraylib::IVolume_data::list_contents ( IReader reader,
const char *  format 
)
pure virtual

Lists the data sets contained in a file.

See also
list_contents(const char*)
reset_reader()
Returns
an array of IVolume_info, or nullptr if errors are encountered.

 reset_file()

virtual Sint32 mi::neuraylib::IVolume_data::reset_file ( const char *  filename,
const char *  selector = 0 
)
pure virtual

Sets the volume data to a file identified by filename.

The optional selector string encodes the name of the data set (grid) within the given file. If no selector is provided a default is selected automatically.

Returns
  • 0: Success.
  • -1: Invalid parameters (NULL pointer).
  • -3: No plugin found to handle the file.
  • -4: Failure to resolve the given filename, e.g., the file does not exist.
  • -7: The plugin failed to import the file.

 reset_reader()

virtual Sint32 mi::neuraylib::IVolume_data::reset_reader ( IReader reader,
const char *  format,
const char *  selector = 0 
)
pure virtual

Sets the volume data to the data provided by a reader.

Parameters
readerThe reader that provides the data for the volume. The reader needs to support absolute access.
formatThe file format of the volume data.
selectorThe selector. If none is provided a default is selected automatically.
Returns
  • 0: Success.
  • -1: Invalid parameters (NULL pointer).
  • -3: No plugin found to handle the file.
  • -6: The reader does not support absolute access.
  • -7: The plugin failed to import the data.