ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::visualization::visualizer::O3DVisualizer Class Reference

#include <O3DVisualizer.h>

Inheritance diagram for cloudViewer::visualization::visualizer::O3DVisualizer:
Collaboration diagram for cloudViewer::visualization::visualizer::O3DVisualizer:

Classes

struct  DrawObject
 
struct  Impl
 
struct  UIState
 

Public Types

enum class  Shader { STANDARD , UNLIT , NORMALS , DEPTH }
 
enum class  TickResult { NO_CHANGE , REDRAW }
 

Public Member Functions

 O3DVisualizer (const std::string &title, int width, int height)
 
virtual ~O3DVisualizer ()
 
void AddAction (const std::string &name, std::function< void(O3DVisualizer &)> callback)
 
void SetBackground (const Eigen::Vector4f &bg_color, std::shared_ptr< geometry::Image > bg_image=nullptr)
 
void SetShader (Shader shader)
 
void AddGeometry (const std::string &name, std::shared_ptr< ccHObject > geom, const rendering::MaterialRecord *material=nullptr, const std::string &group="", double time=0.0, bool is_visible=true)
 
void AddGeometry (const std::string &name, std::shared_ptr< t::geometry::Geometry > tgeom, const rendering::MaterialRecord *material=nullptr, const std::string &group="", double time=0.0, bool is_visible=true)
 
void AddGeometry (const std::string &name, std::shared_ptr< rendering::TriangleMeshModel > tgeom, const rendering::MaterialRecord *material=nullptr, const std::string &group="", double time=0.0, bool is_visible=true)
 
void RemoveGeometry (const std::string &name)
 Removes the named geometry from the Visualizer. More...
 
void UpdateGeometry (const std::string &name, std::shared_ptr< t::geometry::Geometry > tgeom, uint32_t update_flags)
 
void ShowGeometry (const std::string &name, bool show)
 Show/hide the named geometry. More...
 
DrawObject GetGeometry (const std::string &name) const
 Returns Visualizer's internal DrawObject for the named geometry. More...
 
rendering::MaterialRecord GetGeometryMaterial (const std::string &name) const
 
void ModifyGeometryMaterial (const std::string &name, const rendering::MaterialRecord *material)
 
void Add3DLabel (const Eigen::Vector3f &pos, const char *text)
 
void Clear3DLabels ()
 
void SetupCamera (float fov, const Eigen::Vector3f &center, const Eigen::Vector3f &eye, const Eigen::Vector3f &up)
 
void SetupCamera (const camera::PinholeCameraIntrinsic &intrinsic, const Eigen::Matrix4d &extrinsic)
 
void SetupCamera (const Eigen::Matrix3d &intrinsic, const Eigen::Matrix4d &extrinsic, int intrinsic_width_px, int intrinsic_height_px)
 
void ResetCameraToDefault ()
 
void ShowSettings (bool show)
 
void ShowSkybox (bool show)
 
void SetIBL (const std::string &path)
 
void SetIBLIntensity (float intensity)
 
void ShowAxes (bool show)
 
void ShowGround (bool show)
 
void SetGroundPlane (rendering::Scene::GroundPlane plane)
 
void EnableSunFollowsCamera (bool enable)
 
void EnableBasicMode (bool enable)
 
void EnableWireframeMode (bool enable)
 
void SetPointSize (int point_size)
 
void SetLineWidth (int line_width)
 
void EnableGroup (const std::string &group, bool enable)
 
void SetMouseMode (gui::SceneWidget::Controls mode)
 
void SetPanelOpen (const std::string &name, bool open)
 
std::vector< O3DVisualizerSelections::SelectionSetGetSelectionSets () const
 
double GetAnimationFrameDelay () const
 
void SetAnimationFrameDelay (double secs)
 
double GetAnimationTimeStep () const
 
void SetAnimationTimeStep (double time_step)
 
double GetAnimationDuration () const
 
void SetAnimationDuration (double sec)
 
double GetCurrentTime () const
 
void SetCurrentTime (double t)
 
bool GetIsAnimating () const
 
void SetAnimating (bool is_animating)
 
void SetOnAnimationFrame (std::function< void(O3DVisualizer &, double)> cb)
 
void SetOnAnimationTick (std::function< TickResult(O3DVisualizer &, double, double)> cb)
 
void ExportCurrentImage (const std::string &path)
 
UIState GetUIState () const
 
rendering::CloudViewerSceneGetScene () const
 
void StartRPCInterface (const std::string &address, int timeout)
 Starts the RPC interface. See io/rpc/ZMQReceiver for the parameters. More...
 
void StopRPCInterface ()
 
- Public Member Functions inherited from cloudViewer::visualization::gui::Window
 Window (const std::string &title, int flags=0)
 
 Window (const std::string &title, int width, int height, int flags=0)
 
 Window (const std::string &title, int x, int y, int width, int height, int flags=0)
 
virtual ~Window ()
 
const ThemeGetTheme () const
 
visualization::rendering::RendererGetRenderer () const
 
Rect GetOSFrame () const
 
void SetOSFrame (const Rect &r)
 
const char * GetTitle () const
 
void SetTitle (const char *title)
 
void SizeToFit ()
 
void SetSize (const Size &size)
 Sets the size of the window in pixels. Includes menubar on Linux. More...
 
Size GetSize () const
 
Rect GetContentRect () const
 
float GetScaling () const
 Returns the scaling factor from OS pixels to device pixels. More...
 
Point GlobalToWindowCoord (int global_x, int global_y)
 Returns the global point (in OS pixels) in window local coordinates. More...
 
bool IsVisible () const
 
void Show (bool vis=true)
 
void Close ()
 
void SetNeedsLayout ()
 Instructs the window to relayout before the next draw. More...
 
void PostRedraw ()
 
void SetTopmost (bool topmost)
 
void RaiseToTop () const
 
bool IsActiveWindow () const
 
void SetFocusWidget (Widget *w)
 Sets. More...
 
void AddChild (std::shared_ptr< Widget > w)
 
void SetOnMenuItemActivated (Menu::ItemId item_id, std::function< void()> callback)
 
void SetOnTickEvent (std::function< bool()> callback)
 
void SetOnClose (std::function< bool()> callback)
 
void SetOnKeyEvent (std::function< bool(const KeyEvent &)> callback)
 
void ShowDialog (std::shared_ptr< Dialog > dlg)
 
void CloseDialog ()
 Closes the dialog. More...
 
void ShowMessageBox (const char *title, const char *message)
 
void DestroyWindow ()
 
virtual void OnMenuItemSelected (Menu::ItemId item_id)
 
virtual void OnDragDropped (const char *path)
 
void ShowMenu (bool show)
 
int GetMouseMods () const
 
std::string GetWebRTCUID () const
 
void OnDraw ()
 
void OnResize ()
 
void OnMouseEvent (const MouseEvent &e)
 
void OnKeyEvent (const KeyEvent &e)
 
void OnTextInput (const TextInputEvent &e)
 
void OnTickEvent (const TickEvent &e)
 
WindowSystem::OSWindow GetOSWindow () const
 

Protected Member Functions

void Layout (const gui::LayoutContext &context)
 
- Protected Member Functions inherited from cloudViewer::visualization::gui::Window
virtual Size CalcPreferredSize ()
 
LayoutContext GetLayoutContext ()
 
const std::vector< std::shared_ptr< Widget > > & GetChildren () const
 

Additional Inherited Members

- Static Public Attributes inherited from cloudViewer::visualization::gui::Window
static const int FLAG_HIDDEN = (1 << 0)
 
static const int FLAG_TOPMOST = (1 << 1)
 

Detailed Description

Definition at line 38 of file O3DVisualizer.h.

Member Enumeration Documentation

◆ Shader

Enumerator
STANDARD 
UNLIT 
NORMALS 
DEPTH 

Definition at line 42 of file O3DVisualizer.h.

◆ TickResult

Enumerator
NO_CHANGE 
REDRAW 

Definition at line 192 of file O3DVisualizer.h.

Constructor & Destructor Documentation

◆ O3DVisualizer()

cloudViewer::visualization::visualizer::O3DVisualizer::O3DVisualizer ( const std::string &  title,
int  width,
int  height 
)

◆ ~O3DVisualizer()

cloudViewer::visualization::visualizer::O3DVisualizer::~O3DVisualizer ( )
virtual

Definition at line 2291 of file O3DVisualizer.cpp.

Member Function Documentation

◆ Add3DLabel()

void cloudViewer::visualization::visualizer::O3DVisualizer::Add3DLabel ( const Eigen::Vector3f &  pos,
const char *  text 
)

◆ AddAction()

void cloudViewer::visualization::visualizer::O3DVisualizer::AddAction ( const std::string &  name,
std::function< void(O3DVisualizer &)>  callback 
)

◆ AddGeometry() [1/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::AddGeometry ( const std::string &  name,
std::shared_ptr< ccHObject geom,
const rendering::MaterialRecord material = nullptr,
const std::string &  group = "",
double  time = 0.0,
bool  is_visible = true 
)

Definition at line 2350 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ AddGeometry() [2/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::AddGeometry ( const std::string &  name,
std::shared_ptr< rendering::TriangleMeshModel tgeom,
const rendering::MaterialRecord material = nullptr,
const std::string &  group = "",
double  time = 0.0,
bool  is_visible = true 
)

◆ AddGeometry() [3/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::AddGeometry ( const std::string &  name,
std::shared_ptr< t::geometry::Geometry tgeom,
const rendering::MaterialRecord material = nullptr,
const std::string &  group = "",
double  time = 0.0,
bool  is_visible = true 
)

Definition at line 2361 of file O3DVisualizer.cpp.

References name.

◆ Clear3DLabels()

void cloudViewer::visualization::visualizer::O3DVisualizer::Clear3DLabels ( )

◆ EnableBasicMode()

void cloudViewer::visualization::visualizer::O3DVisualizer::EnableBasicMode ( bool  enable)

◆ EnableGroup()

void cloudViewer::visualization::visualizer::O3DVisualizer::EnableGroup ( const std::string &  group,
bool  enable 
)

Definition at line 2460 of file O3DVisualizer.cpp.

◆ EnableSunFollowsCamera()

void cloudViewer::visualization::visualizer::O3DVisualizer::EnableSunFollowsCamera ( bool  enable)

◆ EnableWireframeMode()

void cloudViewer::visualization::visualizer::O3DVisualizer::EnableWireframeMode ( bool  enable)

Definition at line 2440 of file O3DVisualizer.cpp.

◆ ExportCurrentImage()

void cloudViewer::visualization::visualizer::O3DVisualizer::ExportCurrentImage ( const std::string &  path)

◆ GetAnimationDuration()

double cloudViewer::visualization::visualizer::O3DVisualizer::GetAnimationDuration ( ) const

◆ GetAnimationFrameDelay()

double cloudViewer::visualization::visualizer::O3DVisualizer::GetAnimationFrameDelay ( ) const

◆ GetAnimationTimeStep()

double cloudViewer::visualization::visualizer::O3DVisualizer::GetAnimationTimeStep ( ) const

◆ GetCurrentTime()

double cloudViewer::visualization::visualizer::O3DVisualizer::GetCurrentTime ( ) const

Definition at line 2496 of file O3DVisualizer.cpp.

◆ GetGeometry()

O3DVisualizer::DrawObject cloudViewer::visualization::visualizer::O3DVisualizer::GetGeometry ( const std::string &  name) const

Returns Visualizer's internal DrawObject for the named geometry.

Definition at line 2403 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ GetGeometryMaterial()

MaterialRecord cloudViewer::visualization::visualizer::O3DVisualizer::GetGeometryMaterial ( const std::string &  name) const

Definition at line 2408 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ GetIsAnimating()

bool cloudViewer::visualization::visualizer::O3DVisualizer::GetIsAnimating ( ) const

◆ GetScene()

CloudViewerScene * cloudViewer::visualization::visualizer::O3DVisualizer::GetScene ( ) const

◆ GetSelectionSets()

std::vector< O3DVisualizerSelections::SelectionSet > cloudViewer::visualization::visualizer::O3DVisualizer::GetSelectionSets ( ) const

◆ GetUIState()

O3DVisualizer::UIState cloudViewer::visualization::visualizer::O3DVisualizer::GetUIState ( ) const

Definition at line 2534 of file O3DVisualizer.cpp.

◆ Layout()

void cloudViewer::visualization::visualizer::O3DVisualizer::Layout ( const gui::LayoutContext context)
protectedvirtual

Lays out all the widgets in the window. If all children of the window are layouts, this function does not need to be overridden.

Reimplemented from cloudViewer::visualization::gui::Window.

Definition at line 2556 of file O3DVisualizer.cpp.

References context, cloudViewer::visualization::gui::Window::GetContentRect(), and cloudViewer::visualization::gui::Window::Layout().

◆ ModifyGeometryMaterial()

void cloudViewer::visualization::visualizer::O3DVisualizer::ModifyGeometryMaterial ( const std::string &  name,
const rendering::MaterialRecord material 
)

Definition at line 2413 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ RemoveGeometry()

void cloudViewer::visualization::visualizer::O3DVisualizer::RemoveGeometry ( const std::string &  name)

Removes the named geometry from the Visualizer.

Definition at line 2395 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ ResetCameraToDefault()

void cloudViewer::visualization::visualizer::O3DVisualizer::ResetCameraToDefault ( )

◆ SetAnimating()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetAnimating ( bool  is_animating)

◆ SetAnimationDuration()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetAnimationDuration ( double  sec)

◆ SetAnimationFrameDelay()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetAnimationFrameDelay ( double  secs)

◆ SetAnimationTimeStep()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetAnimationTimeStep ( double  time_step)

◆ SetBackground()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetBackground ( const Eigen::Vector4f &  bg_color,
std::shared_ptr< geometry::Image bg_image = nullptr 
)

◆ SetCurrentTime()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetCurrentTime ( double  t)

◆ SetGroundPlane()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetGroundPlane ( rendering::Scene::GroundPlane  plane)

◆ SetIBL()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetIBL ( const std::string &  path)

◆ SetIBLIntensity()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetIBLIntensity ( float  intensity)

◆ SetLineWidth()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetLineWidth ( int  line_width)

◆ SetMouseMode()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetMouseMode ( gui::SceneWidget::Controls  mode)

◆ SetOnAnimationFrame()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetOnAnimationFrame ( std::function< void(O3DVisualizer &, double)>  cb)

◆ SetOnAnimationTick()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetOnAnimationTick ( std::function< TickResult(O3DVisualizer &, double, double)>  cb)

◆ SetPanelOpen()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetPanelOpen ( const std::string &  name,
bool  open 
)

Definition at line 2456 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ SetPointSize()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetPointSize ( int  point_size)

◆ SetShader()

void cloudViewer::visualization::visualizer::O3DVisualizer::SetShader ( Shader  shader)

◆ SetupCamera() [1/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::SetupCamera ( const camera::PinholeCameraIntrinsic intrinsic,
const Eigen::Matrix4d &  extrinsic 
)

Definition at line 2517 of file O3DVisualizer.cpp.

◆ SetupCamera() [2/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::SetupCamera ( const Eigen::Matrix3d &  intrinsic,
const Eigen::Matrix4d &  extrinsic,
int  intrinsic_width_px,
int  intrinsic_height_px 
)

Definition at line 2522 of file O3DVisualizer.cpp.

◆ SetupCamera() [3/3]

void cloudViewer::visualization::visualizer::O3DVisualizer::SetupCamera ( float  fov,
const Eigen::Vector3f &  center,
const Eigen::Vector3f &  eye,
const Eigen::Vector3f &  up 
)

◆ ShowAxes()

void cloudViewer::visualization::visualizer::O3DVisualizer::ShowAxes ( bool  show)

◆ ShowGeometry()

void cloudViewer::visualization::visualizer::O3DVisualizer::ShowGeometry ( const std::string &  name,
bool  show 
)

Show/hide the named geometry.

Definition at line 2399 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ ShowGround()

void cloudViewer::visualization::visualizer::O3DVisualizer::ShowGround ( bool  show)

◆ ShowSettings()

void cloudViewer::visualization::visualizer::O3DVisualizer::ShowSettings ( bool  show)

◆ ShowSkybox()

void cloudViewer::visualization::visualizer::O3DVisualizer::ShowSkybox ( bool  show)

◆ StartRPCInterface()

void cloudViewer::visualization::visualizer::O3DVisualizer::StartRPCInterface ( const std::string &  address,
int  timeout 
)

Starts the RPC interface. See io/rpc/ZMQReceiver for the parameters.

Definition at line 2297 of file O3DVisualizer.cpp.

References LogInfo, and LogWarning.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ StopRPCInterface()

void cloudViewer::visualization::visualizer::O3DVisualizer::StopRPCInterface ( )

Definition at line 2309 of file O3DVisualizer.cpp.

References LogInfo.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().

◆ UpdateGeometry()

void cloudViewer::visualization::visualizer::O3DVisualizer::UpdateGeometry ( const std::string &  name,
std::shared_ptr< t::geometry::Geometry tgeom,
uint32_t  update_flags 
)

Updates update_flags attributes of named geometry with the matching attributes from tgeom

Definition at line 2389 of file O3DVisualizer.cpp.

References name.

Referenced by cloudViewer::visualization::pybind_o3dvisualizer().


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