Go to the documentation of this file.
36 #include <GLFW/glfw3.h>
39 #include <unordered_map>
40 #include <unordered_set>
55 namespace visualization {
81 const int width = 640,
85 const bool visible =
true);
94 std::function<
bool(
Visualizer *)> callback_func);
124 std::shared_ptr<const geometry::Geometry> geometry_ptr,
125 bool reset_bounding_box =
true);
134 std::shared_ptr<const geometry::Geometry> geometry_ptr,
135 bool reset_bounding_box =
true);
148 std::shared_ptr<const geometry::Geometry> geometry_ptr =
nullptr);
161 bool do_render =
true);
163 bool do_render =
true);
165 bool do_render =
true);
167 bool do_render =
true,
168 double depth_scale = 1000.0);
170 bool do_render =
true,
171 bool convert_to_world_coordinate =
false);
206 GLFWwindow *window,
int key,
int scancode,
int action,
int mods);
234 std::unordered_set<std::shared_ptr<const geometry::Geometry>>
238 std::unordered_set<std::shared_ptr<glsl::GeometryRenderer>>
248 std::unordered_map<std::shared_ptr<glsl::GeometryRenderer>,
RenderOption>
253 std::shared_ptr<glsl::CoordinateFrameRenderer>
260 double pixel_to_screen_coordinate_ = 1.0;
void CopyViewStatusFromClipboard()
Definition: VisualizerRender.cpp:129
bool is_alt_key_down
Definition: Visualizer.h:64
virtual void WindowRefreshCallback(GLFWwindow *window)
Definition: VisualizerCallback.cpp:32
int width
Definition: FilePCD.cpp:68
void CaptureScreenImage(const std::string &filename="", bool do_render=true)
Definition: VisualizerRender.cpp:175
GLFWwindow * window_
Definition: Visualizer.h:211
void ResetViewPoint(bool reset_bounding_box=false)
Definition: VisualizerRender.cpp:95
virtual bool InitRenderOption()
Function to initialize RenderOption.
Definition: Visualizer.cpp:223
bool is_control_key_down
Definition: Visualizer.h:62
std::function< bool(Visualizer *)> animation_callback_func_in_loop_
Definition: Visualizer.h:218
virtual void BuildUtilities()
Definition: Visualizer.cpp:234
void RegisterAnimationCallback(std::function< bool(Visualizer *)> callback_func)
Definition: Visualizer.cpp:212
std::vector< std::shared_ptr< const geometry::Geometry > > utility_ptrs_
Definition: Visualizer.h:242
virtual void KeyPressCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
Definition: VisualizerCallback.cpp:113
std::shared_ptr< geometry::Image > CaptureScreenFloatBuffer(bool do_render=true)
Definition: VisualizerRender.cpp:146
Definition: RenderOption.h:36
const std::string & GetWindowName() const
Definition: Visualizer.h:175
std::unordered_set< std::shared_ptr< const geometry::Geometry > > geometry_ptrs_
Definition: Visualizer.h:235
RenderOption & GetRenderOption()
Definition: Visualizer.h:159
virtual bool AddGeometry(std::shared_ptr< const geometry::Geometry > geometry_ptr, bool reset_bounding_box=true)
Definition: Visualizer.cpp:298
Visualizer(const Visualizer &)=delete
Visualizer(Visualizer &&)=delete
Visualizer()
Definition: Visualizer.cpp:68
virtual bool InitViewControl()
Function to initialize ViewControl.
Definition: Visualizer.cpp:217
virtual bool RemoveGeometry(std::shared_ptr< const geometry::Geometry > geometry_ptr, bool reset_bounding_box=true)
Definition: Visualizer.cpp:386
std::unordered_map< std::shared_ptr< glsl::GeometryRenderer >, RenderOption > utility_renderer_opts_
Definition: Visualizer.h:249
virtual void Render()
Definition: VisualizerRender.cpp:67
virtual bool UpdateGeometry(std::shared_ptr< const geometry::Geometry > geometry_ptr=nullptr)
Definition: Visualizer.cpp:420
ViewControl & GetViewControl()
Definition: Visualizer.h:158
std::vector< std::shared_ptr< glsl::GeometryRenderer > > utility_renderer_ptrs_
Definition: Visualizer.h:245
std::shared_ptr< geometry::Image > CaptureDepthFloatBuffer(bool do_render=true)
Definition: VisualizerRender.cpp:221
bool WaitEvents()
Definition: Visualizer.cpp:272
virtual void WindowCloseCallback(GLFWwindow *window)
Definition: VisualizerCallback.cpp:348
bool PollEvents()
Definition: Visualizer.cpp:285
void CaptureDepthImage(const std::string &filename="", bool do_render=true, double depth_scale=1000.0)
Definition: VisualizerRender.cpp:285
std::shared_ptr< geometry::TriangleMesh > coordinate_frame_mesh_ptr_
Definition: Visualizer.h:252
void Close()
Function to to notify the window to be closed.
Definition: Visualizer.cpp:267
GLuint vao_id_
Definition: Visualizer.h:225
virtual void MouseButtonCallback(GLFWwindow *window, int button, int action, int mods)
Definition: VisualizerCallback.cpp:81
virtual bool InitOpenGL()
Function to initialize OpenGL.
Definition: VisualizerRender.cpp:40
double mouse_position_y
Definition: Visualizer.h:67
void DestroyVisualizerWindow()
Definition: Visualizer.cpp:206
bool is_mouse_left_button_down
Definition: Visualizer.h:60
virtual bool HasGeometry() const
Definition: Visualizer.cpp:436
Definition: ViewControl.h:38
void CopyViewStatusToClipboard()
Definition: VisualizerRender.cpp:114
double mouse_position_x
Definition: Visualizer.h:66
std::unique_ptr< ViewControl > view_control_ptr_
Definition: Visualizer.h:228
virtual void MouseScrollCallback(GLFWwindow *window, double x, double y)
Definition: VisualizerCallback.cpp:76
virtual void MouseMoveCallback(GLFWwindow *window, double x, double y)
Definition: VisualizerCallback.cpp:44
bool is_super_key_down
Definition: Visualizer.h:65
std::unordered_set< std::shared_ptr< glsl::GeometryRenderer > > geometry_renderer_ptrs_
Definition: Visualizer.h:239
Definition: PinholeCameraIntrinsic.cpp:34
virtual void UpdateRender()
Function to set the redraw flag as dirty.
Definition: Visualizer.cpp:434
virtual void WindowResizeCallback(GLFWwindow *window, int w, int h)
Definition: VisualizerCallback.cpp:39
void CaptureDepthPointCloud(const std::string &filename="", bool do_render=true, bool convert_to_world_coordinate=false)
Definition: VisualizerRender.cpp:368
virtual void UpdateWindowTitle()
Definition: Visualizer.cpp:228
int height
Definition: FilePCD.cpp:69
virtual ~Visualizer()
Definition: Visualizer.cpp:70
bool CreateVisualizerWindow(const std::string &window_name="Open3D", const int width=640, const int height=480, const int left=50, const int top=50, const bool visible=true)
Definition: Visualizer.cpp:74
virtual bool ClearGeometries()
Definition: Visualizer.cpp:410
bool is_redraw_required_
Definition: Visualizer.h:223
bool is_initialized_
Definition: Visualizer.h:224
std::string window_name_
Definition: Visualizer.h:212
Visualizer & operator=(const Visualizer &)=delete
Definition: Visualizer.h:58
std::unique_ptr< RenderOption > render_option_ptr_
Definition: Visualizer.h:231
MouseControl mouse_control_
Definition: Visualizer.h:222
std::shared_ptr< glsl::CoordinateFrameRenderer > coordinate_frame_mesh_renderer_ptr_
Definition: Visualizer.h:254
Definition: Visualizer.h:56
virtual void PrintVisualizerHelp()
Definition: Visualizer.cpp:438
bool is_mouse_middle_button_down
Definition: Visualizer.h:61
void Run()
Definition: Visualizer.cpp:251
void CaptureRenderOption(const std::string &filename="")
Definition: VisualizerRender.cpp:450
bool is_shift_key_down
Definition: Visualizer.h:63
std::function< bool(Visualizer *)> animation_callback_func_
Definition: Visualizer.h:213