NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::bridge::IIray_bridge_snapshot_context Class Referenceabstract

Context for creating Iray Bridge snapshots. More...

Inheritance diagram for mi::bridge::IIray_bridge_snapshot_context:
Inheritance graph
[legend]

Public Member Functions

virtual Sint32  create_snapshot (neuraylib::ITransaction *transaction, const char *file_name, IIray_bridge_snapshot_callback *callback, bool incremental=false)=0
  Creates a scene snapshot on the Iray Bridge server. More...
 
virtual Sint32  cancel_snapshot ()=0
  Cancels the snapshot currently being created by this snapshot context. More...
 
virtual Sint32  set_option (const char *name, const IData *value)=0
  Sets the value of a snapshot context option. More...
 
virtual const IData get_option (const char *name) const =0
  Returns the value of a snapshot context option. More...
 
template<class T >
const T *  get_option (const char *name) const
  Returns the value of a snapshot context option. More...
 
virtual Size  get_options_length () const =0
  Returns the number of render context options. More...
 
virtual const char *  get_option_name (Size index) const =0
  Returns the name of a render context option. More...
 
virtual const char *  get_option_type (Size index) const =0
  Returns the type of a render context option. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xe624c597, 0x2223, 0x441b, 0x81, 0xf7, 0x43, 0x48, 0xc8, 0xfd, 0x43, 0x1a >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
  Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
  Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xe624c597, 0x2223, 0x441b, 0x81, 0xf7, 0x43, 0x48, 0xc8, 0xfd, 0x43, 0x1a >
static bool  compare_iid (const Uuid &iid)
  Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

Context for creating Iray Bridge snapshots.

A snapshot context is very similar to a render context, but instead of rendering it allows to create scene snapshots on the server. Instances of this class are meant to be used together with Bridge render contexts to save snapshots to take advantage of Bridge features such as incremental changes.

This context will, just as the Bridge renderer contexts, use the Iray Bridge server URL and security token as set on the API component mi::bridge::IIray_bridge_client, and will also detect changes to the application URL which will trigger an automatic reconnect to the new Iray Bridge server.

See Also
mi::bridge::IIray_bridge_client::create_snapshot_context()

Member Function Documentation

virtual Sint32 mi::bridge::IIray_bridge_snapshot_context::cancel_snapshot ( )
pure virtual

Cancels the snapshot currently being created by this snapshot context.

Note
This method returns immediately and the snapshot will be canceled as quickly as possible, at which time the provided callback will be invoked with an error code. Note that the snapshot might still be created successfully after calling cancel if it was to late to cancel it.
Returns
  • 0: Success.
  • -2: Network error.
  • -3: Failed to abort the snapshot.
  • <= -4: Unspecified error.
virtual Sint32 mi::bridge::IIray_bridge_snapshot_context::create_snapshot ( neuraylib::ITransaction transaction,
const char *  file_name,
IIray_bridge_snapshot_callback callback,
bool  incremental = false 
)
pure virtual

Creates a scene snapshot on the Iray Bridge server.

Only one snapshot can be created at a time. Calling this method while another snapshot is being created will fail.

Parameters
transaction The transaction to use when creating the snapshot. Any data that is not up to date on the server will be sent automatically. The transaction needs to be from the same scope as the transaction used to create the context.
file_name The name of the file to save the snapshot to. The location of the file is configured on the server. If called with an empty string (or NULL) the server will generate a unique name for the snapshot. This name will be provided in the callback to the provided mi::bridge::IIray_bridge_snapshot_callback instance.
callback The callback that will be called on progress and when the snapshot has been successfully saved, or if there was an error.
incremental If true, then only the changes since the last call to create_snapshot() will be saved. Loading of the incremental snapshot requires loading the full snapshot first and any later previous incremental snapshots.
Returns
  • 0: Success.
  • -1: Invalid arguments.
  • -2: Network error.
  • -3: A snapshot is currently already being created.
  • -4: The scene element could not be accessed.
  • <= -5: Unspecified error.
virtual const IData* mi::bridge::IIray_bridge_snapshot_context::get_option ( const char *  name) const
pure virtual

Returns the value of a snapshot context option.

See Also
set_option(), get_option_name()
Parameters
name The name of the option.
Returns
The value of the option, or NULL in case of failure, e.g., if there is no such option.
template<class T >
const T* mi::bridge::IIray_bridge_snapshot_context::get_option ( const char *  name) const
inline

Returns the value of a snapshot context option.

See Also
set_option(), get_option_name()

This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid &) on the returned pointer, since the return type already is a pointer to the type T specified as template parameter.

Template Parameters
T The interface type of the render-context option.
Parameters
name The name of the option.
Returns
The value of the option, or NULL in case of failure, e.g., if there is no such option.
virtual const char* mi::bridge::IIray_bridge_snapshot_context::get_option_name ( Size  index) const
pure virtual

Returns the name of a render context option.

See Also
get_options_length(), get_option_type(), get_option(), set_option()
Parameters
index The index of the render context option in question.
Returns
The name of the specified render context option, or NULL if index is out of bounds.
virtual const char* mi::bridge::IIray_bridge_snapshot_context::get_option_type ( Size  index) const
pure virtual

Returns the type of a render context option.

See Also
get_options_length(), get_option_name(), get_option(), set_option()
Parameters
index The index of the render context option in question.
Returns
The type of the specified render context option, or NULL if index is out of bounds.
virtual Size mi::bridge::IIray_bridge_snapshot_context::get_options_length ( ) const
pure virtual

Returns the number of render context options.

See Also
get_option_name()
virtual Sint32 mi::bridge::IIray_bridge_snapshot_context::set_option ( const char *  name,
const IData value 
)
pure virtual

Sets the value of a snapshot context option.

Supported options are "bridge_address" and "bridge_security_token", both of type IString, which override the default settings for the bridge server and security token to use when saving snapshots.

See Also
get_option(), get_option_name(), get_option_type()
Parameters
name The name of the option to be set.
value The value of the option to be set.
Returns
  • 0: Success.
  • -1: name is invalid.
  • -2: value is invalid.
  • -3: The option can not be set at this point in time.