MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / MinimalViewerSetup

Class MinimalViewerSetup

source/mrviewerpy/MRPythonViewer.cpp:109–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107/// viewer setup class for minimal configuration
108/// only loads config file (if available) and configures the scene and mouse controls
109class MinimalViewerSetup final : public ViewerSetup
110{
111public:
112 void setupBasePlugins( Viewer* viewer ) const override
113 {
114 auto menu = std::make_shared<RibbonMenu>();
115 menu->setMenuUIConfig( { .topLayout = RibbonTopPanelLayoutMode::None,.drawScenePanel = false,.drawToolbar = false } ); // no scene tree by default
116 viewer->setMenuPlugin( menu );
117 }
118 void setupExtendedLibraries() const override {}
119 void unloadExtendedLibraries() const override {}
120
121 void setupConfiguration( Viewer* viewer ) const override
122 {
123 viewer->resetSettingsFunction = [base = viewer->resetSettingsFunction] ( Viewer* viewer )
124 {
125 base( viewer );
126 resetSettings_( viewer );
127 };
128 viewer->resetSettingsFunction( viewer );
129 }
130
131private:
132 static void resetSettings_( Viewer* viewer )
133 {
134 viewer->glPickRadius = 3;
135
136 auto& mouseController = viewer->mouseController();
137 mouseController.setMouseControl( { MouseButton::Right, 0 }, MouseMode::Translation );
138 mouseController.setMouseControl( { MouseButton::Middle, 0 }, MouseMode::Rotation );
139 mouseController.setMouseControl( { MouseButton::Middle, getGlfwModPrimaryCtrl() }, MouseMode::Roll );
140 }
141};
142
143void pythonLaunch( const MR::Viewer::LaunchParams& params, const MinimalViewerSetup& setup )
144{

Callers 1

MRPythonViewer.cppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected