2 #include <cgv/render/render_types.h>
4 #include <unordered_map>
10 #include <cgv/data/ref_counted.h>
13 #include "lib_begin.h"
18 public cgv::render::render_types,
22 using container = std::vector<T, std::allocator<T>>;
27 SM_IN_MEMORY_AND_OSTREAM = 3,
41 container<double> time_stamp;
43 container<mat34> hmd_pose;
44 container<uint8_t> hmd_status;
52 bool setting_locked =
false;
53 int log_storage_mode = SM_NONE;
55 size_t nr_vr_states = 0;
57 std::shared_ptr<std::ostream> log_stream;
59 inline void unlock_settings() {
60 setting_locked =
false;
64 void log_vr_state(
const vr::vr_kit_state& state,
const int mode,
const int filter,
const double time, std::ostream* log_stream);
68 vr_log(std::istringstream& is);
72 log_vr_state(state, log_storage_mode, filters, time, log_stream.get());
77 void enable_in_memory_log();
80 void enable_ostream_log(
const std::shared_ptr<std::ostream>& stream);
88 inline int get_filter()
const {
95 inline const size_t recorded_vr_states()
const {
100 bool load_state(std::istringstream& is);
104 #include <cgv/config/lib_end.h>