MeshLib C++ Docs
Loading...
Searching...
No Matches
MRViewerFwd.h
Go to the documentation of this file.
1#pragma once
2
3#include "config.h"
4#include "exports.h"
5#include <MRMesh/MRMeshFwd.h>
6#include <functional>
7
8struct ImFont;
9
10namespace MR
11{
14
15
17using ViewportRectangle = Box2f;
18
19enum class FitMode;
20struct BaseFitParams;
21struct FitDataParams;
22struct FitBoxParams;
23struct FileLoadOptions;
24
25enum class MouseButton;
26enum class MouseMode;
27
28class AlphaSortGL;
29class ColorTheme;
30class DepthPeelingGL;
31class FramebufferData;
32class ImGuiImage;
33class ImGuiMenu;
36class FrameCounter;
38class Palette;
40class ScopeHistory;
41class SelectScreenLasso;
42class SceneTextureGL;
43class SplashWindow;
44class StateBasePlugin;
45class Toolbar;
46class ViewerPlugin;
48class ViewerSetup;
49class ViewerTitle;
50class Viewer;
51struct ViewerSignals;
52struct LaunchParams;
55class Viewport;
56class RibbonMenu;
57class RibbonMenuItem;
59class ShortcutManager;
60struct ShortcutKey;
61enum class ShortcutCategory : char;
62
63class DirectionWidget;
64class PlaneWidget;
65
69class MouseController;
70struct PointInAllSpaces;
72
73template<typename ...Connectables>
76
77class HistoryStore;
78
79using ViewerEventCallback = std::function<void()>;
80
81class MRVIEWER_CLASS WebRequest;
82
83struct PointOnObject;
84
85using ObjAndPick = std::pair<std::shared_ptr<MR::VisualObject>, MR::PointOnObject>;
86using ConstObjAndPick = std::pair<std::shared_ptr<const MR::VisualObject>, MR::PointOnObject>;
87
88using RequirementsFunction = std::function<std::string( const std::shared_ptr<RibbonMenuItem>& )>;
89
90using FontAndSize = std::pair<ImFont*, float>;
91
92namespace SpaceMouse
93{
94struct Parameters;
95class Handler;
96class HandlerHidapi;
97class Controller;
98}
99
101#define MR_DELETE_MOVE(StaticClassName)\
102StaticClassName(StaticClassName&&)noexcept = delete;\
103StaticClassName& operator=(StaticClassName&&)noexcept = delete
104
105#define MR_ADD_CTOR_DELETE_MOVE(StaticClassName)\
106StaticClassName()=default;\
107StaticClassName(StaticClassName&&)noexcept = delete;\
108StaticClassName& operator=(StaticClassName&&)noexcept = delete
109
110}
Definition MRAlphaSortGL.h:10
Definition MRColorTheme.h:19
class that holds and manages corner controller object
Definition MRViewportCornerController.h:21
class to encapsulate depth peeling rendering passes as fall back if alpha sort is not available
Definition MRDepthPeelingGL.h:13
Widget for visualizing the direction.
Definition MRDirectionWidget.h:18
Definition MRFrameCounter.h:13
class for easier rendering in framebuffer texture
Definition MRRenderGLHelpers.h:217
This class stores history stack for undo/redo.
Definition MRHistoryStore.h:16
this class is needed to emit detailed Drag & Drop events to Viewer on different platforms
Definition MRDragDropHandler.h:14
Definition MRViewerSettingsManager.h:16
Definition MRImGuiImage.h:18
Definition ImGuiMenu.h:53
ImGui visualization of a slice from voxel object and seed marks on it.
Definition MRMarkedVoxelSlice.h:22
Definition MRMouseController.h:24
Class to hold one dimension texture with value to UV mapping.
Definition MRPalette.h:30
Definition MRPlaneWidget.h:17
Definition MRRecentFilesStore.h:20
Definition MRRibbonFontManager.h:15
Definition MRRibbonMenuItem.h:23
Definition MRRibbonMenu.h:27
Class for rendering 3d scene into texture.
Definition MRSceneTextureGL.h:11
The purpose of this class is to combine all actions appended to global history store in one big actio...
Definition MRAppendHistory.h:76
Definition MRShortcutManager.h:47
Definition MRSplashWindow.h:22
Definition MRStatePlugin.h:81
Definition MRStatePlugin.h:139
class to draw toolbar and toolbar customize windows
Definition MRToolbar.h:24
Definition MRTouchesController.h:20
Definition MRTouchpadController.h:35
queue to ignore multiple mouse moves in one frame
Definition MRViewerEventQueue.h:17
Definition MRViewerPlugin.h:30
Definition MRViewerSettingsManager.h:35
Definition MRSetupViewer.h:16
Definition MRViewerTitle.h:14
GLFW-based mesh viewer.
Definition MRViewer.h:69
Class to unify Global Basis control.
Definition MRViewportGlobalBasis.h:15
Definition MRViewport.h:49
this class is needed to unify cpp and wasm requests
Definition MRWebRequest.h:21
MouseMode
Standard mouse functions for camera control.
Definition MRMouse.h:22
MouseButton
Definition MRMouse.h:12
std::pair< ImFont *, float > FontAndSize
Definition MRViewerFwd.h:90
FitMode
Fit mode ( types of objects for which the fit is applied )
Definition MRFitData.h:14
std::function< std::string(const std::shared_ptr< RibbonMenuItem > &)> RequirementsFunction
Definition MRViewerFwd.h:88
std::pair< std::shared_ptr< MR::VisualObject >, MR::PointOnObject > ObjAndPick
Definition MRViewerFwd.h:85
std::pair< std::shared_ptr< const MR::VisualObject >, MR::PointOnObject > ConstObjAndPick
Definition MRViewerFwd.h:86
StateListenerPlugin<> StatePlugin
Definition MRViewerFwd.h:75
ShortcutCategory
Definition MRShortcutManager.h:31
Box2f ViewportRectangle
Viewport size.
Definition MRViewerFwd.h:17
std::function< void()> ViewerEventCallback
Definition MRViewerFwd.h:79
Definition MRSpaceMouseController.h:7
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRFitData.h:23
Definition MRFileLoadOptions.h:14
Definition MRFitData.h:45
Definition MRFitData.h:32
This struct contains rules for viewer launch.
Definition MRViewer.h:34
Definition MRPointInAllSpaces.h:16
Definition MRPointOnObject.h:21
Definition MRShortcutManager.h:16
Definition MRTouchpadParameters.h:12
Definition MRViewerSignals.h:13