#ifndef DEPTHGUIDE_CAMERA_AUGMENT_HELPER_IMPL_H #define DEPTHGUIDE_CAMERA_AUGMENT_HELPER_IMPL_H #include "module/camera_augment_helper.h" struct camera_augment_helper::impl { struct ui_config_type { glm::vec3 extra_offset; glm::vec3 extra_rotation; bool ignore_missing = false; struct { float near = 0.1f; float far = 1000.0f; } clip; // clip range glm::mat4 extra_transform() const; }; std::shared_ptr ui_conf = std::make_shared(); float fov = 0.0f; std::string transform_var; // for sophiar glm::mat4 transform = glm::mat4(1.0f); // identity matrix, exclude extra_transform using sophiar_conn_type = create_config::sophiar_conn_type; sophiar_conn_type *sophiar_conn = nullptr; augment_manager *manager = nullptr; explicit impl(const create_config &conf); void render(); void show(); }; #endif //DEPTHGUIDE_CAMERA_AUGMENT_HELPER_IMPL_H