iMSTK
Interactive Medical Simulation Toolkit
|
Rendering window manager and contains user API to configure the rendering with various backends. More...
#include <imstkRenderer.h>
Public Types | |
enum | Mode { Empty, Debug, Simulation } |
Enumerations for the render mode. | |
![]() | |
using | Observer = std::tuple< bool, std::weak_ptr< EventObject >, std::function< void(Event *)> > |
Public Member Functions | |
virtual void | initialize ()=0 |
bool | getIsInitialized () const |
virtual void | setMode (const Renderer::Mode mode, const bool enableVR) |
Set rendering mode. | |
virtual void | setTimeTable (const std::unordered_map< std::string, double > &) |
Sets the benchmarking table using unordered_map. | |
virtual const Renderer::Mode & | getMode () const |
Get rendering mode. | |
virtual void | updateBackground (const Vec3d color1, const Vec3d color2=Vec3d::Zero(), const bool gradientBackground=false)=0 |
Update background colors. | |
std::shared_ptr< RendererConfig > | getRenderConfig () const |
Get the render config. | |
virtual void | setConfig (std::shared_ptr< RendererConfig > config)=0 |
Sets the configuration and updates the render pipeline accordingly. | |
virtual void | setTimeTableVisibility (const bool) |
Get/Set the visibility of the benchmark graph. | |
virtual bool | getTimeTableVisibility () const |
![]() | |
template<typename T > | |
void | postEvent (const T &e) |
Emits the event Direct observers will be immediately called, in sync Queued observers will receive the Command in their queue for later execution, reciever must implement doEvent. | |
template<typename T > | |
void | queueEvent (const T &e) |
Queues event directly to this. | |
void | doEvent () |
Do an event, if none exists return. | |
void | doAllEvents () |
Do all the events in the event queue. | |
void | foreachEvent (std::function< void(Command cmd)> func) |
Thread safe loop over all event commands, one can implement a custom handler. | |
void | rforeachEvent (std::function< void(Command cmd)> func) |
thread safe reverse loop over all event commands, one can implement a custom handler | |
void | clearEvents () |
Removes all events from queue cleans up copies of the event. | |
Protected Attributes | |
bool | m_VrEnabled = false |
bool | m_isInitialized = false |
Renderer::Mode | m_currentMode = Renderer::Mode::Simulation |
std::shared_ptr< RendererConfig > | m_config |
![]() | |
ParallelUtils::SpinLock | eventQueueLock |
std::deque< Command > | eventQueue |
std::vector< std::pair< std::string, std::vector< Observer > > > | queuedObservers |
std::vector< std::pair< std::string, std::vector< Observer > > > | directObservers |
Rendering window manager and contains user API to configure the rendering with various backends.
Definition at line 41 of file imstkRenderer.h.