MeshLib
 
Loading...
Searching...
No Matches
MR::ImGuiMenu Class Reference

#include <ImGuiMenu.h>

+ Inheritance diagram for MR::ImGuiMenu:

Classes

struct  LabelParams
 
struct  PluginsCache
 
class  UiRenderManagerImpl
 

Public Types

enum class  NameTagSelectionMode { selectOne , toggle }
 
using NameTagClickSignal = boost::signals2::signal<bool( Object& object, NameTagSelectionMode mode ), StopOnTrueCombiner>
 
using DrawSceneUiSignal = boost::signals2::signal<void( float menuScaling, ViewportId viewportId, UiRenderParams::UiTaskList& tasks )>
 

Public Member Functions

virtual MRVIEWER_API void init (MR::Viewer *_viewer) override
 
virtual MRVIEWER_API void initBackend ()
 
virtual MRVIEWER_API void startFrame ()
 
virtual MRVIEWER_API void finishFrame ()
 
virtual MRVIEWER_API void load_font (int font_size=13)
 
virtual MRVIEWER_API void reload_font (int font_size=13)
 
virtual MRVIEWER_API void shutdown () override
 
virtual MRVIEWER_API void draw_menu ()
 
MRVIEWER_API void draw_helpers ()
 
virtual MRVIEWER_API void draw_viewer_window ()
 
MRVIEWER_API void draw_mr_menu ()
 
virtual void draw_custom_window ()
 
void draw_labels_window ()
 
void draw_labels (const VisualObject &obj)
 
MRVIEWER_API void draw_text (const Viewport &viewport, const Vector3f &pos, const Vector3f &normal, const std::string &text, const Color &color, bool clipByViewport)
 
MRVIEWER_API float pixel_ratio ()
 
MRVIEWER_API float hidpi_scaling ()
 
MRVIEWER_API float menu_scaling () const
 
MRVIEWER_API ImGuiContext * getCurrentContext () const
 
ImGuiWindow * getLastFocusedPlugin () const
 
MRVIEWER_API void showModalMessage (const std::string &msg, NotificationType msgType)
 
virtual MRVIEWER_API std::filesystem::path getMenuFontPath () const
 
MRVIEWER_API void setDrawTimeMillisecThreshold (long long maxGoodTimeMillisec)
 
MRVIEWER_API void draw_scene_list ()
 
MRVIEWER_API void draw_scene_list_content (const std::vector< std::shared_ptr< Object > > &selected, const std::vector< std::shared_ptr< Object > > &all)
 
virtual MRVIEWER_API void draw_selection_properties (const std::vector< std::shared_ptr< Object > > &selected)
 
virtual MRVIEWER_API void draw_selection_properties_content (const std::vector< std::shared_ptr< Object > > &selected)
 
virtual MRVIEWER_API bool drawCollapsingHeader_ (const char *label, ImGuiTreeNodeFlags flags=0)
 
virtual MRVIEWER_API bool drawCollapsingHeaderTransform_ ()
 
bool make_visualize_checkbox (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, AnyVisualizeMaskEnum type, MR::ViewportMask viewportid, bool invert=false)
 
template<typename ObjectT >
void make_color_selector (std::vector< std::shared_ptr< ObjectT > > selectedVisualObjs, const char *label, std::function< Vector4f(const ObjectT *)> getter, std::function< void(ObjectT *, const Vector4f &)> setter)
 
template<typename ObjType >
void make_width (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< float(const ObjType *)> getter, std::function< void(ObjType *, const float &)> setter)
 
void make_light_strength (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< float(const VisualObject *)> getter, std::function< void(VisualObject *, const float &)> setter)
 
template<typename T , typename ObjectType >
void make_slider (std::vector< std::shared_ptr< ObjectType > > selectedVisualObjs, const char *label, std::function< T(const ObjectType *)> getter, std::function< void(ObjectType *, T)> setter, T min, T max)
 
void make_points_discretization (std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs, const char *label, std::function< int(const ObjectPointsHolder *)> getter, std::function< void(ObjectPointsHolder *, const int &)> setter)
 
MRVIEWER_API void draw_custom_plugins ()
 
std::shared_ptr< ShortcutManagergetShortcutManager ()
 
MRVIEWER_API void add_modifier (std::shared_ptr< MR::MeshModifier > modifier)
 
MRVIEWER_API void allowSceneReorder (bool allow)
 
bool checkPossibilityObjectRemoval ()
 
MRVIEWER_API void allowObjectsRemoval (bool allow)
 
MRVIEWER_API void tryRenameSelectedObject ()
 
MRVIEWER_API void setObjectTreeState (const Object *obj, bool open)
 
MRVIEWER_API void setShowShortcuts (bool val)
 
MRVIEWER_API bool getShowShortcuts () const
 
void enableSavedDialogPositions (bool on)
 
bool isSavedDialogPositionsEnabled () const
 
virtual MRVIEWER_API UiRenderManagergetUiRenderManager ()
 
MRVIEWER_API const std::shared_ptr< SceneObjectsListDrawer > & getSceneObjectsList ()
 
MRVIEWER_API bool simulateNameTagClick (Object &object, NameTagSelectionMode mode)
 
MRVIEWER_API bool anyImGuiWindowIsHovered () const
 
MRVIEWER_API bool anyUiObjectIsHovered () const
 
MRVIEWER_API SelectedTypesMask calcSelectedTypesMask (const std::vector< std::shared_ptr< Object > > &selectedObjs)
 
MRVIEWER_API bool drawGeneralOptions (const std::vector< std::shared_ptr< Object > > &selectedObjs)
 
MRVIEWER_API bool drawAdvancedOptions (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs, SelectedTypesMask selectedMask)
 
MRVIEWER_API bool drawRemoveButton (const std::vector< std::shared_ptr< Object > > &selectedObjs)
 
MRVIEWER_API bool drawDrawOptionsCheckboxes (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs, SelectedTypesMask selectedMask)
 
MRVIEWER_API bool drawDrawOptionsColors (const std::vector< std::shared_ptr< VisualObject > > &selectedObjs)
 
- Public Member Functions inherited from MR::ViewerPlugin
 ViewerPlugin ()
 
virtual ~ViewerPlugin ()
 
- Public Member Functions inherited from MR::MultiListener< MouseDownListener, MouseMoveListener, MouseUpListener, MouseScrollListener, CursorEntranceListener, CharPressedListener, KeyDownListener, KeyUpListener, KeyRepeatListener, SpaceMouseMoveListener, SpaceMouseDownListener, TouchpadRotateGestureBeginListener, TouchpadRotateGestureUpdateListener, TouchpadRotateGestureEndListener, TouchpadSwipeGestureBeginListener, TouchpadSwipeGestureUpdateListener, TouchpadSwipeGestureEndListener, TouchpadZoomGestureBeginListener, TouchpadZoomGestureUpdateListener, TouchpadZoomGestureEndListener, PostResizeListener, PostRescaleListener >
virtual ~MultiListener ()=default
 
virtual void connect (Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back)
 
virtual void disconnect ()
 

Static Public Member Functions

static MRVIEWER_API const std::shared_ptr< ImGuiMenu > & instance ()
 

Public Attributes

std::function< void(void)> callback_draw_viewer_window
 
std::function< void(void)> callback_draw_viewer_menu
 
std::function< void(void)> callback_draw_custom_window
 
NameTagClickSignal nameTagClickSignal
 
DrawSceneUiSignal drawSceneUiSignal
 
- Public Attributes inherited from MR::ViewerPlugin
std::string plugin_name
 

Protected Types

enum  ViewportConfigurations { Single , Horizontal , Vertical , Quad }
 

Protected Member Functions

virtual MRVIEWER_API void setupShortcuts_ ()
 
Vector4f getStoredColor_ (const std::string &str, const Color &defaultColor) const
 
virtual MRVIEWER_API void drawModalMessage_ ()
 
virtual MRVIEWER_API bool onMouseDown_ (MouseButton button, int modifier) override
 
virtual MRVIEWER_API bool onMouseUp_ (MouseButton button, int modifier) override
 
virtual MRVIEWER_API bool onMouseMove_ (int mouse_x, int mouse_y) override
 
virtual MRVIEWER_API bool onMouseScroll_ (float delta_y) override
 
virtual MRVIEWER_API void cursorEntrance_ (bool entered) override
 
virtual MRVIEWER_API bool onCharPressed_ (unsigned key, int modifiers) override
 
virtual MRVIEWER_API bool onKeyDown_ (int key, int modifiers) override
 
virtual MRVIEWER_API bool onKeyUp_ (int key, int modifiers) override
 
virtual MRVIEWER_API bool onKeyRepeat_ (int key, int modifiers) override
 
virtual MRVIEWER_API void postResize_ (int width, int height) override
 
virtual MRVIEWER_API void postRescale_ (float x, float y) override
 
virtual MRVIEWER_API bool spaceMouseMove_ (const Vector3f &translate, const Vector3f &rotate) override
 
virtual MRVIEWER_API bool spaceMouseDown_ (int key) override
 
virtual MRVIEWER_API bool touchpadRotateGestureBegin_ () override
 
virtual MRVIEWER_API bool touchpadRotateGestureUpdate_ (float angle) override
 
virtual MRVIEWER_API bool touchpadRotateGestureEnd_ () override
 
virtual MRVIEWER_API bool touchpadSwipeGestureBegin_ () override
 
virtual MRVIEWER_API bool touchpadSwipeGestureUpdate_ (float deltaX, float deltaY, bool kinetic) override
 
virtual MRVIEWER_API bool touchpadSwipeGestureEnd_ () override
 
virtual MRVIEWER_API bool touchpadZoomGestureBegin_ () override
 
virtual MRVIEWER_API bool touchpadZoomGestureUpdate_ (float scale, bool kinetic) override
 
virtual MRVIEWER_API bool touchpadZoomGestureEnd_ () override
 
virtual MRVIEWER_API void rescaleStyle_ ()
 
virtual MRVIEWER_API void addMenuFontRanges_ (ImFontGlyphRangesBuilder &builder) const
 
MRVIEWER_API float drawSelectionInformation_ ()
 
MRVIEWER_API void drawFeaturePropertiesEditor_ (const std::shared_ptr< Object > &object)
 
virtual MRVIEWER_API void draw_custom_selection_properties (const std::vector< std::shared_ptr< Object > > &selected)
 
MRVIEWER_API float drawTransform_ ()
 
virtual MRVIEWER_API bool drawTransformContextMenu_ (const std::shared_ptr< Object > &)
 
void draw_history_block_ ()
 
void draw_open_recent_button_ ()
 
virtual MRVIEWER_API void drawShortcutsWindow_ ()
 
MRVIEWER_API float getSceneInfoItemWidth_ (int itemCount=1)
 

Protected Attributes

float hidpi_scaling_
 
float pixel_ratio_
 
ImGuiContext * context_ = nullptr
 
ImGuiWindow * prevFrameFocusPlugin_ = nullptr
 
bool pollEventsInPreDraw = false
 
bool showShortcuts_ { false }
 
bool showStatistics_ { false }
 
long long frameTimeMillisecThreshold_ { 25 }
 
bool showRenameModal_ { false }
 
std::string renameBuffer_
 
std::string popUpRenameBuffer_
 
bool needModalBgChange_ { false }
 
bool showInfoModal_ { false }
 
std::string storedModalMessage_
 
NotificationType modalMessageType_ { NotificationType::Error }
 
std::shared_ptr< ShortcutManagershortcutManager_
 
ImVec2 sceneWindowPos_
 
ImVec2 sceneWindowSize_
 
ImVec2 mainWindowPos_
 
ImVec2 mainWindowSize_
 
bool savedDialogPositionEnabled_ { false }
 
std::weak_ptr< ObjectlastRenameObj_
 
Box3f selectionBbox_
 
Box3f selectionWorldBox_
 
struct MR::ImGuiMenu::LabelParams oldLabelParams_
 
bool allowRemoval_ { true }
 
bool uniformScale_ { true }
 
bool xfHistUpdated_ { false }
 
bool invertedRotation_ { false }
 
std::optional< std::pair< std::string, Vector4f > > storedColor_
 
struct MR::ImGuiMenu::PluginsCache pluginsCache_
 
std::string searchPluginsString_
 
std::vector< std::shared_ptr< MR::MeshModifier > > modifiers_
 
enum MR::ImGuiMenu::ViewportConfigurations Single
 
bool selectionChangedToSingleObj_ { false }
 
ViewportId selectedViewport_ = {}
 
std::weak_ptr< ObjecteditedFeatureObject_
 
AffineXf3f editedFeatureObjectOldXf_
 
bool capturedMouse_ { false }
 
std::unique_ptr< UiRenderManagerImpluiRenderManager_
 
std::shared_ptr< SceneObjectsListDrawersceneObjectsList_
 
- Protected Attributes inherited from MR::ViewerPlugin
Viewerviewer = &getViewerInstance()
 

Member Typedef Documentation

◆ DrawSceneUiSignal

using MR::ImGuiMenu::DrawSceneUiSignal = boost::signals2::signal<void( float menuScaling, ViewportId viewportId, UiRenderParams::UiTaskList& tasks )>

◆ NameTagClickSignal

using MR::ImGuiMenu::NameTagClickSignal = boost::signals2::signal<bool( Object& object, NameTagSelectionMode mode ), StopOnTrueCombiner>

Member Enumeration Documentation

◆ NameTagSelectionMode

Enumerator
selectOne 
toggle 

◆ ViewportConfigurations

Enumerator
Single 
Horizontal 
Vertical 
Quad 

Member Function Documentation

◆ add_modifier()

MRVIEWER_API void MR::ImGuiMenu::add_modifier ( std::shared_ptr< MR::MeshModifier > modifier)

◆ addMenuFontRanges_()

virtual MRVIEWER_API void MR::ImGuiMenu::addMenuFontRanges_ ( ImFontGlyphRangesBuilder & builder) const
protectedvirtual

◆ allowObjectsRemoval()

MRVIEWER_API void MR::ImGuiMenu::allowObjectsRemoval ( bool allow)

◆ allowSceneReorder()

MRVIEWER_API void MR::ImGuiMenu::allowSceneReorder ( bool allow)

◆ anyImGuiWindowIsHovered()

MRVIEWER_API bool MR::ImGuiMenu::anyImGuiWindowIsHovered ( ) const

◆ anyUiObjectIsHovered()

MRVIEWER_API bool MR::ImGuiMenu::anyUiObjectIsHovered ( ) const

◆ calcSelectedTypesMask()

MRVIEWER_API SelectedTypesMask MR::ImGuiMenu::calcSelectedTypesMask ( const std::vector< std::shared_ptr< Object > > & selectedObjs)

◆ checkPossibilityObjectRemoval()

bool MR::ImGuiMenu::checkPossibilityObjectRemoval ( )
inline

◆ cursorEntrance_()

virtual MRVIEWER_API void MR::ImGuiMenu::cursorEntrance_ ( bool entered)
overrideprotectedvirtual

◆ draw_custom_plugins()

MRVIEWER_API void MR::ImGuiMenu::draw_custom_plugins ( )

◆ draw_custom_selection_properties()

virtual MRVIEWER_API void MR::ImGuiMenu::draw_custom_selection_properties ( const std::vector< std::shared_ptr< Object > > & selected)
protectedvirtual

◆ draw_custom_window()

virtual void MR::ImGuiMenu::draw_custom_window ( )
inlinevirtual

◆ draw_helpers()

MRVIEWER_API void MR::ImGuiMenu::draw_helpers ( )

◆ draw_history_block_()

void MR::ImGuiMenu::draw_history_block_ ( )
protected

◆ draw_labels()

void MR::ImGuiMenu::draw_labels ( const VisualObject & obj)

◆ draw_labels_window()

void MR::ImGuiMenu::draw_labels_window ( )

◆ draw_menu()

virtual MRVIEWER_API void MR::ImGuiMenu::draw_menu ( )
virtual

◆ draw_mr_menu()

MRVIEWER_API void MR::ImGuiMenu::draw_mr_menu ( )

◆ draw_open_recent_button_()

void MR::ImGuiMenu::draw_open_recent_button_ ( )
protected

◆ draw_scene_list()

MRVIEWER_API void MR::ImGuiMenu::draw_scene_list ( )

◆ draw_scene_list_content()

MRVIEWER_API void MR::ImGuiMenu::draw_scene_list_content ( const std::vector< std::shared_ptr< Object > > & selected,
const std::vector< std::shared_ptr< Object > > & all )

◆ draw_selection_properties()

virtual MRVIEWER_API void MR::ImGuiMenu::draw_selection_properties ( const std::vector< std::shared_ptr< Object > > & selected)
virtual

◆ draw_selection_properties_content()

virtual MRVIEWER_API void MR::ImGuiMenu::draw_selection_properties_content ( const std::vector< std::shared_ptr< Object > > & selected)
virtual

◆ draw_text()

MRVIEWER_API void MR::ImGuiMenu::draw_text ( const Viewport & viewport,
const Vector3f & pos,
const Vector3f & normal,
const std::string & text,
const Color & color,
bool clipByViewport )

◆ draw_viewer_window()

virtual MRVIEWER_API void MR::ImGuiMenu::draw_viewer_window ( )
virtual

◆ drawAdvancedOptions()

MRVIEWER_API bool MR::ImGuiMenu::drawAdvancedOptions ( const std::vector< std::shared_ptr< VisualObject > > & selectedObjs,
SelectedTypesMask selectedMask )

◆ drawCollapsingHeader_()

virtual MRVIEWER_API bool MR::ImGuiMenu::drawCollapsingHeader_ ( const char * label,
ImGuiTreeNodeFlags flags = 0 )
virtual

Reimplemented in MR::RibbonMenu.

◆ drawCollapsingHeaderTransform_()

virtual MRVIEWER_API bool MR::ImGuiMenu::drawCollapsingHeaderTransform_ ( )
virtual

Reimplemented in MR::RibbonMenu.

◆ drawDrawOptionsCheckboxes()

MRVIEWER_API bool MR::ImGuiMenu::drawDrawOptionsCheckboxes ( const std::vector< std::shared_ptr< VisualObject > > & selectedObjs,
SelectedTypesMask selectedMask )

◆ drawDrawOptionsColors()

MRVIEWER_API bool MR::ImGuiMenu::drawDrawOptionsColors ( const std::vector< std::shared_ptr< VisualObject > > & selectedObjs)

◆ drawFeaturePropertiesEditor_()

MRVIEWER_API void MR::ImGuiMenu::drawFeaturePropertiesEditor_ ( const std::shared_ptr< Object > & object)
protected

◆ drawGeneralOptions()

MRVIEWER_API bool MR::ImGuiMenu::drawGeneralOptions ( const std::vector< std::shared_ptr< Object > > & selectedObjs)

◆ drawModalMessage_()

virtual MRVIEWER_API void MR::ImGuiMenu::drawModalMessage_ ( )
protectedvirtual

◆ drawRemoveButton()

MRVIEWER_API bool MR::ImGuiMenu::drawRemoveButton ( const std::vector< std::shared_ptr< Object > > & selectedObjs)

◆ drawSelectionInformation_()

MRVIEWER_API float MR::ImGuiMenu::drawSelectionInformation_ ( )
protected

◆ drawShortcutsWindow_()

virtual MRVIEWER_API void MR::ImGuiMenu::drawShortcutsWindow_ ( )
protectedvirtual

Reimplemented in MR::RibbonMenu.

◆ drawTransform_()

MRVIEWER_API float MR::ImGuiMenu::drawTransform_ ( )
protected

◆ drawTransformContextMenu_()

virtual MRVIEWER_API bool MR::ImGuiMenu::drawTransformContextMenu_ ( const std::shared_ptr< Object > & )
inlineprotectedvirtual

Reimplemented in MR::RibbonMenu.

◆ enableSavedDialogPositions()

void MR::ImGuiMenu::enableSavedDialogPositions ( bool on)
inline

◆ finishFrame()

virtual MRVIEWER_API void MR::ImGuiMenu::finishFrame ( )
virtual

◆ getCurrentContext()

MRVIEWER_API ImGuiContext * MR::ImGuiMenu::getCurrentContext ( ) const

◆ getLastFocusedPlugin()

ImGuiWindow * MR::ImGuiMenu::getLastFocusedPlugin ( ) const
inline

◆ getMenuFontPath()

virtual MRVIEWER_API std::filesystem::path MR::ImGuiMenu::getMenuFontPath ( ) const
virtual

Reimplemented in MR::RibbonMenu.

◆ getSceneInfoItemWidth_()

MRVIEWER_API float MR::ImGuiMenu::getSceneInfoItemWidth_ ( int itemCount = 1)
protected

◆ getSceneObjectsList()

MRVIEWER_API const std::shared_ptr< SceneObjectsListDrawer > & MR::ImGuiMenu::getSceneObjectsList ( )
inline

◆ getShortcutManager()

std::shared_ptr< ShortcutManager > MR::ImGuiMenu::getShortcutManager ( )
inline

◆ getShowShortcuts()

MRVIEWER_API bool MR::ImGuiMenu::getShowShortcuts ( ) const

◆ getStoredColor_()

Vector4f MR::ImGuiMenu::getStoredColor_ ( const std::string & str,
const Color & defaultColor ) const
protected

◆ getUiRenderManager()

virtual MRVIEWER_API UiRenderManager & MR::ImGuiMenu::getUiRenderManager ( )
virtual

◆ hidpi_scaling()

MRVIEWER_API float MR::ImGuiMenu::hidpi_scaling ( )

◆ init()

virtual MRVIEWER_API void MR::ImGuiMenu::init ( MR::Viewer * _viewer)
overridevirtual

Reimplemented from MR::ViewerPlugin.

Reimplemented in MR::Menu, and MR::RibbonMenu.

◆ initBackend()

virtual MRVIEWER_API void MR::ImGuiMenu::initBackend ( )
virtual

◆ instance()

static MRVIEWER_API const std::shared_ptr< ImGuiMenu > & MR::ImGuiMenu::instance ( )
static

◆ isSavedDialogPositionsEnabled()

bool MR::ImGuiMenu::isSavedDialogPositionsEnabled ( ) const
inline

◆ load_font()

virtual MRVIEWER_API void MR::ImGuiMenu::load_font ( int font_size = 13)
virtual

Reimplemented in MR::RibbonMenu.

◆ make_color_selector()

template<typename ObjectT >
void MR::ImGuiMenu::make_color_selector ( std::vector< std::shared_ptr< ObjectT > > selectedVisualObjs,
const char * label,
std::function< Vector4f(const ObjectT *)> getter,
std::function< void(ObjectT *, const Vector4f &)> setter )

◆ make_light_strength()

void MR::ImGuiMenu::make_light_strength ( std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs,
const char * label,
std::function< float(const VisualObject *)> getter,
std::function< void(VisualObject *, const float &)> setter )

◆ make_points_discretization()

void MR::ImGuiMenu::make_points_discretization ( std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs,
const char * label,
std::function< int(const ObjectPointsHolder *)> getter,
std::function< void(ObjectPointsHolder *, const int &)> setter )

◆ make_slider()

template<typename T , typename ObjectType >
void MR::ImGuiMenu::make_slider ( std::vector< std::shared_ptr< ObjectType > > selectedVisualObjs,
const char * label,
std::function< T(const ObjectType *)> getter,
std::function< void(ObjectType *, T)> setter,
T min,
T max )

◆ make_visualize_checkbox()

bool MR::ImGuiMenu::make_visualize_checkbox ( std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs,
const char * label,
AnyVisualizeMaskEnum type,
MR::ViewportMask viewportid,
bool invert = false )

◆ make_width()

template<typename ObjType >
void MR::ImGuiMenu::make_width ( std::vector< std::shared_ptr< VisualObject > > selectedVisualObjs,
const char * label,
std::function< float(const ObjType *)> getter,
std::function< void(ObjType *, const float &)> setter )

◆ menu_scaling()

MRVIEWER_API float MR::ImGuiMenu::menu_scaling ( ) const

◆ onCharPressed_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onCharPressed_ ( unsigned key,
int modifiers )
overrideprotectedvirtual

◆ onKeyDown_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onKeyDown_ ( int key,
int modifiers )
overrideprotectedvirtual

◆ onKeyRepeat_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onKeyRepeat_ ( int key,
int modifiers )
overrideprotectedvirtual

◆ onKeyUp_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onKeyUp_ ( int key,
int modifiers )
overrideprotectedvirtual

◆ onMouseDown_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onMouseDown_ ( MouseButton button,
int modifier )
overrideprotectedvirtual

◆ onMouseMove_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onMouseMove_ ( int mouse_x,
int mouse_y )
overrideprotectedvirtual

◆ onMouseScroll_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onMouseScroll_ ( float delta_y)
overrideprotectedvirtual

◆ onMouseUp_()

virtual MRVIEWER_API bool MR::ImGuiMenu::onMouseUp_ ( MouseButton button,
int modifier )
overrideprotectedvirtual

◆ pixel_ratio()

MRVIEWER_API float MR::ImGuiMenu::pixel_ratio ( )

◆ postRescale_()

virtual MRVIEWER_API void MR::ImGuiMenu::postRescale_ ( float x,
float y )
overrideprotectedvirtual

Reimplemented in MR::RibbonMenu.

◆ postResize_()

virtual MRVIEWER_API void MR::ImGuiMenu::postResize_ ( int width,
int height )
overrideprotectedvirtual

Reimplemented in MR::RibbonMenu.

◆ reload_font()

virtual MRVIEWER_API void MR::ImGuiMenu::reload_font ( int font_size = 13)
virtual

◆ rescaleStyle_()

virtual MRVIEWER_API void MR::ImGuiMenu::rescaleStyle_ ( )
protectedvirtual

◆ setDrawTimeMillisecThreshold()

MRVIEWER_API void MR::ImGuiMenu::setDrawTimeMillisecThreshold ( long long maxGoodTimeMillisec)

◆ setObjectTreeState()

MRVIEWER_API void MR::ImGuiMenu::setObjectTreeState ( const Object * obj,
bool open )

◆ setShowShortcuts()

MRVIEWER_API void MR::ImGuiMenu::setShowShortcuts ( bool val)

◆ setupShortcuts_()

virtual MRVIEWER_API void MR::ImGuiMenu::setupShortcuts_ ( )
protectedvirtual

Reimplemented in MR::RibbonMenu.

◆ showModalMessage()

MRVIEWER_API void MR::ImGuiMenu::showModalMessage ( const std::string & msg,
NotificationType msgType )

◆ shutdown()

virtual MRVIEWER_API void MR::ImGuiMenu::shutdown ( )
overridevirtual

Reimplemented from MR::ViewerPlugin.

Reimplemented in MR::RibbonMenu.

◆ simulateNameTagClick()

MRVIEWER_API bool MR::ImGuiMenu::simulateNameTagClick ( Object & object,
NameTagSelectionMode mode )

◆ spaceMouseDown_()

virtual MRVIEWER_API bool MR::ImGuiMenu::spaceMouseDown_ ( int key)
overrideprotectedvirtual

◆ spaceMouseMove_()

virtual MRVIEWER_API bool MR::ImGuiMenu::spaceMouseMove_ ( const Vector3f & translate,
const Vector3f & rotate )
overrideprotectedvirtual

◆ startFrame()

virtual MRVIEWER_API void MR::ImGuiMenu::startFrame ( )
virtual

◆ touchpadRotateGestureBegin_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadRotateGestureBegin_ ( )
overrideprotectedvirtual

◆ touchpadRotateGestureEnd_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadRotateGestureEnd_ ( )
overrideprotectedvirtual

◆ touchpadRotateGestureUpdate_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadRotateGestureUpdate_ ( float angle)
overrideprotectedvirtual

◆ touchpadSwipeGestureBegin_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadSwipeGestureBegin_ ( )
overrideprotectedvirtual

◆ touchpadSwipeGestureEnd_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadSwipeGestureEnd_ ( )
overrideprotectedvirtual

◆ touchpadSwipeGestureUpdate_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadSwipeGestureUpdate_ ( float deltaX,
float deltaY,
bool kinetic )
overrideprotectedvirtual

◆ touchpadZoomGestureBegin_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadZoomGestureBegin_ ( )
overrideprotectedvirtual

◆ touchpadZoomGestureEnd_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadZoomGestureEnd_ ( )
overrideprotectedvirtual

◆ touchpadZoomGestureUpdate_()

virtual MRVIEWER_API bool MR::ImGuiMenu::touchpadZoomGestureUpdate_ ( float scale,
bool kinetic )
overrideprotectedvirtual

◆ tryRenameSelectedObject()

MRVIEWER_API void MR::ImGuiMenu::tryRenameSelectedObject ( )

Member Data Documentation

◆ allowRemoval_

bool MR::ImGuiMenu::allowRemoval_ { true }
protected

◆ callback_draw_custom_window

std::function<void(void)> MR::ImGuiMenu::callback_draw_custom_window

◆ callback_draw_viewer_menu

std::function<void(void)> MR::ImGuiMenu::callback_draw_viewer_menu

◆ callback_draw_viewer_window

std::function<void(void)> MR::ImGuiMenu::callback_draw_viewer_window

◆ capturedMouse_

bool MR::ImGuiMenu::capturedMouse_ { false }
protected

◆ context_

ImGuiContext* MR::ImGuiMenu::context_ = nullptr
protected

◆ drawSceneUiSignal

DrawSceneUiSignal MR::ImGuiMenu::drawSceneUiSignal

◆ editedFeatureObject_

std::weak_ptr<Object> MR::ImGuiMenu::editedFeatureObject_
protected

◆ editedFeatureObjectOldXf_

AffineXf3f MR::ImGuiMenu::editedFeatureObjectOldXf_
protected

◆ frameTimeMillisecThreshold_

long long MR::ImGuiMenu::frameTimeMillisecThreshold_ { 25 }
protected

◆ hidpi_scaling_

float MR::ImGuiMenu::hidpi_scaling_
protected

◆ invertedRotation_

bool MR::ImGuiMenu::invertedRotation_ { false }
protected

◆ lastRenameObj_

std::weak_ptr<Object> MR::ImGuiMenu::lastRenameObj_
protected

◆ mainWindowPos_

ImVec2 MR::ImGuiMenu::mainWindowPos_
protected

◆ mainWindowSize_

ImVec2 MR::ImGuiMenu::mainWindowSize_
protected

◆ modalMessageType_

NotificationType MR::ImGuiMenu::modalMessageType_ { NotificationType::Error }
protected

◆ modifiers_

std::vector<std::shared_ptr<MR::MeshModifier> > MR::ImGuiMenu::modifiers_
protected

◆ nameTagClickSignal

NameTagClickSignal MR::ImGuiMenu::nameTagClickSignal

◆ needModalBgChange_

bool MR::ImGuiMenu::needModalBgChange_ { false }
protected

◆ oldLabelParams_

struct MR::ImGuiMenu::LabelParams MR::ImGuiMenu::oldLabelParams_
protected

◆ pixel_ratio_

float MR::ImGuiMenu::pixel_ratio_
protected

◆ pluginsCache_

struct MR::ImGuiMenu::PluginsCache MR::ImGuiMenu::pluginsCache_
protected

◆ pollEventsInPreDraw

bool MR::ImGuiMenu::pollEventsInPreDraw = false
protected

◆ popUpRenameBuffer_

std::string MR::ImGuiMenu::popUpRenameBuffer_
protected

◆ prevFrameFocusPlugin_

ImGuiWindow* MR::ImGuiMenu::prevFrameFocusPlugin_ = nullptr
protected

◆ renameBuffer_

std::string MR::ImGuiMenu::renameBuffer_
protected

◆ savedDialogPositionEnabled_

bool MR::ImGuiMenu::savedDialogPositionEnabled_ { false }
protected

◆ sceneObjectsList_

std::shared_ptr<SceneObjectsListDrawer> MR::ImGuiMenu::sceneObjectsList_
protected

◆ sceneWindowPos_

ImVec2 MR::ImGuiMenu::sceneWindowPos_
protected

◆ sceneWindowSize_

ImVec2 MR::ImGuiMenu::sceneWindowSize_
protected

◆ searchPluginsString_

std::string MR::ImGuiMenu::searchPluginsString_
protected

◆ selectedViewport_

ViewportId MR::ImGuiMenu::selectedViewport_ = {}
protected

◆ selectionBbox_

Box3f MR::ImGuiMenu::selectionBbox_
protected

◆ selectionChangedToSingleObj_

bool MR::ImGuiMenu::selectionChangedToSingleObj_ { false }
protected

◆ selectionWorldBox_

Box3f MR::ImGuiMenu::selectionWorldBox_
protected

◆ shortcutManager_

std::shared_ptr<ShortcutManager> MR::ImGuiMenu::shortcutManager_
protected

◆ showInfoModal_

bool MR::ImGuiMenu::showInfoModal_ { false }
protected

◆ showRenameModal_

bool MR::ImGuiMenu::showRenameModal_ { false }
protected

◆ showShortcuts_

bool MR::ImGuiMenu::showShortcuts_ { false }
protected

◆ showStatistics_

bool MR::ImGuiMenu::showStatistics_ { false }
protected

◆ Single

enum MR::ImGuiMenu::ViewportConfigurations MR::ImGuiMenu::Single
protected

◆ storedColor_

std::optional<std::pair<std::string, Vector4f> > MR::ImGuiMenu::storedColor_
protected

◆ storedModalMessage_

std::string MR::ImGuiMenu::storedModalMessage_
protected

◆ uiRenderManager_

std::unique_ptr<UiRenderManagerImpl> MR::ImGuiMenu::uiRenderManager_
protected

◆ uniformScale_

bool MR::ImGuiMenu::uniformScale_ { true }
protected

◆ xfHistUpdated_

bool MR::ImGuiMenu::xfHistUpdated_ { false }
protected

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