VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtImguiMultithreadManager Class Reference

This class is intended to be a global singleton. It manages multiple DtSimImguiThread instances such that only one is allowed to be enabled at a time. The expectation is that each one of these is operating in a different thread. This manager registers a command console for enabling and controlling these instances.

Public Member Functions

 DtImguiMultithreadManager ()
 
virtual ~DtImguiMultithreadManager ()
 
void addImguiManager (DtSimImguiThread *imGuiManager)
 
void removeImguiManager (DtSimImguiThread *imGuiManager)
 
void setAppName (const DtString &appName)
 
void setPort (unsigned int port)
 
unsigned int port () const
 
void setHost (const DtString &host)
 
DtString host () const
 
void startImgui ()
 
void stopImgui ()
 
bool isRunning ()
 
DtString currentThread ()
 
std::list< DtStringavailableThreads ()
 
bool setThread (const DtString &threadName)
 

Static Public Member Functions

static DtImguiMultithreadManagerglobalMultiImguiManager ()
 

Protected Member Functions

void startupThread (DtSimImguiThread *thread)
 
void shutdownThread (DtSimImguiThread *thread)
 

Protected Attributes

tbb::spin_mutex myMutex
 
std::map< DtString,
DtSimImguiThread * > 
myImguiManagerList
 
unsigned int myPort
 
DtString myHost
 
DtSimImguiThreadmyCurrentThread
 
DtString myAutostartThreadName
 
DtString myAppName
 

Static Protected Attributes

static tbb::spin_mutex theGlobalMutex
 
static DtImguiMultithreadManagertheGlobalMultiImguiManager
 

Constructor & Destructor Documentation

DtImguiMultithreadManager::DtImguiMultithreadManager ( )
virtual DtImguiMultithreadManager::~DtImguiMultithreadManager ( )
virtual

Member Function Documentation

void DtImguiMultithreadManager::addImguiManager ( DtSimImguiThread imGuiManager)

Register an IM GUI manager with this manager.

void DtImguiMultithreadManager::removeImguiManager ( DtSimImguiThread imGuiManager)
void DtImguiMultithreadManager::setAppName ( const DtString appName)

Set the name that will be used in the title bar for the window to this application when connected to the remote debugger.

void DtImguiMultithreadManager::setPort ( unsigned int  port)
unsigned int DtImguiMultithreadManager::port ( ) const
void DtImguiMultithreadManager::setHost ( const DtString host)
DtString DtImguiMultithreadManager::host ( ) const
void DtImguiMultithreadManager::startImgui ( )
void DtImguiMultithreadManager::stopImgui ( )
bool DtImguiMultithreadManager::isRunning ( )
DtString DtImguiMultithreadManager::currentThread ( )
std::list<DtString> DtImguiMultithreadManager::availableThreads ( )
bool DtImguiMultithreadManager::setThread ( const DtString threadName)
static DtImguiMultithreadManager* DtImguiMultithreadManager::globalMultiImguiManager ( )
static
Returns
The global singleton IM GUI manager. Creates it if it has not already been created.
void DtImguiMultithreadManager::startupThread ( DtSimImguiThread thread)
protected
void DtImguiMultithreadManager::shutdownThread ( DtSimImguiThread thread)
protected

Member Data Documentation

tbb::spin_mutex DtImguiMultithreadManager::myMutex
protected
std::map<DtString, DtSimImguiThread*> DtImguiMultithreadManager::myImguiManagerList
protected

Map is indexed by thread names.

unsigned int DtImguiMultithreadManager::myPort
protected
DtString DtImguiMultithreadManager::myHost
protected
DtSimImguiThread* DtImguiMultithreadManager::myCurrentThread
protected
DtString DtImguiMultithreadManager::myAutostartThreadName
protected

If a thread by this name is added and no thread is running, it will be started.

DtString DtImguiMultithreadManager::myAppName
protected
tbb::spin_mutex DtImguiMultithreadManager::theGlobalMutex
staticprotected

Static globals for singleton.

DtImguiMultithreadManager* DtImguiMultithreadManager::theGlobalMultiImguiManager
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)