VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtVortexDebug Class Reference

Detailed Description

This class manages various debugging features for the Vortex physics integration, including visualization of physics objects, collision triangles, and performance metrics. It also handles configuration of the Vortex logging system and remote debugging.

#include <vortexDebug.h>

Classes

class  LogHandler
 

Public Member Functions

 DtVortexDebug (const DtSimulationServices *services)
 
virtual ~DtVortexDebug ()=default
 
virtual void tick (double dt)
 
virtual void renderImgui ()
 
virtual void initializeVortexDebugging ()
 
virtual void shutdownVortexDebugging ()
 
virtual bool active () const
 
virtual bool debugArtParts () const
 
virtual bool debugContacts () const
 
virtual void updateVortexRemoteDebugging ()
 
bool debugRequestBounds () const
 
bool debugCollisionTriangles () const
 
bool debugPrintDynamicTerrain () const
 
bool debugPagerTimes () const
 
double debugPagerTimeoutTime () const
 
std::shared_ptr< DtVortexDebug::LogHandlerlogHandler ()
 

Protected Member Functions

makVre::DtInitializerdebugInitializer () const
 
makVre::DtVreMessageResult handleDebugMessage (makVre::DtVreMessage *msg)
 
virtual void registerDebugValues ()
 
virtual void unregisterDebugValues ()
 

Static Protected Member Functions

static void setVortexLogLevel (DtNotifyLevelType notifyLevel)
 

Protected Attributes

makVre::DtInitializermyDebugInitializer
 
DtSimulationAddress mySimAddress
 
DebugMetaRegisterMessage::Process myProcessType
 
bool myActive
 
bool myDebugRequestBounds
 
bool myDebugPagerTimes
 
bool myDebugPrintDynamicTerrain
 
double myDebugTerrainPageoutTime
 
bool myDebugArtParts
 
bool myDebugContacts
 
bool myDebugRemoteEnabled
 
bool myDebugCollisionTriangles
 
double myDebugCollisionTrianglesInterval
 
unsigned int myDebugCollisionTrianglesMaxRequestCount
 
double myCollisionTrianglesLastDtSent
 
std::shared_ptr< DtVortexDebug::LogHandlermyVortexLogHandler
 
std::deque< std::pair< int, std::vector< DtVector > > > myCollisionGeometryDeque
 
std::deque< std::pair< unsigned int, std::vector< DtVector > > > myArtPartsGeometryDeque
 
double myDebugArtPartsGeometryInterval
 
unsigned int myDebugArtPartsGeometryMaxRequestCount
 
double myDebugArtPartsGeometryLastDtSent
 

Constructor & Destructor Documentation

◆ DtVortexDebug()

makVre::DtVortexDebug::DtVortexDebug ( const DtSimulationServices * services)
explicit

Constructor.

Initializes the debug system with the provided simulation services. Sets up default debug values and loads the debug configuration file.

Parameters
servicesPointer to the simulation services

◆ ~DtVortexDebug()

virtual makVre::DtVortexDebug::~DtVortexDebug ( )
virtualdefault

Destructor.

Performs cleanup of debug resources.

Member Function Documentation

◆ tick()

virtual void makVre::DtVortexDebug::tick ( double dt)
virtual

Updates the debug state and visuals.

Called each simulation frame to update debug visualizations and process any pending debug operations.

Parameters
dtTime step in seconds since the last update

◆ renderImgui()

virtual void makVre::DtVortexDebug::renderImgui ( )
virtual

Renders debug information using ImGui.

Displays debug information and controls in an ImGui interface.

◆ initializeVortexDebugging()

virtual void makVre::DtVortexDebug::initializeVortexDebugging ( )
virtual

Initializes Vortex debugging functionality.

Sets up the log handler and registers debug values with the debug manager. This makes the debugging options visible in the user interface.

◆ shutdownVortexDebugging()

virtual void makVre::DtVortexDebug::shutdownVortexDebugging ( )
virtual

Shuts down Vortex debugging functionality.

Unregisters debug values and cleans up resources.

◆ active()

virtual bool makVre::DtVortexDebug::active ( ) const
virtual

Checks if debugging is active.

Returns
True if debugging is active, false otherwise

◆ debugArtParts()

virtual bool makVre::DtVortexDebug::debugArtParts ( ) const
virtual

Checks if art parts debugging is enabled.

Returns
True if art parts debugging is enabled, false otherwise

◆ debugContacts()

virtual bool makVre::DtVortexDebug::debugContacts ( ) const
virtual

Checks if contact point debugging is enabled.

Returns
True if contact point debugging is enabled, false otherwise

◆ updateVortexRemoteDebugging()

virtual void makVre::DtVortexDebug::updateVortexRemoteDebugging ( )
virtual

Updates the Vortex remote debugging connection.

Enables or disables the Vortex remote debugger based on the current setting.

◆ debugRequestBounds()

bool makVre::DtVortexDebug::debugRequestBounds ( ) const

Checks if request bounds debugging is enabled.

Returns
True if request bounds debugging is enabled, false otherwise

◆ debugCollisionTriangles()

bool makVre::DtVortexDebug::debugCollisionTriangles ( ) const

Checks if collision triangle debugging is enabled.

Returns
True if collision triangle debugging is enabled, false otherwise

◆ debugPrintDynamicTerrain()

bool makVre::DtVortexDebug::debugPrintDynamicTerrain ( ) const

Checks if dynamic terrain debugging is enabled.

Returns
True if dynamic terrain debugging is enabled, false otherwise

◆ debugPagerTimes()

bool makVre::DtVortexDebug::debugPagerTimes ( ) const

Checks if pager timing debugging is enabled.

Returns
True if pager timing debugging is enabled, false otherwise

◆ debugPagerTimeoutTime()

double makVre::DtVortexDebug::debugPagerTimeoutTime ( ) const

Gets the timeout time for pager timing debugging.

Returns
The timeout time in seconds

◆ logHandler()

std::shared_ptr< DtVortexDebug::LogHandler > makVre::DtVortexDebug::logHandler ( )

Gets the Vortex log handler.

Returns
Shared pointer to the log handler

◆ debugInitializer()

makVre::DtInitializer * makVre::DtVortexDebug::debugInitializer ( ) const
protected

Gets the debug initializer.

Returns
Pointer to the debug initializer

◆ handleDebugMessage()

makVre::DtVreMessageResult makVre::DtVortexDebug::handleDebugMessage ( makVre::DtVreMessage * msg)
protected

Handles debug messages from the debug manager.

Processes debug enable/disable messages and other control messages.

Parameters
msgThe message to handle
Returns
The result of handling the message

◆ registerDebugValues()

virtual void makVre::DtVortexDebug::registerDebugValues ( )
protectedvirtual

Registers debug values with the debug manager.

Makes debug options visible in the user interface and sets up message handlers.

◆ unregisterDebugValues()

virtual void makVre::DtVortexDebug::unregisterDebugValues ( )
protectedvirtual

Unregisters debug values from the debug manager.

Removes debug options from the user interface and cleans up message handlers.

◆ setVortexLogLevel()

static void makVre::DtVortexDebug::setVortexLogLevel ( DtNotifyLevelType notifyLevel)
staticprotected

Sets the Vortex logging level.

Translates the VR-Forces notification level to the appropriate Vortex log level.

Parameters
notifyLevelThe VR-Forces notification level

Member Data Documentation

◆ myDebugInitializer

makVre::DtInitializer* makVre::DtVortexDebug::myDebugInitializer
protected

Initializer for debug configuration.

◆ mySimAddress

DtSimulationAddress makVre::DtVortexDebug::mySimAddress
protected

Address of the simulation.

◆ myProcessType

DebugMetaRegisterMessage::Process makVre::DtVortexDebug::myProcessType
protected

Type of process (VRF or VRE)

◆ myActive

bool makVre::DtVortexDebug::myActive
protected

Flag indicating if debugging is active.

◆ myDebugRequestBounds

bool makVre::DtVortexDebug::myDebugRequestBounds
protected

Flag for debug request bounds visualization.

◆ myDebugPagerTimes

bool makVre::DtVortexDebug::myDebugPagerTimes
protected

Flag for pager timing debug output.

◆ myDebugPrintDynamicTerrain

bool makVre::DtVortexDebug::myDebugPrintDynamicTerrain
protected

Flag for dynamic terrain debug output.

◆ myDebugTerrainPageoutTime

double makVre::DtVortexDebug::myDebugTerrainPageoutTime
protected

Timeout for terrain paging.

◆ myDebugArtParts

bool makVre::DtVortexDebug::myDebugArtParts
protected

Flag for art parts visualization.

◆ myDebugContacts

bool makVre::DtVortexDebug::myDebugContacts
protected

Flag for contact points visualization.

◆ myDebugRemoteEnabled

bool makVre::DtVortexDebug::myDebugRemoteEnabled
protected

Flag for remote debugging.

◆ myDebugCollisionTriangles

bool makVre::DtVortexDebug::myDebugCollisionTriangles
protected

Flag for collision triangle visualization.

◆ myDebugCollisionTrianglesInterval

double makVre::DtVortexDebug::myDebugCollisionTrianglesInterval
protected

Time interval between triangle updates.

◆ myDebugCollisionTrianglesMaxRequestCount

unsigned int makVre::DtVortexDebug::myDebugCollisionTrianglesMaxRequestCount
protected

Counter for triangle requests.

◆ myCollisionTrianglesLastDtSent

double makVre::DtVortexDebug::myCollisionTrianglesLastDtSent
protected

Time of last triangle data sent.

◆ myVortexLogHandler

std::shared_ptr<DtVortexDebug::LogHandler> makVre::DtVortexDebug::myVortexLogHandler
protected

Log handler for Vortex messages.

◆ myCollisionGeometryDeque

std::deque<std::pair<int, std::vector<DtVector> > > makVre::DtVortexDebug::myCollisionGeometryDeque
protected

Queue of collision geometries for visualization.

◆ myArtPartsGeometryDeque

std::deque<std::pair<unsigned int, std::vector<DtVector> > > makVre::DtVortexDebug::myArtPartsGeometryDeque
protected

◆ myDebugArtPartsGeometryInterval

double makVre::DtVortexDebug::myDebugArtPartsGeometryInterval
protected

Time interval between part geometry updates.

◆ myDebugArtPartsGeometryMaxRequestCount

unsigned int makVre::DtVortexDebug::myDebugArtPartsGeometryMaxRequestCount
protected

Counter for geometry requests.

◆ myDebugArtPartsGeometryLastDtSent

double makVre::DtVortexDebug::myDebugArtPartsGeometryLastDtSent
protected

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