27 _owner.cleanup_extrinsics();
28 _owner._locks_count.fetch_add(1);
35 _owner._locks_count.fetch_add(1);
39 _owner._locks_count.fetch_sub(1);
48 std::shared_ptr<lazy<rs2_extrinsics>> fetch_edge(
int from,
int to);
50 void cleanup_extrinsics();
53 std::atomic<int> _locks_count;
55 std::map<int, std::map<int, std::weak_ptr<lazy<rs2_extrinsics>>>> _extrinsics;
57 std::vector<std::shared_ptr<lazy<rs2_extrinsics>>> _external_extrinsics;
59 std::shared_ptr<lazy<rs2_extrinsics>> _id;
60 std::map<int, std::weak_ptr<const stream_interface>> _streams;
84 std::atomic<int> _stream_id;
85 std::shared_ptr<platform::time_service> _ts;
std::shared_ptr< platform::time_service > get_time_service()
int generate_stream_id()
Definition: environment.h:72
void register_same_extrinsics(const stream_interface &from, const stream_interface &to)
environment operator=(const environment &)=delete
Definition: streaming.h:31
void register_extrinsics(const stream_interface &from, const stream_interface &to, std::weak_ptr< lazy< rs2_extrinsics >> extr)
Definition: environment.h:65
void set_time_service(std::shared_ptr< platform::time_service > ts)
extrinsics_graph & _owner
Definition: environment.h:42
Cross-stream extrinsics: encode the topology describing how the different devices are connected...
Definition: rs_sensor.h:79
extrinsics_graph & get_extrinsics_graph()
Definition: environment.h:12
Definition: environment.h:22
bool try_fetch_extrinsics(const stream_interface &from, const stream_interface &to, rs2_extrinsics *extr)
~extrinsics_lock()
Definition: environment.h:38
extrinsics_lock(const extrinsics_lock &lock)
Definition: environment.h:31
static environment & get_instance()
extrinsics_lock(extrinsics_graph &owner)
Definition: environment.h:24