17#ifndef BT_IDEBUG_DRAW__H
18#define BT_IDEBUG_DRAW__H
44 : m_activeObject(1,1,1),
45 m_deactivatedObject(0,1,0),
46 m_wantsDeactivationObject(0,1,1),
47 m_disabledDeactivationObject(1,0,0),
48 m_disabledSimulationObject(1,1,0),
104 drawSpherePatch(center,
up, axis,
radius,
minTh,
maxTh,
minPs,
maxPs,
color,
stepDegrees ,
false);
105 drawSpherePatch(center,
up, -axis,
radius,
minTh,
maxTh,
minPs,
maxPs,
color,
stepDegrees,
false );
187 for(
int i = 1; i <=
nSteps; i++)
251 for(
int i = 0; i <
n_hor; i++)
294 if(((!i) || (i == (
n_hor-1))) && ((!
j) || (
j == (
n_vert-1))))
361 drawSpherePatch(center,
up, axis,
radius,
minTh,
maxTh,
minPs,
maxPs,
color,
btScalar(
stepDegrees) ,
false);
379 drawSpherePatch(center,
up, axis,
radius,
minTh,
maxTh,
minPs,
maxPs,
color,
btScalar(
stepDegrees) ,
false);
const T & btMax(const T &a, const T &b)
#define SIMD_RADS_PER_DEG
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
btScalar btSin(btScalar x)
btScalar btFabs(btScalar x)
btScalar btCos(btScalar x)
void btPlaneSpace1(const T &n, T &p, T &q)
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
virtual void drawCone(btScalar radius, btScalar height, int upAxis, const btTransform &transform, const btVector3 &color)
virtual void drawPlane(const btVector3 &planeNormal, btScalar planeConst, const btTransform &transform, const btVector3 &color)
virtual void drawLine(const btVector3 &from, const btVector3 &to, const btVector3 &color)=0
virtual void drawLine(const btVector3 &from, const btVector3 &to, const btVector3 &fromColor, const btVector3 &toColor)
virtual void drawBox(const btVector3 &bbMin, const btVector3 &bbMax, const btTransform &trans, const btVector3 &color)
virtual void drawArc(const btVector3 ¢er, const btVector3 &normal, const btVector3 &axis, btScalar radiusA, btScalar radiusB, btScalar minAngle, btScalar maxAngle, const btVector3 &color, bool drawSect, btScalar stepDegrees=btScalar(10.f))
virtual void draw3dText(const btVector3 &location, const char *textString)=0
virtual void drawSphere(btScalar radius, const btTransform &transform, const btVector3 &color)
virtual void drawTriangle(const btVector3 &v0, const btVector3 &v1, const btVector3 &v2, const btVector3 &, const btVector3 &, const btVector3 &, const btVector3 &color, btScalar alpha)
virtual void flushLines()
virtual void reportErrorWarning(const char *warningString)=0
virtual void clearLines()
virtual void drawSphere(const btVector3 &p, btScalar radius, const btVector3 &color)
virtual void setDebugMode(int debugMode)=0
virtual void drawTransform(const btTransform &transform, btScalar orthoLen)
virtual void drawContactPoint(const btVector3 &PointOnB, const btVector3 &normalOnB, btScalar distance, int lifeTime, const btVector3 &color)=0
virtual int getDebugMode() const =0
virtual void drawBox(const btVector3 &bbMin, const btVector3 &bbMax, const btVector3 &color)
virtual void drawCylinder(btScalar radius, btScalar halfHeight, int upAxis, const btTransform &transform, const btVector3 &color)
virtual void drawSpherePatch(const btVector3 ¢er, const btVector3 &up, const btVector3 &axis, btScalar radius, btScalar minTh, btScalar maxTh, btScalar minPs, btScalar maxPs, const btVector3 &color, btScalar stepDegrees=btScalar(10.f), bool drawCenter=true)
@ DBG_MAX_DEBUG_DRAW_MODE
@ DBG_EnableSatComparison
@ DBG_DrawConstraintLimits
virtual DefaultColors getDefaultColors() const
virtual void drawTriangle(const btVector3 &v0, const btVector3 &v1, const btVector3 &v2, const btVector3 &color, btScalar)
virtual void drawAabb(const btVector3 &from, const btVector3 &to, const btVector3 &color)
virtual void drawCapsule(btScalar radius, btScalar halfHeight, int upAxis, const btTransform &transform, const btVector3 &color)
virtual void setDefaultColors(const DefaultColors &)
the default implementation for setDefaultColors has no effect. A derived class can implement it and s...
btVector3 getColumn(int i) const
Get a column of the matrix as a vector.
btVector3 can be used to represent 3D points and vectors.
btVector3 cross(const btVector3 &v) const
Return the cross product between this and another vector.
btVector3 m_wantsDeactivationObject
btVector3 m_deactivatedObject
btVector3 m_disabledSimulationObject
btVector3 m_disabledDeactivationObject