11#include <nv/index/app/index_connect.h>
12#include <nv/index/app/string_dict.h>
15#include "utility/example_shared.h"
17#include <nv/index/iindex.h>
18#include <nv/index/isession.h>
22int main(
int argc,
const char* argv[])
24 const std::string com_name(argv[0]);
26 nv::index::app::String_dict sdict;
27 sdict.insert(
"dice::verbose",
"3");
28 sdict.insert(
"unittest",
"0");
29 sdict.insert(
"is_dump_comparison_image_when_failed",
"1");
30 sdict.insert(
"is_call_from_test",
"0");
32 if (nv::index::app::get_bool(sdict.get(
"unittest",
"false")))
34 if (nv::index::app::get_bool(sdict.get(
"is_call_from_test",
"false")))
36 sdict.insert(
"is_dump_comparison_image_when_failed",
"0");
38 sdict.insert(
"dice::verbose",
"2");
40 info_cout(std::string(
"running ") + com_name, sdict);
46 nv::index::app::Index_connect index_connect;
47 index_connect.initialize(argc, argv, sdict);
51 info_cout(std::string(
"NVIDIA IndeX version: ") + index_connect.get_index_interface()->get_version(), sdict);
58 mi::base::Handle<nv::index::ICluster_configuration> rendering_properties_query(
59 index_connect.get_index_interface()->
60 get_api_component<nv::index::ICluster_configuration>());
61 check_success(rendering_properties_query.is_valid_interface());
62 rendering_properties_query->set_service_mode(
"rendering_and_compositing");
67 if (!index_connect.is_initialized())
69 printf(
"error: Fatal error! Initialization of the IndeX library failed.\n");
79 mi::base::Handle<mi::neuraylib::IDatabase> database(
80 index_connect.get_index_interface()->get_api_component<mi::neuraylib::IDatabase>());
83 mi::base::Handle<mi::neuraylib::IScope> global_scope(database->get_global_scope());
86 mi::base::Handle<mi::neuraylib::IDice_transaction> dice_transaction(index_connect.create_transaction());
92 mi::base::Handle<nv::index::IIndex_session> iindex_session(
93 index_connect.get_index_interface()->get_api_component<nv::index::IIndex_session>());
97 mi::neuraylib::Tag session_tag = iindex_session->create_session(dice_transaction.get());
101 mi::base::Handle<nv::index::ISession const> session(
102 dice_transaction->access<nv::index::ISession
const>(session_tag));
105 std::stringstream sstr;
110 session.get()->retain();
111 const mi::Uint32 ref_count = session.get()->release();
112 sstr <<
"Current reference count of session: " << ref_count;
113 info_cout(sstr.str(), sdict);
117 sstr <<
"Created an session: tag = " << session_tag.id;
118 info_cout(sstr.str(), sdict);
120 dice_transaction->commit();
int main(int argc, const char *argv[])
#define check_success(expr)