diff --git a/src/environment.cpp b/src/environment.cpp index 400b6c3cf05..9ea6c64bffa 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -48,6 +48,7 @@ namespace librealsense void extrinsics_graph::register_extrinsics(const stream_interface & from, const stream_interface & to, rs2_extrinsics extr) { auto lazy_extr = std::make_shared>([=]() {return extr; }); + _external_extrinsics.push_back(lazy_extr); register_extrinsics(from, to, lazy_extr); } diff --git a/src/environment.h b/src/environment.h index ed6170a54a0..7cae0c3628a 100644 --- a/src/environment.h +++ b/src/environment.h @@ -46,6 +46,8 @@ namespace librealsense private: std::mutex _mutex; std::shared_ptr> _id; + // Required by current implementation to hold the reference instead of the device for certain types. TODO + std::vector>> _external_extrinsics; PRIVATE_TESTABLE: std::shared_ptr> fetch_edge(int from, int to);