#include <MRMenu.h>
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 |
virtual 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< ShortcutManager > | getShortcutManager () |
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 UiRenderManager & | getUiRenderManager () |
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 | |
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 |
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< ShortcutManager > | shortcutManager_ |
ImVec2 | sceneWindowPos_ |
ImVec2 | sceneWindowSize_ |
ImVec2 | mainWindowPos_ |
ImVec2 | mainWindowSize_ |
bool | savedDialogPositionEnabled_ { false } |
std::weak_ptr< Object > | lastRenameObj_ |
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< Object > | editedFeatureObject_ |
AffineXf3f | editedFeatureObjectOldXf_ |
bool | capturedMouse_ { false } |
std::unique_ptr< UiRenderManagerImpl > | uiRenderManager_ |
std::shared_ptr< SceneObjectsListDrawer > | sceneObjectsList_ |
Protected Attributes inherited from MR::ViewerPlugin | |
Viewer * | viewer = &getViewerInstance() |
|
overridevirtual |
Reimplemented from MR::ImGuiMenu.