MeshLib
 
Loading...
Searching...
No Matches
MRViewer.h File Reference
#include "MRMesh/MRRenderModelParameters.h"
#include "MRViewerInstance.h"
#include "MRMouse.h"
#include <MRMesh/MRVector2.h>
#include <MRMesh/MRViewportId.h>
#include "MRMesh/MRSignal.h"
#include "MRViewer/MRSignalCombiners.h"
#include <cstdint>
#include <filesystem>

Go to the source code of this file.

Classes

struct  MR::LaunchParams
 
class  MR::Viewer
 

Namespaces

namespace  MR
 

Macros

#define MAKE_SLOT(func)   bindSlotCallback(this,func)
 
#define ENQUEUE_VIEWER_METHOD(NAME, METHOD)
 helper macros to add an MR::Viewer method call to the event queue
 
#define ENQUEUE_VIEWER_METHOD_ARGS(NAME, METHOD, ...)
 
#define ENQUEUE_VIEWER_METHOD_ARGS_SKIPABLE(NAME, METHOD, ...)
 

Functions

template<typename MemberFuncPtr , typename BaseClass >
auto bindSlotCallback (BaseClass *base, MemberFuncPtr func)
 
MRVIEWER_API int MR::launchDefaultViewer (const Viewer::LaunchParams &params, const ViewerSetup &setup)
 
MRVIEWER_API void MR::loadMRViewerDll ()
 

Macro Definition Documentation

◆ ENQUEUE_VIEWER_METHOD

#define ENQUEUE_VIEWER_METHOD ( NAME,
METHOD )
Value:
MR::getViewerInstance().emplaceEvent( NAME, [] { \
MR::getViewerInstance() . METHOD (); \
} )
MRVIEWER_API Viewer & getViewerInstance()

helper macros to add an MR::Viewer method call to the event queue

◆ ENQUEUE_VIEWER_METHOD_ARGS

#define ENQUEUE_VIEWER_METHOD_ARGS ( NAME,
METHOD,
... )
Value:
MR::getViewerInstance().emplaceEvent( NAME, [__VA_ARGS__] { \
MR::getViewerInstance() . METHOD ( __VA_ARGS__ ); \
} )

◆ ENQUEUE_VIEWER_METHOD_ARGS_SKIPABLE

#define ENQUEUE_VIEWER_METHOD_ARGS_SKIPABLE ( NAME,
METHOD,
... )
Value:
MR::getViewerInstance().emplaceEvent( NAME, [__VA_ARGS__] { \
MR::getViewerInstance() . METHOD ( __VA_ARGS__ ); \
}, true )

◆ MAKE_SLOT

#define MAKE_SLOT ( func)    bindSlotCallback(this,func)

Function Documentation

◆ bindSlotCallback()

template<typename MemberFuncPtr , typename BaseClass >
auto bindSlotCallback ( BaseClass * base,
MemberFuncPtr func )