VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtOsgGizmoRenderer Class Reference

a class to quickly render a bunch of basic primitives as debugging aids basic overview, create an adapter that inherits from DtDebugDrawCallbackInterface then call DtOsgGizmoRenderer::addDebugDrawerCallback() to register it with the system. More...

Inheritance diagram for makVrv::DtOsgGizmoRenderer:
Inheritance graph
[legend]

Public Member Functions

 DtOsgGizmoRenderer (DtDe &de)
 CTOR. More...
 
 ~DtOsgGizmoRenderer ()
 DTOR. More...
 
void releaseGLObjects (osg::State *state)
 releases the opengl data More...
 
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
 osg draw function More...
 
virtual void addDebugDrawerCallback (DtDebugDrawCallbackInterface *drawer)
 adds a callback to have the gizmo call the module to draw things when it's ready. More...
 
void addWsLine (const osg::Vec3d &p1, const osg::Vec3d &p2, const osg::Vec4f &color1, const osg::Vec4f &color2)
 adds a line segment More...
 
virtual void renderWsBoxIntoVbo (const osg::Vec3d &p1, const osg::Vec3d &p2, const osg::Vec4f &color)
 draws axis at pos More...
 
virtual void renderBoxFromPointsIntoVbo (const osg::Matrixf &model_matrix, const osg::Vec3f &pMin, const osg::Vec3f &pMax, const osg::Vec4f &color)
 draw a transformed box More...
 
virtual void renderSphereIntoVbo (const osg::Vec3f &localCenter, const osg::Vec3f &radii, const osg::Matrixf &xform, const osg::Vec4f &force_color)
 adds a sphere/ellipsoid More...
 
virtual void renderCircleIntoVbo (const osg::Vec3f &localCenter, const float radii, const osg::Matrixf &xform, const osg::Vec4f &force_color)
 adds a 2D circle More...
 
virtual void renderHemisphereIntoVbo (const osg::Vec3f &localCenter, const osg::Vec3f &radii, const osg::Matrixf &xform, const osg::Vec4f &force_color)
 adds a hemisphere More...
 
virtual void renderEllipseIntoVbo (const osg::Vec3f &localCenter, const osg::Vec2f &radii, const osg::Matrixf &xform, const osg::Vec4f &force_color)
 adds a 2D ellipse More...
 
virtual void renderBoxIntoVbo (const osg::Vec3f &localCenter, const osg::Vec3f &localMin, const osg::Vec3f &localMax, const osg::Matrixf &xform, const osg::Vec4f &force_color)
 adds a box around the center More...
 
void drawStreamedData (osg::RenderInfo &renderInfo, int primitive_type, const std::vector< osg::Vec3f > &verts, const std::vector< osg::Vec4f > *colors, const std::vector< osg::Vec3f > *normals, const std::vector< unsigned short > *index_buffer, const osg::Vec4f &default_color=osg::Vec4f(1, 1, 1, 1))
 draws vert/color data, vert are required, colors, normals and index buffer is optional. More...
 

Protected Member Functions

void setCameraPos (const osg::Vec3 &pos)
 used to modify the input verts for worldspace functions More...
 
virtual void drawImplementationNonConst (osg::RenderInfo &renderInfo)
 everything is mutable More...
 

Protected Attributes

DtDemyDe
 
DtStreamedVboData m_dynamic_vbo
 
DtStreamedVboData m_axis_vbo
 
std::vector< osg::Vec3f > m_line_strip_verts
 
std::vector< osg::Vec4f > m_line_strip_colors
 
std::vector< unsigned short > m_line_strip_indexes
 
GLuint m_vertex_array_object
 
osg::Vec3d m_camera_pos
 
std::vector< osg::Vec3f > m_scratch_verts
 
std::vector< osg::Vec4f > m_scratch_colors
 
std::vector
< DtDebugDrawCallbackInterface * > 
myExtraDebugDrawObjects
 

Detailed Description

a class to quickly render a bunch of basic primitives as debugging aids basic overview, create an adapter that inherits from DtDebugDrawCallbackInterface then call DtOsgGizmoRenderer::addDebugDrawerCallback() to register it with the system.

Your code will then get called while the system is drawing, user should then add various primitives that will get rendered in one big batch after all the callbacks. See DtOsgLightDebugAdapter::drawDebugLines() for an example.

Constructor & Destructor Documentation

makVrv::DtOsgGizmoRenderer::DtOsgGizmoRenderer ( DtDe de)

CTOR.

makVrv::DtOsgGizmoRenderer::~DtOsgGizmoRenderer ( )

DTOR.

Member Function Documentation

void makVrv::DtOsgGizmoRenderer::releaseGLObjects ( osg::State *  state)

releases the opengl data

virtual void makVrv::DtOsgGizmoRenderer::drawImplementation ( osg::RenderInfo &  renderInfo) const
virtual

osg draw function

virtual void makVrv::DtOsgGizmoRenderer::addDebugDrawerCallback ( DtDebugDrawCallbackInterface drawer)
virtual

adds a callback to have the gizmo call the module to draw things when it's ready.

void makVrv::DtOsgGizmoRenderer::addWsLine ( const osg::Vec3d &  p1,
const osg::Vec3d &  p2,
const osg::Vec4f &  color1,
const osg::Vec4f &  color2 
)

adds a line segment

virtual void makVrv::DtOsgGizmoRenderer::renderWsBoxIntoVbo ( const osg::Vec3d &  p1,
const osg::Vec3d &  p2,
const osg::Vec4f &  color 
)
virtual

draws axis at pos

draws a box

virtual void makVrv::DtOsgGizmoRenderer::renderBoxFromPointsIntoVbo ( const osg::Matrixf &  model_matrix,
const osg::Vec3f &  pMin,
const osg::Vec3f &  pMax,
const osg::Vec4f &  color 
)
virtual

draw a transformed box

virtual void makVrv::DtOsgGizmoRenderer::renderSphereIntoVbo ( const osg::Vec3f &  localCenter,
const osg::Vec3f &  radii,
const osg::Matrixf &  xform,
const osg::Vec4f &  force_color 
)
virtual

adds a sphere/ellipsoid

virtual void makVrv::DtOsgGizmoRenderer::renderCircleIntoVbo ( const osg::Vec3f &  localCenter,
const float  radii,
const osg::Matrixf &  xform,
const osg::Vec4f &  force_color 
)
virtual

adds a 2D circle

virtual void makVrv::DtOsgGizmoRenderer::renderHemisphereIntoVbo ( const osg::Vec3f &  localCenter,
const osg::Vec3f &  radii,
const osg::Matrixf &  xform,
const osg::Vec4f &  force_color 
)
virtual

adds a hemisphere

virtual void makVrv::DtOsgGizmoRenderer::renderEllipseIntoVbo ( const osg::Vec3f &  localCenter,
const osg::Vec2f &  radii,
const osg::Matrixf &  xform,
const osg::Vec4f &  force_color 
)
virtual

adds a 2D ellipse

virtual void makVrv::DtOsgGizmoRenderer::renderBoxIntoVbo ( const osg::Vec3f &  localCenter,
const osg::Vec3f &  localMin,
const osg::Vec3f &  localMax,
const osg::Matrixf &  xform,
const osg::Vec4f &  force_color 
)
virtual

adds a box around the center

void makVrv::DtOsgGizmoRenderer::drawStreamedData ( osg::RenderInfo &  renderInfo,
int  primitive_type,
const std::vector< osg::Vec3f > &  verts,
const std::vector< osg::Vec4f > *  colors,
const std::vector< osg::Vec3f > *  normals,
const std::vector< unsigned short > *  index_buffer,
const osg::Vec4f &  default_color = osg::Vec4f(1, 1, 1, 1) 
)

draws vert/color data, vert are required, colors, normals and index buffer is optional.

void makVrv::DtOsgGizmoRenderer::setCameraPos ( const osg::Vec3 &  pos)
protected

used to modify the input verts for worldspace functions

virtual void makVrv::DtOsgGizmoRenderer::drawImplementationNonConst ( osg::RenderInfo &  renderInfo)
protectedvirtual

everything is mutable

Member Data Documentation

DtDe& makVrv::DtOsgGizmoRenderer::myDe
protected
DtStreamedVboData makVrv::DtOsgGizmoRenderer::m_dynamic_vbo
protected
DtStreamedVboData makVrv::DtOsgGizmoRenderer::m_axis_vbo
protected
std::vector<osg::Vec3f> makVrv::DtOsgGizmoRenderer::m_line_strip_verts
protected
std::vector<osg::Vec4f> makVrv::DtOsgGizmoRenderer::m_line_strip_colors
protected
std::vector<unsigned short> makVrv::DtOsgGizmoRenderer::m_line_strip_indexes
protected
GLuint makVrv::DtOsgGizmoRenderer::m_vertex_array_object
protected
osg::Vec3d makVrv::DtOsgGizmoRenderer::m_camera_pos
protected
std::vector<osg::Vec3f> makVrv::DtOsgGizmoRenderer::m_scratch_verts
protected
std::vector<osg::Vec4f> makVrv::DtOsgGizmoRenderer::m_scratch_colors
protected
std::vector<DtDebugDrawCallbackInterface*> makVrv::DtOsgGizmoRenderer::myExtraDebugDrawObjects
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)