Open3D (C++ API)  0.18.0+5c982c7
Public Member Functions | Protected Member Functions | Protected Attributes
open3d::visualization::VisualizerWithCustomAnimation Class Reference

#include <VisualizerWithCustomAnimation.h>

Inheritance diagram for open3d::visualization::VisualizerWithCustomAnimation:
open3d::visualization::Visualizer

Public Member Functions

 VisualizerWithCustomAnimation ()
 
 ~VisualizerWithCustomAnimation () override
 
 VisualizerWithCustomAnimation (const VisualizerWithCustomAnimation &)=delete
 
VisualizerWithCustomAnimationoperator= (const VisualizerWithCustomAnimation &)=delete
 
void PrintVisualizerHelp () override
 
void UpdateWindowTitle () override
 
void Play (bool recording=false, bool recording_depth=false, bool close_window_when_animation_ends=false)
 
void RegisterRecordingImageFormat (const std::string &basedir, const std::string &format, const std::string &trajectory)
 
void RegisterRecordingDepthFormat (const std::string &basedir, const std::string &format, const std::string &trajectory)
 
- Public Member Functions inherited from open3d::visualization::Visualizer
 Visualizer ()
 
virtual ~Visualizer ()
 
 Visualizer (Visualizer &&)=delete
 
 Visualizer (const Visualizer &)=delete
 
Visualizeroperator= (const Visualizer &)=delete
 
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)
 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 geometry::Geometry > 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 geometry::Geometry > 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 geometry::Geometry > 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 BuildUtilities ()
 
ViewControlGetViewControl ()
 Function to retrieve the associated ViewControl. More...
 
RenderOptionGetRenderOption ()
 Function to retrieve the associated RenderOption. More...
 
std::shared_ptr< geometry::ImageCaptureScreenFloatBuffer (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::ImageCaptureDepthFloatBuffer (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
 
std::string GetViewStatus ()
 Get the current view status as a json string of ViewTrajectory. More...
 
void SetViewStatus (const std::string &view_status_str)
 Set the current view status from a json string of ViewTrajectory. More...
 

Protected Member Functions

bool InitViewControl () override
 Function to initialize ViewControl. More...
 
void MouseMoveCallback (GLFWwindow *window, double x, double y) override
 
void MouseScrollCallback (GLFWwindow *window, double x, double y) override
 
void MouseButtonCallback (GLFWwindow *window, int button, int action, int mods) override
 
void KeyPressCallback (GLFWwindow *window, int key, int scancode, int action, int mods) override
 
- Protected Member Functions inherited from open3d::visualization::Visualizer
virtual bool InitOpenGL ()
 Function to initialize OpenGL. More...
 
virtual bool InitRenderOption ()
 Function to initialize RenderOption. More...
 
virtual void Render (bool render_screen=false)
 
void CopyViewStatusToClipboard ()
 Copy the current view status to clipboard. More...
 
void CopyViewStatusFromClipboard ()
 Apply the view point from clipboard. More...
 
virtual void WindowRefreshCallback (GLFWwindow *window)
 Callback functions. More...
 
virtual void WindowResizeCallback (GLFWwindow *window, int w, int h)
 
virtual void WindowCloseCallback (GLFWwindow *window)
 Function to notify the window to be closed. More...
 

Protected Attributes

std::string recording_image_basedir_ = "image/"
 
std::string recording_image_filename_format_ = "image_{:06d}.png"
 
std::string recording_image_trajectory_filename_ = "image_trajectory.json"
 
std::string recording_depth_basedir_ = "depth/"
 
std::string recording_depth_filename_format_ = "depth_{:06d}.png"
 
std::string recording_depth_trajectory_filename_ = "depth_trajectory.json"
 
size_t recording_file_index_ = 0
 
- Protected Attributes inherited from open3d::visualization::Visualizer
GLFWwindow * window_ = NULL
 
std::string window_name_ = "Open3D"
 
std::shared_ptr< GLFWContextglfw_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< ViewControlview_control_ptr_
 
std::unique_ptr< RenderOptionrender_option_ptr_
 
std::unordered_set< std::shared_ptr< const geometry::Geometry > > geometry_ptrs_
 
std::unordered_set< std::shared_ptr< glsl::GeometryRenderer > > geometry_renderer_ptrs_
 
std::vector< std::shared_ptr< const geometry::Geometry > > utility_ptrs_
 
std::vector< std::shared_ptr< glsl::GeometryRenderer > > utility_renderer_ptrs_
 
std::unordered_map< std::shared_ptr< glsl::GeometryRenderer >, RenderOptionutility_renderer_opts_
 
std::shared_ptr< geometry::TriangleMeshcoordinate_frame_mesh_ptr_
 
std::shared_ptr< glsl::CoordinateFrameRenderercoordinate_frame_mesh_renderer_ptr_
 

Constructor & Destructor Documentation

◆ VisualizerWithCustomAnimation() [1/2]

open3d::visualization::VisualizerWithCustomAnimation::VisualizerWithCustomAnimation ( )

◆ ~VisualizerWithCustomAnimation()

open3d::visualization::VisualizerWithCustomAnimation::~VisualizerWithCustomAnimation ( )
override

◆ VisualizerWithCustomAnimation() [2/2]

open3d::visualization::VisualizerWithCustomAnimation::VisualizerWithCustomAnimation ( const VisualizerWithCustomAnimation )
delete

Member Function Documentation

◆ InitViewControl()

bool open3d::visualization::VisualizerWithCustomAnimation::InitViewControl ( )
overrideprotectedvirtual

Function to initialize ViewControl.

Reimplemented from open3d::visualization::Visualizer.

◆ KeyPressCallback()

void open3d::visualization::VisualizerWithCustomAnimation::KeyPressCallback ( GLFWwindow *  window,
int  key,
int  scancode,
int  action,
int  mods 
)
overrideprotectedvirtual

Reimplemented from open3d::visualization::Visualizer.

◆ MouseButtonCallback()

void open3d::visualization::VisualizerWithCustomAnimation::MouseButtonCallback ( GLFWwindow *  window,
int  button,
int  action,
int  mods 
)
overrideprotectedvirtual

Reimplemented from open3d::visualization::Visualizer.

◆ MouseMoveCallback()

void open3d::visualization::VisualizerWithCustomAnimation::MouseMoveCallback ( GLFWwindow *  window,
double  x,
double  y 
)
overrideprotectedvirtual

Reimplemented from open3d::visualization::Visualizer.

◆ MouseScrollCallback()

void open3d::visualization::VisualizerWithCustomAnimation::MouseScrollCallback ( GLFWwindow *  window,
double  x,
double  y 
)
overrideprotectedvirtual

Reimplemented from open3d::visualization::Visualizer.

◆ operator=()

VisualizerWithCustomAnimation& open3d::visualization::VisualizerWithCustomAnimation::operator= ( const VisualizerWithCustomAnimation )
delete

◆ Play()

void open3d::visualization::VisualizerWithCustomAnimation::Play ( bool  recording = false,
bool  recording_depth = false,
bool  close_window_when_animation_ends = false 
)

◆ PrintVisualizerHelp()

void open3d::visualization::VisualizerWithCustomAnimation::PrintVisualizerHelp ( )
overridevirtual

Reimplemented from open3d::visualization::Visualizer.

◆ RegisterRecordingDepthFormat()

void open3d::visualization::VisualizerWithCustomAnimation::RegisterRecordingDepthFormat ( const std::string &  basedir,
const std::string &  format,
const std::string &  trajectory 
)
inline

◆ RegisterRecordingImageFormat()

void open3d::visualization::VisualizerWithCustomAnimation::RegisterRecordingImageFormat ( const std::string &  basedir,
const std::string &  format,
const std::string &  trajectory 
)
inline

◆ UpdateWindowTitle()

void open3d::visualization::VisualizerWithCustomAnimation::UpdateWindowTitle ( )
overridevirtual

Reimplemented from open3d::visualization::Visualizer.

Field Documentation

◆ recording_depth_basedir_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_depth_basedir_ = "depth/"
protected

◆ recording_depth_filename_format_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_depth_filename_format_ = "depth_{:06d}.png"
protected

◆ recording_depth_trajectory_filename_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_depth_trajectory_filename_ = "depth_trajectory.json"
protected

◆ recording_file_index_

size_t open3d::visualization::VisualizerWithCustomAnimation::recording_file_index_ = 0
protected

◆ recording_image_basedir_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_image_basedir_ = "image/"
protected

◆ recording_image_filename_format_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_image_filename_format_ = "image_{:06d}.png"
protected

◆ recording_image_trajectory_filename_

std::string open3d::visualization::VisualizerWithCustomAnimation::recording_image_trajectory_filename_ = "image_trajectory.json"
protected

The documentation for this class was generated from the following files: