VR-Engage  2.2
Loading...
Searching...
No Matches
debugRendererDefines.h
Go to the documentation of this file.
1/*********************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*********************************************************************************/
5//! \file debugRendererDefines.h
6//! \ingroup vreDebugManager
7//! \brief Contains debug rendering macros for the VREngage debug system.
8//!
9//! This file defines macros that simplify the creation of debug visualization elements
10//! within the VREngage environment. These macros handle the creation and dispatch of
11//! debug rendering messages for various primitive types like spheres, cubes, lines,
12//! triangles, and text.
13
14#pragma once
15
24
25#include "vreUtil/color.h"
26
29
31
32#define DEBUG_SPHERE(layerName, layerId, position, radius, color, fill, clip, duration) \
33 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
34 { \
35 makVre::DebugDrawSphereMessage* debugDrawSphereMessage = makVre::DebugDrawSphereMessage::create(); \
36 debugDrawSphereMessage->setLayerName(layerName); \
37 debugDrawSphereMessage->setLayerId(layerId); \
38 debugDrawSphereMessage->setPosition(position); \
39 debugDrawSphereMessage->setRadius(radius); \
40 debugDrawSphereMessage->setColor(color); \
41 debugDrawSphereMessage->setFill(fill); \
42 debugDrawSphereMessage->setClip(clip); \
43 debugDrawSphereMessage->setDuration(duration); \
44 makVre::DtVreMessageManager::instance().queueMessage(debugDrawSphereMessage); \
45 }
46
47#define DEBUG_CUBE(layerName, layerId, mn, mx, color, fill, clip, duration) \
48 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
49 { \
50 makVre::DebugDrawCubeMessage* debugDrawCubeMessage = makVre::DebugDrawCubeMessage::create(); \
51 debugDrawCubeMessage->setLayerName(layerName); \
52 debugDrawCubeMessage->setLayerId(layerId); \
53 debugDrawCubeMessage->setMin(mn); \
54 debugDrawCubeMessage->setMax(mx); \
55 debugDrawCubeMessage->setColor(color); \
56 debugDrawCubeMessage->setFill(fill); \
57 debugDrawCubeMessage->setClip(clip); \
58 debugDrawCubeMessage->setDuration(duration); \
59 makVre::DtVreMessageManager::instance().queueMessage(debugDrawCubeMessage); \
60 }
61
62#define DEBUG_LINE(layerName, layerId, start, end, color, clip, duration) \
63 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
64 { \
65 makVre::DebugDrawLineMessage* debugDrawLineMessage = makVre::DebugDrawLineMessage::create(); \
66 debugDrawLineMessage->setLayerName(layerName); \
67 debugDrawLineMessage->setLayerId(layerId); \
68 debugDrawLineMessage->setStart(start); \
69 debugDrawLineMessage->setEnd(end); \
70 debugDrawLineMessage->setColor(color); \
71 debugDrawLineMessage->setClip(clip); \
72 debugDrawLineMessage->setDuration(duration); \
73 makVre::DtVreMessageManager::instance().queueMessage(debugDrawLineMessage); \
74 }
75
76#define DEBUG_TRIS(layerName, layerId, points, color, fill, clip, duration) \
77 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
78 { \
79 makVre::DebugDrawTrisMessage* debugDrawTrisMessage = makVre::DebugDrawTrisMessage::create(); \
80 debugDrawTrisMessage->setLayerName(layerName); \
81 debugDrawTrisMessage->setLayerId(layerId); \
82 debugDrawTrisMessage->setPoints(points); \
83 debugDrawTrisMessage->setColor(color); \
84 debugDrawTrisMessage->setFill(fill); \
85 debugDrawTrisMessage->setClip(clip); \
86 debugDrawTrisMessage->setDuration(duration); \
87 makVre::DtVreMessageManager::instance().queueMessage(debugDrawTrisMessage); \
88 }
89
90#define DEBUG_TEXT3D(layerName, layerId, position, text, color, clip, duration) \
91 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
92 { \
93 makVre::DebugDrawText3dMessage* debugDrawText3dMessage = makVre::DebugDrawText3dMessage::create(); \
94 debugDrawText3dMessage->setLayerName(layerName); \
95 debugDrawText3dMessage->setLayerId(layerId); \
96 debugDrawText3dMessage->setPosition(position); \
97 debugDrawText3dMessage->setText(text); \
98 debugDrawText3dMessage->setColor(color); \
99 debugDrawText3dMessage->setClip(clip); \
100 debugDrawText3dMessage->setDuration(duration); \
101 makVre::DtVreMessageManager::instance().queueMessage(debugDrawText3dMessage); \
102 }
103
104#define DEBUG_TEXT2D(layerName, layerId, position, text, color, duration) \
105 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
106 { \
107 makVre::DebugDrawText2dMessage* debugDrawText2dMessage = makVre::DebugDrawText2dMessage::create(); \
108 debugDrawText2dMessage->setLayerName(layerName); \
109 debugDrawText2dMessage->setLayerId(layerId); \
110 debugDrawText2dMessage->setPosition(position); \
111 debugDrawText2dMessage->setText(text); \
112 debugDrawText2dMessage->setColor(color); \
113 debugDrawText2dMessage->setDuration(duration); \
114 makVre::DtVreMessageManager::instance().queueMessage(debugDrawText2dMessage); \
115 }
116
117#define DEBUG_GRAPH(layerName, layerId, name, value, color, duration) \
118 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
119 { \
120 makVre::DebugDrawGraphMessage* debugDrawGraphMessage = makVre::DebugDrawGraphMessage::create(); \
121 debugDrawGraphMessage->setLayerName(layerName); \
122 debugDrawGraphMessage->setLayerId(layerId); \
123 debugDrawGraphMessage->setGraph(name); \
124 debugDrawGraphMessage->setValue(value); \
125 debugDrawGraphMessage->setColor(color); \
126 debugDrawGraphMessage->setDuration(duration); \
127 makVre::DtVreMessageManager::instance().queueMessage(debugDrawGraphMessage); \
128 }
129
130#define DEBUG_TEXTPANEL(layerName, layerId, panel, text, color, duration) \
131 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
132 { \
133 makVre::DebugDrawTextPanelMessage* debugDrawTextPanelMessage = makVre::DebugDrawTextPanelMessage::create(); \
134 debugDrawTextPanelMessage->setLayerName(layerName); \
135 debugDrawTextPanelMessage->setLayerId(layerId); \
136 debugDrawTextPanelMessage->setPanel(panel); \
137 debugDrawTextPanelMessage->setText(text); \
138 debugDrawTextPanelMessage->setColor(color); \
139 debugDrawTextPanelMessage->setDuration(duration); \
140 makVre::DtVreMessageManager::instance().queueMessage(debugDrawTextPanelMessage); \
141 }
142
143#define DEBUG_TEXTPANEL_TOP(layerName, layerId, panel, text, color, duration) \
144 if (makVre::DtVreDebugManager::instance() && makVre::DtVreDebugManager::instance()->getSendDebugMessages()) \
145 { \
146 makVre::DebugDrawTextPanelMessage* debugDrawTextPanelMessage = makVre::DebugDrawTextPanelMessage::create(); \
147 debugDrawTextPanelMessage->setLayerName(layerName); \
148 debugDrawTextPanelMessage->setLayerId(layerId); \
149 debugDrawTextPanelMessage->setPanel(panel); \
150 debugDrawTextPanelMessage->setText(text); \
151 debugDrawTextPanelMessage->setColor(color); \
152 debugDrawTextPanelMessage->setDuration(duration); \
153 debugDrawTextPanelMessage->setTop(true); \
154 makVre::DtVreMessageManager::instance().queueMessage(debugDrawTextPanelMessage); \
155 }
Provides color representation and manipulation functionality.
Contains the debug manager class declaration for the VREngage system.
Defines the central message manager for the VREngage messaging system.
Defines the base class for all VREngage messages.