Public Member Functions | List of all members
IDebugDevice Interface Referenceabstract

Interface that exposes a visual debugging functionality. More...

#include <lmcore.h>

Inherits IObject.

Public Member Functions

virtual void SetPenColor (const Vec4f &color)=0
 Set the pen color. More...
 
virtual void DrawLine (const System::Core::Line3d &line)=0
 Draws a line in 3d space. More...
 
virtual void DrawAxisAlignedBox (const System::Core::AxisAlignedBox &aabb)=0
 Draws an axis aligned box. More...
 
virtual void DrawTriangle (const Vec3f triangle[3])=0
 Draws a triangle. More...
 
virtual void DrawOrientedBox (const System::Core::OrientedBox &obb)=0
 Draws an oriented box. More...
 
virtual void DrawAxisTripod (const System::Core::Vector3d &position, const System::Core::Axis3d &axis, const System::Core::Vector3d &span)=0
 Draws an axis tripod. More...
 
virtual void DrawString (const Vec2f &screenPos, const c8 *text)=0
 Draws a string at a specified position. More...
 
virtual void DrawCross (const Vec2f &screenPos, f32 size)=0
 Draws a cross on the screen. More...
 
virtual void SetTransform (TransformType transfrmType, const System::Core::Matrix4 &mat)=0
 Set the desired transform. More...
 
virtual void PushTransform ()=0
 Save the current transformation matrix on the stack. More...
 
virtual void PopTransform ()=0
 Pop the current transformation matrix from the stack. More...
 
virtual void Render ()=0
 Render the byte code stream. More...
 
virtual void Reset ()=0
 Reset the byte code stream. More...
 
- Public Member Functions inherited from IObject
virtual u32 Grab ()=0
 Increments the reference count of the object by one. More...
 
virtual u32 Drop ()=0
 Decrements the reference count of the object by one. More...
 
virtual u32 GetRefCount ()=0
 Get the reference count of the object. More...
 
virtual ResultCode QueryData (u32 dataId, Variant &data)=0
 Query an information from the object. More...
 
virtual void SetName (const c8 *objName)=0
 Set a friendly/user defined name of this object. More...
 
virtual const c8 * GetName ()=0
 Returns the user defined/friendly name of this object. More...
 
virtual const c8 * GetId ()=0
 Get the unique id of this object. More...
 
virtual void SetId (const c8 *objId)=0
 Set an Id for the object. More...
 
virtual const TypeId & GetType ()=0
 Returns the type id of the object. More...
 

Detailed Description

Interface that exposes a visual debugging functionality.

Developers can perform debug drawings on the screen using line segments, boxes, triangles and texts to debug various visual elements.

Member Function Documentation

◆ DrawAxisAlignedBox()

virtual void IDebugDevice::DrawAxisAlignedBox ( const System::Core::AxisAlignedBox aabb)
pure virtual

Draws an axis aligned box.

Parameters
aabb- The axis aligned box

◆ DrawAxisTripod()

virtual void IDebugDevice::DrawAxisTripod ( const System::Core::Vector3d position,
const System::Core::Axis3d axis,
const System::Core::Vector3d span 
)
pure virtual

Draws an axis tripod.

Parameters
position- The position of the tripod
axis- The axes to draw
span- The size of the box along "axis"

◆ DrawCross()

virtual void IDebugDevice::DrawCross ( const Vec2f screenPos,
f32  size 
)
pure virtual

Draws a cross on the screen.

Parameters
screenPosPosition in screen space
sizethe size of the cross symbol

◆ DrawLine()

virtual void IDebugDevice::DrawLine ( const System::Core::Line3d line)
pure virtual

Draws a line in 3d space.

Parameters
line- The line to draw

◆ DrawOrientedBox()

virtual void IDebugDevice::DrawOrientedBox ( const System::Core::OrientedBox obb)
pure virtual

Draws an oriented box.

Parameters
obb- The oriented bounding box obejct to draw

◆ DrawString()

virtual void IDebugDevice::DrawString ( const Vec2f screenPos,
const c8 *  text 
)
pure virtual

Draws a string at a specified position.

Parameters
screenPos- Position in screen space.
text- The null terminated string to draw.

◆ DrawTriangle()

virtual void IDebugDevice::DrawTriangle ( const Vec3f  triangle[3])
pure virtual

Draws a triangle.

Parameters
triangle- Draws a triangle

◆ PopTransform()

virtual void IDebugDevice::PopTransform ( )
pure virtual

Pop the current transformation matrix from the stack.

◆ PushTransform()

virtual void IDebugDevice::PushTransform ( )
pure virtual

Save the current transformation matrix on the stack.

◆ Render()

virtual void IDebugDevice::Render ( )
pure virtual

Render the byte code stream.

◆ Reset()

virtual void IDebugDevice::Reset ( )
pure virtual

Reset the byte code stream.

◆ SetPenColor()

virtual void IDebugDevice::SetPenColor ( const Vec4f &  color)
pure virtual

Set the pen color.

All the drawings will appear in this color.

Parameters
color- The color to set

◆ SetTransform()

virtual void IDebugDevice::SetTransform ( TransformType  transfrmType,
const System::Core::Matrix4 mat 
)
pure virtual

Set the desired transform.

Parameters
transfrmType- The kind of transformation such as, model, world or view.
mat- The transformation matrix