My Project
IBatchedElementDraw.h
1 #pragma once
2 #include "PEtypes.h"
3 #include "IParaDebugDraw.h"
4 #include "ParticleElement.h"
5 
6 namespace ParaEngine
7 {
13  {
14  public:
15  enum BatchDrawModes
16  {
17  BDM_NoDebug=0,
18  BDM_DrawWireframe = 1,
19  BDM_DrawAabb=2,
20  BDM_DrawFeaturesText=4,
21  BDM_DrawContactPoints=8,
22  BDM_NoDeactivation=16,
23  BDM_NoHelpText = 32,
24  BDM_DrawText=64,
25  BDM_ProfileTimings = 128,
26  BDM_EnableSatComparison = 256,
27  BDM_DisableBulletLCP = 512,
28  BDM_EnableCCD = 1024,
29  BDM_DrawConstraints = (1 << 11),
30  BDM_DrawConstraintLimits = (1 << 12),
31  BDM_FastWireframe = (1<<13),
32  BDM_MAX_DRAW_MODE
33  };
34 
36  virtual void DrawLine(const PARAVECTOR3& from,const PARAVECTOR3& to,const PARAVECTOR3& color) = 0;
37 
47  virtual void DrawPredefinedLines(const PARAVECTOR3* lines, int nLineCount, const PARAVECTOR3& color) = 0;
48 
50  virtual void DrawContactPoint( const PARAVECTOR3& PointOnB,const PARAVECTOR3& normalOnB,float distance,int lifeTime,const PARAVECTOR3& color ) = 0;
51 
53  virtual void ReportErrorWarning( const char* warningString ) = 0;
54 
56  virtual void Draw3dText( const PARAVECTOR3& location,const char* textString ) = 0;
57 
59  virtual void SetRenderOffset(const PARAVECTOR3& vOffset) = 0;
60 
62  virtual PARAVECTOR3 GetRenderOffset() = 0;
63 
65  virtual void SetDebugDrawMode(int debugMode) = 0;
66 
68  virtual int GetDebugDrawMode() = 0;
69 
71  virtual void SetDefaultColor(const PARAVECTOR3& color) = 0;
72 
74  virtual PARAVECTOR3 GetDefaultColor() = 0;
75 
79  virtual void AddThickLine(const PARAVECTOR3& from, const PARAVECTOR3& to, const PARAVECTOR4& color, float fThickness = 0.f, float DepthBias = 0.f) = 0;
81  virtual void AddThickLines(const PARAVECTOR3* points, int nPointCount, const PARAVECTOR4& color, float fThickness = 0.f, float DepthBias = 0.f) = 0;
82 
86  virtual void AddParticle(CParticleElement* particle) = 0;
87  };
88 }
virtual void ReportErrorWarning(const char *warningString)=0
draw a contact point with a given color.
virtual void Draw3dText(const PARAVECTOR3 &location, const char *textString)=0
draw a text with a given color.
virtual PARAVECTOR3 GetDefaultColor()=0
set the current draw color.
virtual PARAVECTOR3 GetRenderOffset()=0
get current render offset.
virtual void AddThickLines(const PARAVECTOR3 *points, int nPointCount, const PARAVECTOR4 &color, float fThickness=0.f, float DepthBias=0.f)=0
nPointCount-1 lines segment is drawn
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual void SetRenderOffset(const PARAVECTOR3 &vOffset)=0
set current render offset.
virtual void AddThickLine(const PARAVECTOR3 &from, const PARAVECTOR3 &to, const PARAVECTOR4 &color, float fThickness=0.f, float DepthBias=0.f)=0
draw line with thickness
virtual void DrawContactPoint(const PARAVECTOR3 &PointOnB, const PARAVECTOR3 &normalOnB, float distance, int lifeTime, const PARAVECTOR3 &color)=0
draw a contact point with a given color.
virtual void SetDefaultColor(const PARAVECTOR3 &color)=0
get the current draw color.
virtual void DrawLine(const PARAVECTOR3 &from, const PARAVECTOR3 &to, const PARAVECTOR3 &color)=0
draw a line with a given color.
IParaDebugDraw draw interface draws line based primitives for debugging purposes. ...
Definition: IBatchedElementDraw.h:12
IParaDebugDraw draw interface draws line based primitives for debugging purposes. ...
Definition: IParaDebugDraw.h:10
base class for a rectangle particle.
Definition: ParticleElement.h:21
virtual void SetDebugDrawMode(int debugMode)=0
bitwise of DebugDrawModes
Definition: PEtypes.h:298
virtual int GetDebugDrawMode()=0
bitwise of PhysicsDebugDrawModes
virtual void AddParticle(CParticleElement *particle)=0
add a particle
virtual void DrawPredefinedLines(const PARAVECTOR3 *lines, int nLineCount, const PARAVECTOR3 &color)=0
draw multiple lines with a given color using the predefined index order.
Definition: PEtypes.h:306