Open3D (C++ API)
Data Structures | Public Member Functions | Static Public Member Functions
open3d::gui::Application Class Reference

#include <Application.h>

Data Structures

struct  Impl
 

Public Member Functions

virtual ~Application ()
 
void Initialize ()
 
void Initialize (int argc, const char *argv[])
 
void Run ()
 
bool RunOneTick ()
 
void Quit ()
 Closes all the windows, which exits as a result. More...
 
std::shared_ptr< MenuGetMenubar () const
 
void SetMenubar (std::shared_ptr< Menu > menubar)
 
void AddWindow (std::shared_ptr< Window > window)
 Must be called on the same thread that calls Run() More...
 
void RemoveWindow (Window *window)
 Must be called on the same thread that calls Run() More...
 
void ShowMessageBox (const char *title, const char *message)
 
const char * GetResourcePath () const
 
const ThemeGetTheme () const
 
double Now () const
 
void OnMenuItemSelected (Menu::ItemId itemId)
 Delivers the itemId to the active window. Used internally. More...
 
void OnTerminate ()
 

Static Public Member Functions

static ApplicationGetInstance ()
 

Constructor & Destructor Documentation

◆ ~Application()

open3d::gui::Application::~Application ( )
virtual

Member Function Documentation

◆ AddWindow()

void open3d::gui::Application::AddWindow ( std::shared_ptr< Window window)

Must be called on the same thread that calls Run()

◆ GetInstance()

Application & open3d::gui::Application::GetInstance ( )
static

◆ GetMenubar()

std::shared_ptr< Menu > open3d::gui::Application::GetMenubar ( ) const

◆ GetResourcePath()

const char * open3d::gui::Application::GetResourcePath ( ) const

◆ GetTheme()

const Theme & open3d::gui::Application::GetTheme ( ) const

This is primarily intended for use by the Window class. Any size-related fields (for example, fontSize) should be accessed through Window::GetTheme() as they are updated to reflect the pixel scaling on the monitor where the Window is displayed.

◆ Initialize() [1/2]

void open3d::gui::Application::Initialize ( )

Initializes the application, and in particular, finds the path for the resources. If you can provide the argc/argv arguments it is more reliable.

◆ Initialize() [2/2]

void open3d::gui::Application::Initialize ( int  argc,
const char *  argv[] 
)

Initializes the application, and in particular, finds the path for the resources. If you can provide the argc/argv arguments it is more reliable.

◆ Now()

double open3d::gui::Application::Now ( ) const

Returns high-resolution counter value (in seconds). Not valid until Initialize() is called.

◆ OnMenuItemSelected()

void open3d::gui::Application::OnMenuItemSelected ( Menu::ItemId  itemId)

Delivers the itemId to the active window. Used internally.

◆ OnTerminate()

void open3d::gui::Application::OnTerminate ( )

Cleanup everything right now. An example of usage is Cocoa's -applicationWillTermiate: AppDelegate message. Using Quit would result in a crash (and an unsightly message from macOS) due to destructing the windows at the wrong time.

◆ Quit()

void open3d::gui::Application::Quit ( )

Closes all the windows, which exits as a result.

◆ RemoveWindow()

void open3d::gui::Application::RemoveWindow ( Window window)

Must be called on the same thread that calls Run()

◆ Run()

void open3d::gui::Application::Run ( )

Does not return until the UI is completely finished. Use this if you just need something simple.

◆ RunOneTick()

bool open3d::gui::Application::RunOneTick ( )

◆ SetMenubar()

void open3d::gui::Application::SetMenubar ( std::shared_ptr< Menu menubar)

◆ ShowMessageBox()

void open3d::gui::Application::ShowMessageBox ( const char *  title,
const char *  message 
)

Creates a message box window the next time the event loop processes. This message box will be a separate window and not associated with any of the other windows shown with AddWindow(). THIS FUNCTION SHOULD BE USED ONLY AS A LAST RESORT! If you have a window, you should use Window::ShowMessageBox() so that the message box will be modal to that window. If you do not have a window it is better to use ShowNativeAlert(). If the platform does not have an alert (like Linux), then this can be used as a last resort.


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