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

Detailed Description

This class manages the rendering of all debug visuals in the VREngage environment. It handles layers, visibility controls, and integration with the graphics engine.

#include <debugRenderer.h>

Classes

struct  DrawLayer
 

Public Member Functions

 DtDebugRenderer (makVrv::DtDe &de)
 
virtual ~DtDebugRenderer ()
 
virtual bool render (void *context, DtDebugRenderParameters &params)
 
virtual bool isEnabled ()
 
virtual void setEnabled (bool setting)
 
virtual std::vector< std::pair< std::string, std::string > > layerNames (double timeoutTime=0.f, const std::string &group="")
 
virtual void setLayerEnabled (const std::string &layerName, bool setting)
 
virtual bool isLayerEnabled (const std::string &layerName)
 
virtual void debugCallback ()
 
float getRenderTimeout ()
 
void setRenderTimeout (float timeout)
 

Protected Types

using DrawLayerMap = std::map<std::string, DrawLayer>
 
using DrawLayerMapIter = DrawLayerMap::iterator
 
using CanvasMap = std::map<std::pair<void*, bool>, DtDebugCanvas*>
 

Protected Member Functions

void addDrawCmd (const std::string &layerId, const std::string &layerName, DtDebugDrawCommand *cmd)
 
virtual makVre::DtVreMessageResult handleDrawSphere (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawLine (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawCube (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawTris (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawText3d (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawText2d (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawGraph (makVre::DtVreMessage *msg)
 
virtual makVre::DtVreMessageResult handleDrawTextPanel (makVre::DtVreMessage *msg)
 

Protected Attributes

friend DtVreDebugManager
 
makVrv::DtDe & myDe
 
float myMainScreenHeight
 
float myMainScreenWidth
 
float myDebugMenuTimeout
 
DrawLayerMap myDrawLayerMap
 
bool myIsEnabled
 
CanvasMap myCanvasMap
 
osg::ref_ptr< osg::Drawable > my2dDrawable
 
osg::ref_ptr< osg::Drawable > my3dDrawable
 
DtFilename myFontFilename
 
DtFilename myVsFilename
 
DtFilename myFsFilename
 

Member Typedef Documentation

◆ DrawLayerMap

using makVre::DtDebugRenderer::DrawLayerMap = std::map<std::string, DrawLayer>
protected

Map of layer IDs to layer data.

◆ DrawLayerMapIter

using makVre::DtDebugRenderer::DrawLayerMapIter = DrawLayerMap::iterator
protected

Iterator for the draw layer map.

◆ CanvasMap

using makVre::DtDebugRenderer::CanvasMap = std::map<std::pair<void*, bool>, DtDebugCanvas*>
protected

Map of canvases for different rendering contexts.

Constructor & Destructor Documentation

◆ DtDebugRenderer()

makVre::DtDebugRenderer::DtDebugRenderer ( makVrv::DtDe & de)

Constructor for debug renderer.

Parameters
deReference to the graphics engine

References de().

◆ ~DtDebugRenderer()

virtual makVre::DtDebugRenderer::~DtDebugRenderer ( )
virtual

Virtual destructor.

Member Function Documentation

◆ render()

virtual bool makVre::DtDebugRenderer::render ( void * context,
DtDebugRenderParameters & params )
virtual

Main rendering function for debug visuals.

Parameters
contextGraphics context for rendering
paramsRendering parameters including view and projection matrices
Returns
True if rendering was successful

◆ isEnabled()

virtual bool makVre::DtDebugRenderer::isEnabled ( )
virtual

Checks if debug rendering is enabled.

Returns
True if debug rendering is enabled

◆ setEnabled()

virtual void makVre::DtDebugRenderer::setEnabled ( bool setting)
virtual

Enables or disables debug rendering.

Parameters
settingTrue to enable debug rendering, false to disable

◆ layerNames()

virtual std::vector< std::pair< std::string, std::string > > makVre::DtDebugRenderer::layerNames ( double timeoutTime = 0.f,
const std::string & group = "" )
virtual

Gets the names of all available debug layers.

Parameters
timeoutTimeTimeout in seconds to filter inactive layers
groupGroup name to filter layers by
Returns
Vector of pairs containing layer ID and display name

◆ setLayerEnabled()

virtual void makVre::DtDebugRenderer::setLayerEnabled ( const std::string & layerName,
bool setting )
virtual

Enables or disables a specific debug layer.

Parameters
layerNameName of the layer to modify
settingTrue to enable the layer, false to disable

◆ isLayerEnabled()

virtual bool makVre::DtDebugRenderer::isLayerEnabled ( const std::string & layerName)
virtual

Checks if a specific debug layer is enabled.

Parameters
layerNameName of the layer to check
Returns
True if the layer is enabled

◆ debugCallback()

virtual void makVre::DtDebugRenderer::debugCallback ( )
virtual

Debug callback function.

Called to trigger any debug-specific processing

◆ getRenderTimeout()

float makVre::DtDebugRenderer::getRenderTimeout ( )

Gets the render timeout value.

Returns
Timeout value in seconds

◆ setRenderTimeout()

void makVre::DtDebugRenderer::setRenderTimeout ( float timeout)

Sets the render timeout value.

Parameters
timeoutTimeout value in seconds

◆ addDrawCmd()

void makVre::DtDebugRenderer::addDrawCmd ( const std::string & layerId,
const std::string & layerName,
DtDebugDrawCommand * cmd )
protected

Adds a draw command to a specific layer.

Parameters
layerIdID of the layer
layerNameDisplay name of the layer
cmdPointer to the draw command to add

◆ handleDrawSphere()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawSphere ( makVre::DtVreMessage * msg)
protectedvirtual

Handles sphere drawing messages.

Parameters
msgPointer to the message containing sphere drawing parameters
Returns
Result of the message handling

◆ handleDrawLine()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawLine ( makVre::DtVreMessage * msg)
protectedvirtual

Handles line drawing messages.

Parameters
msgPointer to the message containing line drawing parameters
Returns
Result of the message handling

◆ handleDrawCube()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawCube ( makVre::DtVreMessage * msg)
protectedvirtual

Handles cube drawing messages.

Parameters
msgPointer to the message containing cube drawing parameters
Returns
Result of the message handling

◆ handleDrawTris()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawTris ( makVre::DtVreMessage * msg)
protectedvirtual

Handles triangle drawing messages.

Parameters
msgPointer to the message containing triangle drawing parameters
Returns
Result of the message handling

◆ handleDrawText3d()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawText3d ( makVre::DtVreMessage * msg)
protectedvirtual

Handles 3D text drawing messages.

Parameters
msgPointer to the message containing 3D text drawing parameters
Returns
Result of the message handling

◆ handleDrawText2d()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawText2d ( makVre::DtVreMessage * msg)
protectedvirtual

Handles 2D text drawing messages.

Parameters
msgPointer to the message containing 2D text drawing parameters
Returns
Result of the message handling

◆ handleDrawGraph()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawGraph ( makVre::DtVreMessage * msg)
protectedvirtual

Handles graph drawing messages.

Parameters
msgPointer to the message containing graph drawing parameters
Returns
Result of the message handling

◆ handleDrawTextPanel()

virtual makVre::DtVreMessageResult makVre::DtDebugRenderer::handleDrawTextPanel ( makVre::DtVreMessage * msg)
protectedvirtual

Handles text panel drawing messages.

Parameters
msgPointer to the message containing text panel drawing parameters
Returns
Result of the message handling

Member Data Documentation

◆ DtVreDebugManager

friend makVre::DtDebugRenderer::DtVreDebugManager
protected

◆ myDe

makVrv::DtDe& makVre::DtDebugRenderer::myDe
protected

Reference to the graphics engine.

◆ myMainScreenHeight

float makVre::DtDebugRenderer::myMainScreenHeight
protected

Main screen height in pixels.

◆ myMainScreenWidth

float makVre::DtDebugRenderer::myMainScreenWidth
protected

Main screen width in pixels.

◆ myDebugMenuTimeout

float makVre::DtDebugRenderer::myDebugMenuTimeout
protected

Timeout for debug menu visibility.

◆ myDrawLayerMap

DrawLayerMap makVre::DtDebugRenderer::myDrawLayerMap
protected

Map of all debug layers.

◆ myIsEnabled

bool makVre::DtDebugRenderer::myIsEnabled
protected

Flag indicating if debug rendering is enabled.

◆ myCanvasMap

CanvasMap makVre::DtDebugRenderer::myCanvasMap
protected

Map of all debug canvases.

◆ my2dDrawable

osg::ref_ptr<osg::Drawable> makVre::DtDebugRenderer::my2dDrawable
protected

2D drawable for rendering debug elements

◆ my3dDrawable

osg::ref_ptr<osg::Drawable> makVre::DtDebugRenderer::my3dDrawable
protected

3D drawable for rendering debug elements

◆ myFontFilename

DtFilename makVre::DtDebugRenderer::myFontFilename
protected

Font filename for text rendering.

◆ myVsFilename

DtFilename makVre::DtDebugRenderer::myVsFilename
protected

Vertex shader filename.

◆ myFsFilename

DtFilename makVre::DtDebugRenderer::myFsFilename
protected

Fragment shader filename.


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