![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
The main Visualizer class. More...
#include <Visualizer.h>


Classes | |
| struct | MouseControl |
Public Member Functions | |
| Visualizer () | |
| virtual | ~Visualizer () |
| Visualizer (Visualizer &&)=delete | |
| Visualizer (const Visualizer &)=delete | |
| Visualizer & | operator= (const Visualizer &)=delete |
| bool | CreateVisualizerWindow (const std::string &window_name="CloudViewer", const int width=640, const int height=480, const int left=50, const int top=50, const bool visible=true) |
| Function to create a window and initialize GLFW. More... | |
| void | DestroyVisualizerWindow () |
| Function to destroy a window. More... | |
| void | RegisterAnimationCallback (std::function< bool(Visualizer *)> callback_func) |
| Function to register a callback function for animation. More... | |
| void | Run () |
| Function to activate the window. More... | |
| void | Close () |
| Function to to notify the window to be closed. More... | |
| bool | WaitEvents () |
| Function to process the event queue and return if the window is closed. More... | |
| bool | PollEvents () |
| virtual bool | AddGeometry (std::shared_ptr< const ccHObject > geometry_ptr, bool reset_bounding_box=true) |
| Function to add geometry to the scene and create corresponding shaders. More... | |
| virtual bool | RemoveGeometry (std::shared_ptr< const ccHObject > geometry_ptr, bool reset_bounding_box=true) |
| Function to remove geometry from the scene. More... | |
| virtual bool | ClearGeometries () |
| virtual bool | UpdateGeometry (std::shared_ptr< const ccHObject > geometry_ptr=nullptr) |
| Function to update geometry. More... | |
| virtual bool | HasGeometry () const |
| virtual void | UpdateRender () |
| Function to inform render needed to be updated. More... | |
| virtual void | SetFullScreen (bool fullscreen) |
| Functions to change between fullscreen and windowed modes. More... | |
| virtual void | ToggleFullScreen () |
| virtual bool | IsFullScreen () |
| virtual void | PrintVisualizerHelp () |
| virtual void | UpdateWindowTitle () |
| virtual void | BuildUtilities () |
| ViewControl & | GetViewControl () |
| Function to retrieve the associated ViewControl. More... | |
| RenderOption & | GetRenderOption () |
| Function to retrieve the associated RenderOption. More... | |
| std::shared_ptr< geometry::Image > | CaptureScreenFloatBuffer (bool do_render=true) |
| Function to capture screen and store RGB in a float buffer. More... | |
| void | CaptureScreenImage (const std::string &filename="", bool do_render=true) |
| Function to capture and save a screen image. More... | |
| std::shared_ptr< geometry::Image > | CaptureDepthFloatBuffer (bool do_render=true) |
| void | CaptureDepthImage (const std::string &filename="", bool do_render=true, double depth_scale=1000.0) |
| void | CaptureDepthPointCloud (const std::string &filename="", bool do_render=true, bool convert_to_world_coordinate=false) |
| Function to capture and save local point cloud. More... | |
| void | CaptureRenderOption (const std::string &filename="") |
| void | ResetViewPoint (bool reset_bounding_box=false) |
| Function to reset view point. More... | |
| const std::string & | GetWindowName () const |
Protected Member Functions | |
| virtual bool | InitOpenGL () |
| Function to initialize OpenGL. More... | |
| virtual bool | InitViewControl () |
| Function to initialize ViewControl. More... | |
| virtual bool | InitRenderOption () |
| Function to initialize RenderOption. More... | |
| virtual void | Render (bool render_screen=false) |
| void | CopyViewStatusToClipboard () |
| void | CopyViewStatusFromClipboard () |
| virtual void | WindowRefreshCallback (GLFWwindow *window) |
| virtual void | WindowResizeCallback (GLFWwindow *window, int w, int h) |
| virtual void | MouseMoveCallback (GLFWwindow *window, double x, double y) |
| virtual void | MouseScrollCallback (GLFWwindow *window, double x, double y) |
| virtual void | MouseButtonCallback (GLFWwindow *window, int button, int action, int mods) |
| virtual void | KeyPressCallback (GLFWwindow *window, int key, int scancode, int action, int mods) |
| virtual void | WindowCloseCallback (GLFWwindow *window) |
| Function to notify the window to be closed. More... | |
Protected Attributes | |
| GLFWwindow * | window_ = nullptr |
| std::string | window_name_ = "CloudViewer" |
| std::shared_ptr< GLFWContext > | glfw_context_ = nullptr |
| Shared GLFW context. More... | |
| Eigen::Vector2i | saved_window_size_ = Eigen::Vector2i::Zero() |
| Eigen::Vector2i | saved_window_pos_ = Eigen::Vector2i::Zero() |
| std::function< bool(Visualizer *)> | animation_callback_func_ = nullptr |
| std::function< bool(Visualizer *)> | animation_callback_func_in_loop_ |
| MouseControl | mouse_control_ |
| bool | is_redraw_required_ = true |
| bool | is_initialized_ = false |
| GLuint | vao_id_ = 0 |
| GLuint | render_fbo_ = 0 |
| GLuint | render_rgb_tex_ = 0 |
| GLuint | render_depth_stencil_rbo_ = 0 |
| std::unique_ptr< ViewControl > | view_control_ptr_ |
| std::unique_ptr< RenderOption > | render_option_ptr_ |
| std::unordered_set< std::shared_ptr< const ccHObject > > | geometry_ptrs_ |
| std::unordered_set< std::shared_ptr< glsl::GeometryRenderer > > | geometry_renderer_ptrs_ |
| std::vector< std::shared_ptr< const ccHObject > > | utility_ptrs_ |
| std::vector< std::shared_ptr< glsl::GeometryRenderer > > | utility_renderer_ptrs_ |
| std::unordered_map< std::shared_ptr< glsl::GeometryRenderer >, RenderOption > | utility_renderer_opts_ |
| std::shared_ptr< ccMesh > | coordinate_frame_mesh_ptr_ |
| std::shared_ptr< glsl::CoordinateFrameRenderer > | coordinate_frame_mesh_renderer_ptr_ |
The main Visualizer class.
Definition at line 45 of file Visualizer.h.
| cloudViewer::visualization::Visualizer::Visualizer | ( | ) |
Definition at line 85 of file Visualizer.cpp.
|
virtual |
Definition at line 87 of file Visualizer.cpp.
References DestroyVisualizerWindow().
|
delete |
|
delete |
|
virtual |
Function to add geometry to the scene and create corresponding shaders.
| geometry_ptr | The Geometry object. |
Reimplemented in PyVisualizer< VisualizerBase >, cloudViewer::visualization::VisualizerWithVertexSelection, and cloudViewer::visualization::VisualizerWithEditing.
Definition at line 336 of file Visualizer.cpp.
References CV_TYPES::BBOX, CV_TYPES::CUSTOM_H_OBJECT, CV_TYPES::FACET, geometry_ptrs_, geometry_renderer_ptrs_, CV_TYPES::HALF_EDGE_MESH, CV_TYPES::IMAGE2, is_initialized_, CV_TYPES::LINESET, LogDebug, LogWarning, CV_TYPES::MESH, CV_TYPES::ORIENTED_BBOX, CV_TYPES::POINT_CLOUD, CV_TYPES::POINT_OCTREE2, CV_TYPES::POLY_LINE, ResetViewPoint(), CV_TYPES::RGBD_IMAGE, CV_TYPES::TETRA_MESH, UpdateGeometry(), view_control_ptr_, CV_TYPES::VOXEL_GRID, and window_.
Referenced by cloudViewer::VisualizerForAlignment::AddSourceAndTarget(), cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::DrawGeometriesWithAnimationCallback(), cloudViewer::visualization::DrawGeometriesWithCustomAnimation(), cloudViewer::visualization::DrawGeometriesWithKeyCallbacks(), main(), and cloudViewer::visualization::pybind_visualizer().
|
virtual |
Reimplemented in PyVisualizer< VisualizerBase >, cloudViewer::visualization::VisualizerWithVertexSelection, and cloudViewer::visualization::VisualizerWithEditing.
Definition at line 271 of file Visualizer.cpp.
References coordinate_frame_mesh_ptr_, coordinate_frame_mesh_renderer_ptr_, ccMesh::CreateCoordinateFrame(), cloudViewer::visualization::ViewControl::GetBoundingBox(), GetViewControl(), max(), utility_ptrs_, utility_renderer_ptrs_, and window_.
Referenced by cloudViewer::visualization::VisualizerWithEditing::BuildUtilities(), cloudViewer::visualization::VisualizerWithVertexSelection::BuildUtilities(), main(), and Run().
| std::shared_ptr< geometry::Image > cloudViewer::visualization::Visualizer::CaptureDepthFloatBuffer | ( | bool | do_render = true | ) |
Function to capture depth in a float buffer.
| do_render | Set to true to do render. |
Definition at line 278 of file VisualizerRender.cpp.
References cloudViewer::geometry::Image::BytesPerLine(), cloudViewer::geometry::Image::data_, cloudViewer::geometry::Image::height_, is_redraw_required_, cloudViewer::geometry::Image::Prepare(), Render(), view_control_ptr_, and cloudViewer::geometry::Image::width_.
Referenced by cloudViewer::visualization::pybind_visualizer().
| void cloudViewer::visualization::Visualizer::CaptureDepthImage | ( | const std::string & | filename = "", |
| bool | do_render = true, |
||
| double | depth_scale = 1000.0 |
||
| ) |
Function to capture and save a depth image.
| filename | Path to file. |
| do_render | Set to true to do render. |
| depth_scale | Scale depth value when capturing the depth image. |
Definition at line 342 of file VisualizerRender.cpp.
References cloudViewer::geometry::Image::BytesPerLine(), cloudViewer::geometry::Image::data_, filename, cloudViewer::utility::GetCurrentTimeStamp(), cloudViewer::geometry::Image::height_, is_redraw_required_, LogDebug, min(), cloudViewer::geometry::Image::Prepare(), Render(), view_control_ptr_, cloudViewer::geometry::Image::width_, cloudViewer::io::WriteIJsonConvertible(), and cloudViewer::io::WriteImage().
Referenced by KeyPressCallback(), and cloudViewer::visualization::VisualizerWithCustomAnimation::Play().
| void cloudViewer::visualization::Visualizer::CaptureDepthPointCloud | ( | const std::string & | filename = "", |
| bool | do_render = true, |
||
| bool | convert_to_world_coordinate = false |
||
| ) |
Function to capture and save local point cloud.
| filename | Path to file. |
| do_render | Set to true to do render. |
| convert_to_world_coordinate | Set to true to convert to world coordinates. |
Definition at line 425 of file VisualizerRender.cpp.
References cloudViewer::PointCloudTpl< T >::addPoint(), cloudViewer::geometry::Image::BytesPerLine(), cloudViewer::geometry::Image::data_, filename, cloudViewer::utility::GetCurrentTimeStamp(), cloudViewer::geometry::Image::height_, is_redraw_required_, LogDebug, cloudViewer::geometry::Image::Prepare(), Render(), cloudViewer::visualization::gl_util::Unproject(), view_control_ptr_, cloudViewer::geometry::Image::width_, cloudViewer::io::WriteIJsonConvertible(), and cloudViewer::io::WritePointCloud().
| void cloudViewer::visualization::Visualizer::CaptureRenderOption | ( | const std::string & | filename = "" | ) |
Definition at line 507 of file VisualizerRender.cpp.
References filename, cloudViewer::utility::GetCurrentTimeStamp(), LogDebug, render_option_ptr_, and cloudViewer::io::WriteIJsonConvertible().
Referenced by KeyPressCallback().
| std::shared_ptr< geometry::Image > cloudViewer::visualization::Visualizer::CaptureScreenFloatBuffer | ( | bool | do_render = true | ) |
Function to capture screen and store RGB in a float buffer.
| do_render | Set to true to do render. |
Definition at line 201 of file VisualizerRender.cpp.
References cloudViewer::geometry::Image::BytesPerLine(), cloudViewer::geometry::Image::data_, cloudViewer::geometry::Image::height_, is_redraw_required_, cloudViewer::geometry::Image::Prepare(), Render(), view_control_ptr_, and window_.
Referenced by cloudViewer::visualization::pybind_visualizer().
| void cloudViewer::visualization::Visualizer::CaptureScreenImage | ( | const std::string & | filename = "", |
| bool | do_render = true |
||
| ) |
Function to capture and save a screen image.
| filename | Path to file. |
| do_render | Set to true to do render. |
Definition at line 232 of file VisualizerRender.cpp.
References cloudViewer::geometry::Image::BytesPerLine(), cloudViewer::geometry::Image::data_, filename, cloudViewer::utility::GetCurrentTimeStamp(), cloudViewer::geometry::Image::height_, is_redraw_required_, LogDebug, cloudViewer::geometry::Image::Prepare(), Render(), view_control_ptr_, cloudViewer::io::WriteIJsonConvertible(), and cloudViewer::io::WriteImage().
Referenced by KeyPressCallback(), and cloudViewer::visualization::VisualizerWithCustomAnimation::Play().
|
virtual |
Function to remove all geometries from the scene. After calling this function, the Visualizer releases the pointer of all geometry objects.
Definition at line 456 of file Visualizer.cpp.
References geometry_ptrs_, geometry_renderer_ptrs_, is_initialized_, UpdateGeometry(), and window_.
Referenced by cloudViewer::visualization::pybind_visualizer().
| void cloudViewer::visualization::Visualizer::Close | ( | ) |
Function to to notify the window to be closed.
Definition at line 305 of file Visualizer.cpp.
References LogDebug, and window_.
Referenced by KeyPressCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::Play(), and cloudViewer::visualization::pybind_visualizer().
|
protected |
Definition at line 184 of file VisualizerRender.cpp.
References LogWarning, NULL, cloudViewer::io::ReadIJsonConvertibleFromJSONString(), view_control_ptr_, cloudViewer::visualization::ViewTrajectory::view_status_, and window_.
Referenced by KeyPressCallback().
|
protected |
Definition at line 169 of file VisualizerRender.cpp.
References LogWarning, view_control_ptr_, cloudViewer::visualization::ViewTrajectory::view_status_, window_, and cloudViewer::io::WriteIJsonConvertibleToJSONString().
Referenced by KeyPressCallback().
| bool cloudViewer::visualization::Visualizer::CreateVisualizerWindow | ( | const std::string & | window_name = "CloudViewer", |
| const int | width = 640, |
||
| const int | height = 480, |
||
| const int | left = 50, |
||
| const int | top = 50, |
||
| const bool | visible = true |
||
| ) |
Function to create a window and initialize GLFW.
This function MUST be called from the main thread.
| window_name | Window title name. |
| width | Width of the window. |
| height | Height of window. |
| left | Left margin of the window to the screen. |
| top | Top margin of the window to the screen. |
| visible | Whether the window is visible. |
Definition at line 95 of file Visualizer.cpp.
References cloudViewer::visualization::GLFWContext::GetInstance(), glfw_context_, cloudViewer::visualization::GLFWContext::GLFWErrorCallback(), height, InitOpenGL(), InitRenderOption(), InitViewControl(), is_initialized_, KeyPressCallback(), LogDebug, LogWarning, MouseButtonCallback(), MouseMoveCallback(), MouseScrollCallback(), UpdateWindowTitle(), width, window_, window_name_, WindowCloseCallback(), WindowRefreshCallback(), and WindowResizeCallback().
Referenced by cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::DrawGeometriesWithAnimationCallback(), cloudViewer::visualization::DrawGeometriesWithCustomAnimation(), cloudViewer::visualization::DrawGeometriesWithEditing(), cloudViewer::visualization::DrawGeometriesWithKeyCallbacks(), cloudViewer::visualization::DrawGeometriesWithVertexSelection(), main(), and cloudViewer::visualization::pybind_visualizer().
| void cloudViewer::visualization::Visualizer::DestroyVisualizerWindow | ( | ) |
Function to destroy a window.
This function MUST be called from the main thread.
Definition at line 235 of file Visualizer.cpp.
References glfw_context_, is_initialized_, LogDebug, vao_id_, and window_.
Referenced by cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::DrawGeometriesWithAnimationCallback(), cloudViewer::visualization::DrawGeometriesWithCustomAnimation(), cloudViewer::visualization::DrawGeometriesWithEditing(), cloudViewer::visualization::DrawGeometriesWithKeyCallbacks(), cloudViewer::visualization::DrawGeometriesWithVertexSelection(), main(), cloudViewer::visualization::pybind_visualizer(), and ~Visualizer().
|
inline |
Function to retrieve the associated RenderOption.
Definition at line 177 of file Visualizer.h.
References render_option_ptr_.
Referenced by cloudViewer::VisualizerForAlignment::AddSourceAndTarget(), cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::VisualizerWithVertexSelection::GetDepth(), main(), cloudViewer::visualization::VisualizerWithEditing::PickPoint(), cloudViewer::visualization::VisualizerWithVertexSelection::PickPoints(), and cloudViewer::visualization::pybind_visualizer().
|
inline |
Function to retrieve the associated ViewControl.
Definition at line 175 of file Visualizer.h.
References view_control_ptr_.
Referenced by BuildUtilities(), cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::DrawGeometriesWithCustomAnimation(), cloudViewer::visualization::VisualizerWithVertexSelection::GetDepth(), main(), cloudViewer::visualization::VisualizerWithEditing::PickPoint(), cloudViewer::visualization::VisualizerWithVertexSelection::PickPoints(), cloudViewer::visualization::pybind_visualizer(), and cloudViewer::visualization::VisualizerWithEditing::SaveCroppingResult().
|
inline |
Definition at line 215 of file Visualizer.h.
References window_name_.
Referenced by cloudViewer::visualization::pybind_visualizer().
|
virtual |
Reimplemented in PyVisualizer< VisualizerBase >.
Definition at line 481 of file Visualizer.cpp.
References geometry_ptrs_.
Referenced by main().
|
protectedvirtual |
Function to initialize OpenGL.
Definition at line 34 of file VisualizerRender.cpp.
References LogWarning, render_fbo_, and vao_id_.
Referenced by CreateVisualizerWindow().
|
protectedvirtual |
Function to initialize RenderOption.
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, and cloudViewer::visualization::VisualizerWithEditing.
Definition at line 260 of file Visualizer.cpp.
References render_option_ptr_.
Referenced by CreateVisualizerWindow().
|
protectedvirtual |
Function to initialize ViewControl.
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 254 of file Visualizer.cpp.
References ResetViewPoint(), and view_control_ptr_.
Referenced by CreateVisualizerWindow().
|
virtual |
Definition at line 511 of file Visualizer.cpp.
References window_.
Referenced by KeyPressCallback(), cloudViewer::visualization::pybind_visualizer(), and ToggleFullScreen().
|
protectedvirtual |
Reimplemented in cloudViewer::VisualizerForAlignment, cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithKeyCallback, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 106 of file VisualizerCallback.cpp.
References CaptureDepthImage(), CaptureRenderOption(), CaptureScreenImage(), Close(), cloudViewer::visualization::RenderOption::Color, CopyViewStatusFromClipboard(), CopyViewStatusToClipboard(), cloudViewer::visualization::RenderOption::Default, cloudViewer::visualization::RenderOption::FlatShade, cloudViewer::visualization::ColorMap::Gray, cloudViewer::visualization::ColorMap::Hot, is_redraw_required_, IsFullScreen(), cloudViewer::visualization::ColorMap::Jet, LogDebug, cloudViewer::visualization::RenderOption::Normal, PrintVisualizerHelp(), render_option_ptr_, ResetViewPoint(), SetFullScreen(), cloudViewer::visualization::SetGlobalColorMap(), cloudViewer::visualization::ColorMap::Summer, UpdateGeometry(), view_control_ptr_, cloudViewer::visualization::ColorMap::Winter, cloudViewer::visualization::RenderOption::XCoordinate, cloudViewer::visualization::RenderOption::YCoordinate, and cloudViewer::visualization::RenderOption::ZCoordinate.
Referenced by CreateVisualizerWindow(), cloudViewer::visualization::VisualizerWithCustomAnimation::KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::KeyPressCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::KeyPressCallback(), and cloudViewer::VisualizerForAlignment::KeyPressCallback().
|
protectedvirtual |
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithKeyCallback, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 72 of file VisualizerCallback.cpp.
References cloudViewer::visualization::Visualizer::MouseControl::is_alt_key_down, cloudViewer::visualization::Visualizer::MouseControl::is_control_key_down, cloudViewer::visualization::Visualizer::MouseControl::is_mouse_left_button_down, cloudViewer::visualization::Visualizer::MouseControl::is_mouse_middle_button_down, cloudViewer::visualization::Visualizer::MouseControl::is_shift_key_down, cloudViewer::visualization::Visualizer::MouseControl::is_super_key_down, mouse_control_, cloudViewer::visualization::Visualizer::MouseControl::mouse_position_x, cloudViewer::visualization::Visualizer::MouseControl::mouse_position_y, and view_control_ptr_.
Referenced by CreateVisualizerWindow(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseButtonCallback(), and cloudViewer::visualization::VisualizerWithVertexSelection::MouseButtonCallback().
|
protectedvirtual |
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithKeyCallback, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 29 of file VisualizerCallback.cpp.
References cloudViewer::visualization::Visualizer::MouseControl::is_alt_key_down, cloudViewer::visualization::Visualizer::MouseControl::is_control_key_down, cloudViewer::visualization::Visualizer::MouseControl::is_mouse_left_button_down, cloudViewer::visualization::Visualizer::MouseControl::is_mouse_middle_button_down, is_redraw_required_, cloudViewer::visualization::Visualizer::MouseControl::is_shift_key_down, mouse_control_, cloudViewer::visualization::Visualizer::MouseControl::mouse_position_x, cloudViewer::visualization::Visualizer::MouseControl::mouse_position_y, and view_control_ptr_.
Referenced by CreateVisualizerWindow(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseMoveCallback(), and cloudViewer::visualization::VisualizerWithVertexSelection::MouseMoveCallback().
|
protectedvirtual |
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithKeyCallback, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 67 of file VisualizerCallback.cpp.
References is_redraw_required_, and view_control_ptr_.
Referenced by CreateVisualizerWindow(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseScrollCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseScrollCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseScrollCallback(), and cloudViewer::visualization::VisualizerWithVertexSelection::MouseScrollCallback().
|
delete |
| bool cloudViewer::visualization::Visualizer::PollEvents | ( | ) |
Function to process the event queue and return if the window is closed.
Use this function if you want to manage the while loop yourself. This function will NOT block the thread. Thus it is suitable for computation heavy task behind the scene.
Definition at line 323 of file Visualizer.cpp.
References animation_callback_func_, animation_callback_func_in_loop_, is_initialized_, is_redraw_required_, window_, and WindowRefreshCallback().
Referenced by main(), cloudViewer::visualization::pybind_visualizer(), and Run().
|
virtual |
Reimplemented in PyVisualizer< VisualizerBase >, cloudViewer::VisualizerForAlignment, cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithKeyCallback, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 515 of file Visualizer.cpp.
References LogInfo.
Referenced by KeyPressCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::PrintVisualizerHelp(), cloudViewer::visualization::VisualizerWithEditing::PrintVisualizerHelp(), cloudViewer::visualization::VisualizerWithKeyCallback::PrintVisualizerHelp(), cloudViewer::visualization::VisualizerWithVertexSelection::PrintVisualizerHelp(), and cloudViewer::VisualizerForAlignment::PrintVisualizerHelp().
| void cloudViewer::visualization::Visualizer::RegisterAnimationCallback | ( | std::function< bool(Visualizer *)> | callback_func | ) |
Function to register a callback function for animation.
The callback function returns if UpdateGeometry() needs to be run.
| callback_func | The call back function. |
Definition at line 249 of file Visualizer.cpp.
References animation_callback_func_.
Referenced by cloudViewer::visualization::DrawGeometriesWithAnimationCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::Play(), and cloudViewer::visualization::pybind_visualizer().
|
virtual |
Function to remove geometry from the scene.
| geometry_ptr | The Geometry object. |
Definition at line 433 of file Visualizer.cpp.
References geometry_ptrs_, geometry_renderer_ptrs_, is_initialized_, LogDebug, ResetViewPoint(), UpdateGeometry(), view_control_ptr_, and window_.
Referenced by cloudViewer::visualization::pybind_visualizer().
|
protectedvirtual |
Function to do the main rendering The function first sets view point, then draw geometry (pointclouds and meshes individually).
Definition at line 94 of file VisualizerRender.cpp.
References geometry_renderer_ptrs_, LogWarning, NULL, render_depth_stencil_rbo_, render_fbo_, render_option_ptr_, render_rgb_tex_, utility_renderer_opts_, utility_renderer_ptrs_, view_control_ptr_, and window_.
Referenced by CaptureDepthFloatBuffer(), CaptureDepthImage(), CaptureDepthPointCloud(), CaptureScreenFloatBuffer(), CaptureScreenImage(), and WindowRefreshCallback().
| void cloudViewer::visualization::Visualizer::ResetViewPoint | ( | bool | reset_bounding_box = false | ) |
Function to reset view point.
Definition at line 151 of file VisualizerRender.cpp.
References coordinate_frame_mesh_ptr_, coordinate_frame_mesh_renderer_ptr_, ccMesh::CreateCoordinateFrame(), geometry_ptrs_, is_redraw_required_, and view_control_ptr_.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), InitViewControl(), cloudViewer::visualization::VisualizerWithCustomAnimation::InitViewControl(), cloudViewer::visualization::VisualizerWithEditing::InitViewControl(), cloudViewer::visualization::VisualizerWithVertexSelection::InitViewControl(), KeyPressCallback(), cloudViewer::VisualizerForAlignment::KeyPressCallback(), cloudViewer::VisualizerForAlignment::LoadSessionFromFile(), cloudViewer::visualization::pybind_visualizer(), and RemoveGeometry().
| void cloudViewer::visualization::Visualizer::Run | ( | ) |
Function to activate the window.
This function will block the current thread until the window is closed.
Definition at line 289 of file Visualizer.cpp.
References animation_callback_func_, animation_callback_func_in_loop_, BuildUtilities(), PollEvents(), UpdateGeometry(), UpdateRender(), UpdateWindowTitle(), and WaitEvents().
Referenced by cloudViewer::visualization::DrawGeometries(), cloudViewer::visualization::DrawGeometriesWithAnimationCallback(), cloudViewer::visualization::DrawGeometriesWithCustomAnimation(), cloudViewer::visualization::DrawGeometriesWithEditing(), cloudViewer::visualization::DrawGeometriesWithKeyCallbacks(), cloudViewer::visualization::DrawGeometriesWithVertexSelection(), main(), and cloudViewer::visualization::pybind_visualizer().
|
virtual |
Functions to change between fullscreen and windowed modes.
Definition at line 483 of file Visualizer.cpp.
References LogError, NULL, saved_window_pos_, saved_window_size_, and window_.
Referenced by KeyPressCallback(), cloudViewer::visualization::pybind_visualizer(), and ToggleFullScreen().
|
virtual |
Definition at line 503 of file Visualizer.cpp.
References IsFullScreen(), and SetFullScreen().
Referenced by cloudViewer::visualization::pybind_visualizer().
|
virtual |
Function to update geometry.
This function must be called when geometry has been changed. Otherwise the behavior of Visualizer is undefined. If called without an argument, updates all geometries, otherwise only updates the geometry specified.
Reimplemented in PyVisualizer< VisualizerBase >, and cloudViewer::visualization::VisualizerWithVertexSelection.
Definition at line 466 of file Visualizer.cpp.
References geometry_renderer_ptrs_, UpdateRender(), and window_.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), ClearGeometries(), KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::KeyPressCallback(), cloudViewer::VisualizerForAlignment::KeyPressCallback(), cloudViewer::VisualizerForAlignment::LoadSessionFromFile(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseScrollCallback(), cloudViewer::visualization::pybind_visualizer(), RemoveGeometry(), Run(), and cloudViewer::visualization::VisualizerWithVertexSelection::UpdateGeometry().
|
virtual |
Function to inform render needed to be updated.
Reimplemented in PyVisualizer< VisualizerBase >.
Definition at line 479 of file Visualizer.cpp.
References is_redraw_required_.
Referenced by cloudViewer::visualization::VisualizerWithKeyCallback::KeyPressCallback(), cloudViewer::VisualizerForAlignment::LoadSessionFromFile(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithKeyCallback::MouseScrollCallback(), cloudViewer::visualization::pybind_visualizer(), Run(), and UpdateGeometry().
|
virtual |
Reimplemented in PyVisualizer< VisualizerBase >, cloudViewer::visualization::VisualizerWithVertexSelection, cloudViewer::visualization::VisualizerWithEditing, and cloudViewer::visualization::VisualizerWithCustomAnimation.
Definition at line 265 of file Visualizer.cpp.
References window_, and window_name_.
Referenced by CreateVisualizerWindow(), and Run().
| bool cloudViewer::visualization::Visualizer::WaitEvents | ( | ) |
Function to process the event queue and return if the window is closed.
Use this function if you want to manage the while loop yourself. This function will block the thread.
Definition at line 310 of file Visualizer.cpp.
References animation_callback_func_, animation_callback_func_in_loop_, is_initialized_, is_redraw_required_, window_, and WindowRefreshCallback().
Referenced by Run().
|
protectedvirtual |
Function to notify the window to be closed.
Definition at line 350 of file VisualizerCallback.cpp.
Referenced by CreateVisualizerWindow().
|
protectedvirtual |
Definition at line 17 of file VisualizerCallback.cpp.
References is_redraw_required_, and Render().
Referenced by CreateVisualizerWindow(), PollEvents(), and WaitEvents().
|
protectedvirtual |
Reimplemented in cloudViewer::visualization::VisualizerWithVertexSelection, and cloudViewer::visualization::VisualizerWithEditing.
Definition at line 24 of file VisualizerCallback.cpp.
References is_redraw_required_, and view_control_ptr_.
Referenced by CreateVisualizerWindow(), cloudViewer::visualization::VisualizerWithEditing::WindowResizeCallback(), and cloudViewer::visualization::VisualizerWithVertexSelection::WindowResizeCallback().
|
protected |
Definition at line 260 of file Visualizer.h.
Referenced by PollEvents(), RegisterAnimationCallback(), Run(), and WaitEvents().
|
protected |
Definition at line 265 of file Visualizer.h.
Referenced by PollEvents(), Run(), and WaitEvents().
|
protected |
Definition at line 304 of file Visualizer.h.
Referenced by BuildUtilities(), and ResetViewPoint().
|
protected |
Definition at line 306 of file Visualizer.h.
Referenced by BuildUtilities(), and ResetViewPoint().
|
protected |
Definition at line 287 of file Visualizer.h.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::BuildUtilities(), cloudViewer::visualization::VisualizerWithVertexSelection::BuildUtilities(), ClearGeometries(), HasGeometry(), RemoveGeometry(), and ResetViewPoint().
|
protected |
Definition at line 291 of file Visualizer.h.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), ClearGeometries(), cloudViewer::visualization::VisualizerWithVertexSelection::GetDepth(), cloudViewer::visualization::VisualizerWithVertexSelection::PickPoints(), RemoveGeometry(), Render(), and UpdateGeometry().
|
protected |
Shared GLFW context.
Definition at line 256 of file Visualizer.h.
Referenced by CreateVisualizerWindow(), and DestroyVisualizerWindow().
|
protected |
Definition at line 271 of file Visualizer.h.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), ClearGeometries(), CreateVisualizerWindow(), DestroyVisualizerWindow(), PollEvents(), RemoveGeometry(), and WaitEvents().
|
protected |
Definition at line 270 of file Visualizer.h.
Referenced by CaptureDepthFloatBuffer(), CaptureDepthImage(), CaptureDepthPointCloud(), CaptureScreenFloatBuffer(), CaptureScreenImage(), KeyPressCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::MouseButtonCallback(), MouseMoveCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::MouseMoveCallback(), MouseScrollCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseScrollCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::Play(), PollEvents(), ResetViewPoint(), UpdateRender(), WaitEvents(), WindowRefreshCallback(), and WindowResizeCallback().
|
protected |
Definition at line 269 of file Visualizer.h.
Referenced by MouseButtonCallback(), and MouseMoveCallback().
|
protected |
Definition at line 278 of file Visualizer.h.
Referenced by Render().
|
protected |
Definition at line 276 of file Visualizer.h.
Referenced by InitOpenGL(), and Render().
|
protected |
Definition at line 284 of file Visualizer.h.
Referenced by CaptureRenderOption(), GetRenderOption(), InitRenderOption(), cloudViewer::visualization::VisualizerWithEditing::InitRenderOption(), cloudViewer::visualization::VisualizerWithVertexSelection::InitRenderOption(), KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), and Render().
|
protected |
Definition at line 277 of file Visualizer.h.
Referenced by Render().
|
protected |
Definition at line 259 of file Visualizer.h.
Referenced by SetFullScreen().
|
protected |
Definition at line 258 of file Visualizer.h.
Referenced by SetFullScreen().
|
protected |
Definition at line 294 of file Visualizer.h.
Referenced by BuildUtilities(), cloudViewer::visualization::VisualizerWithEditing::BuildUtilities(), and cloudViewer::visualization::VisualizerWithVertexSelection::BuildUtilities().
|
protected |
Definition at line 301 of file Visualizer.h.
Referenced by cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), Render(), and cloudViewer::visualization::VisualizerWithVertexSelection::SetPointSize().
|
protected |
Definition at line 297 of file Visualizer.h.
Referenced by cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), BuildUtilities(), cloudViewer::visualization::VisualizerWithEditing::BuildUtilities(), cloudViewer::visualization::VisualizerWithVertexSelection::BuildUtilities(), cloudViewer::visualization::VisualizerWithVertexSelection::KeyPressCallback(), and Render().
|
protected |
Definition at line 272 of file Visualizer.h.
Referenced by DestroyVisualizerWindow(), and InitOpenGL().
|
protected |
Definition at line 281 of file Visualizer.h.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::CalcDragDelta(), CaptureDepthFloatBuffer(), CaptureDepthImage(), CaptureDepthPointCloud(), CaptureScreenFloatBuffer(), CaptureScreenImage(), CopyViewStatusFromClipboard(), CopyViewStatusToClipboard(), cloudViewer::visualization::VisualizerWithVertexSelection::GetDepth(), GetViewControl(), InitViewControl(), cloudViewer::visualization::VisualizerWithCustomAnimation::InitViewControl(), cloudViewer::visualization::VisualizerWithEditing::InitViewControl(), cloudViewer::visualization::VisualizerWithVertexSelection::InitViewControl(), KeyPressCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::KeyPressCallback(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::KeyPressCallback(), MouseButtonCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseButtonCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::MouseButtonCallback(), MouseMoveCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseMoveCallback(), cloudViewer::visualization::VisualizerWithVertexSelection::MouseMoveCallback(), MouseScrollCallback(), cloudViewer::visualization::VisualizerWithCustomAnimation::MouseScrollCallback(), cloudViewer::visualization::VisualizerWithEditing::MouseScrollCallback(), cloudViewer::visualization::VisualizerWithEditing::PickPoint(), cloudViewer::visualization::VisualizerWithVertexSelection::PickPoints(), cloudViewer::visualization::VisualizerWithCustomAnimation::Play(), RemoveGeometry(), Render(), ResetViewPoint(), cloudViewer::visualization::VisualizerWithCustomAnimation::UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithEditing::UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithVertexSelection::UpdateWindowTitle(), and WindowResizeCallback().
|
protected |
Definition at line 252 of file Visualizer.h.
Referenced by AddGeometry(), cloudViewer::visualization::VisualizerWithEditing::AddGeometry(), cloudViewer::visualization::VisualizerWithVertexSelection::AddGeometry(), BuildUtilities(), CaptureScreenFloatBuffer(), ClearGeometries(), Close(), CopyViewStatusFromClipboard(), CopyViewStatusToClipboard(), CreateVisualizerWindow(), DestroyVisualizerWindow(), IsFullScreen(), cloudViewer::visualization::VisualizerWithEditing::KeyPressCallback(), PollEvents(), RemoveGeometry(), Render(), SetFullScreen(), UpdateGeometry(), UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithCustomAnimation::UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithEditing::UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithVertexSelection::UpdateWindowTitle(), and WaitEvents().
|
protected |
Definition at line 253 of file Visualizer.h.
Referenced by CreateVisualizerWindow(), GetWindowName(), UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithCustomAnimation::UpdateWindowTitle(), cloudViewer::visualization::VisualizerWithEditing::UpdateWindowTitle(), and cloudViewer::visualization::VisualizerWithVertexSelection::UpdateWindowTitle().