integration/gwnavruntimeglue/bulletcollisioninterface/bulletdebugdraw.h Source File
Go to the documentation of this file.
9 #include "btBulletCollisionCommon.h"
13 inline Kaim::Vec3f btVectorToVec3f(
const btVector3& btVec) {
return Kaim::Vec3f(btVec[0], btVec[1], btVec[2]); }
15 inline btVector3 Vec3fTobtVector(
const Kaim::Vec3f& vec3f) {
return btVector3(vec3f[0], vec3f[1], vec3f[2]); }
19 class CollisionInterfaceDebugDraw :
public btIDebugDraw
22 CollisionInterfaceDebugDraw() : m_displayList(nullptr), m_debugMode(0) {}
24 virtual ~CollisionInterfaceDebugDraw() {}
26 virtual void drawLine(
const btVector3& from,
const btVector3& to,
const btVector3& color)
28 m_displayList->PushLine(btVectorToVec3f(from), btVectorToVec3f(to), btColorToNavColor(color));
31 virtual void drawLine(
const btVector3& from,
const btVector3& to,
const btVector3& fromColor,
const btVector3& ) { drawLine(from, to, fromColor); }
33 virtual void drawTriangle(
const btVector3& a,
const btVector3& b,
const btVector3& c,
const btVector3& color, btScalar )
35 m_displayList->PushTriangle(btVectorToVec3f(a), btVectorToVec3f(b), btVectorToVec3f(c), Kaim::ShapeColor::FillOnly(btColorToNavColor(color)));
38 virtual void drawTriangle(
const btVector3& v0,
const btVector3& v1,
const btVector3& v2,
const btVector3& ,
const btVector3& ,
const btVector3& ,
39 const btVector3& color, btScalar alpha)
41 drawTriangle(v0, v1, v2, color, alpha);
44 virtual void drawContactPoint(
const btVector3& ,
const btVector3& , btScalar ,
int ,
const btVector3& ) {}
46 virtual void reportErrorWarning(
const char* ) {}
48 virtual void draw3dText(
const btVector3& location,
const char* textString)
51 m_displayList->PushText(loc, Kaim::Color::Salmon, textString);
54 virtual void setDebugMode(
int debugMode) { m_debugMode = debugMode; }
56 virtual int getDebugMode()
const {
return btIDebugDraw::DBG_DrawWireframe; }
60 void EndFrame() { m_displayList =
nullptr; }
DisplayList is used to push text, lines or shapes for rendering in the NavigationLab e...
Definition: displaylist.h:128
RGBA color.
Definition: color.h:16
std::uint8_t KyUInt8
uint8_t
Definition: types.h:27
3d vector using 32bits floating points.
Definition: vec3f.h:16