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

This interface represents states that are passed to recursive calls of importers and exporters. More...

#include <iimpexp_state.h>

Inheritance diagram for mi::neuraylib::IImpexp_state:

Public Member Functions

virtual const char * get_uri () const =0
 Returns the URI for this file. More...
 
virtual Uint32 get_line_number () const =0
 Returns the line number after the last read or write operation. More...
 
virtual void set_line_number (Uint32 n)=0
 Sets the line number to n. More...
 
virtual void incr_line_number ()=0
 Convenience function that increments the line number by one. More...
 
virtual const IImpexp_stateget_parent_state () const =0
 Returns the state of the parent importer or exporter. 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< 0x8646a2cb, ... >
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< 0x8646a2cb, ... >
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

This interface represents states that are passed to recursive calls of importers and exporters.

It carries all state information that a recursive importer call may need to access from its calling importer, such as the URI and the current line number. It is, for example, used to provide proper diagnostics. The class implementing the state needs to be derived from this mi::neuraylib::IImpexp_state class.

Importer and exporter classes have a factory function to create the state object. This allows the calling function to create a state, initialize it and querying the number of lines imported after running the actual importer.

Importers and exporters can enrich their implementation of the state with additional information they may need to import or export specific formats recursively.