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

#include <MRMenu.h>

+ Inheritance diagram for MR::Menu:

Public Member Functions

virtual MRVIEWER_API void init (MR::Viewer *_viewer) override
 
- Public Member Functions inherited from MR::ImGuiMenu
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 ()
 

Additional Inherited Members

- Public Types inherited from MR::ImGuiMenu
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 )>
 
- Static Public Member Functions inherited from MR::ImGuiMenu
static MRVIEWER_API const std::shared_ptr< ImGuiMenu > & instance ()
 
- Public Attributes inherited from MR::ImGuiMenu
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 inherited from MR::ImGuiMenu
enum  ViewportConfigurations { Single , Horizontal , Vertical , Quad }
 
- Protected Member Functions inherited from MR::ImGuiMenu
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 inherited from MR::ImGuiMenu
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 Function Documentation

◆ init()

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

Reimplemented from MR::ImGuiMenu.


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