15 #include <osg/MatrixTransform>
16 #include <osg/Drawable>
28 class DtOsgGizmoRenderer;
47 virtual void drawDebugLines(osg::RenderInfo& renderInfo,
const osg::Vec3d& eyePoint,
DtOsgGizmoRenderer* renderer) = 0;
50 virtual void systemShutDown();
76 virtual osg::Object* clone(
const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY)
const;
82 virtual bool computeWorldToLocalMatrix(osg::Matrix& matrix, osg::NodeVisitor* nv)
const;
85 virtual bool computeLocalToWorldMatrix(osg::Matrix& matrix, osg::NodeVisitor* nv)
const;
106 virtual void releaseGLObjects(osg::State* state)
const;
112 virtual void setName(
const char* name);
152 virtual void releaseGLObjects(osg::State* state);
155 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
161 virtual void addWsLine(
const osg::Vec3d& p1,
const osg::Vec3d& p2,
const osg::Vec4f& color1,
const osg::Vec4f& color2,
bool depth_test =
true);
167 virtual void renderWsBoxIntoVbo(
const osg::Vec3d& p1,
const osg::Vec3d& p2,
168 const osg::Vec4f& color);
171 virtual void renderBoxFromPointsIntoVbo(
const osg::Matrixf& model_matrix,
172 const osg::Vec3f& pMin,
const osg::Vec3f& pMax,
const osg::Vec4f& color);
175 virtual void renderSphereIntoVbo(
const osg::Vec3f& localCenter,
const osg::Vec3f& radii,
const osg::Matrixf& xform,
176 const osg::Vec4f& force_color);
179 virtual void renderCircleIntoVbo(
const osg::Vec3f& localCenter,
const float radii,
const osg::Matrixf& xform,
180 const osg::Vec4f& force_color);
183 virtual void renderHemisphereIntoVbo(
const osg::Vec3f& localCenter,
const osg::Vec3f& radii,
const osg::Matrixf& xform,
184 const osg::Vec4f& force_color);
187 virtual void renderEllipseIntoVbo(
const osg::Vec3f& localCenter,
const osg::Vec2f& radii,
const osg::Matrixf& xform,
188 const osg::Vec4f& force_color);
191 virtual void renderBoxIntoVbo(
const osg::Vec3f& localCenter,
const osg::Vec3f& localMin,
const osg::Vec3f& localMax,
const osg::Matrixf& xform,
192 const osg::Vec4f& force_color);
195 virtual void drawStreamedData(osg::RenderInfo& renderInfo,
int primitive_type,
196 const std::vector<osg::Vec3f>& verts,
const std::vector<osg::Vec4f>* colors,
const std::vector<osg::Vec3f>* normals,
197 const std::vector<unsigned short>* index_buffer,
198 const osg::Vec4f& default_color = osg::Vec4f(1, 1, 1, 1));
202 virtual void setCameraPos(
const osg::Vec3& pos);
205 virtual void drawImplementationNonConst(osg::RenderInfo& renderInfo);
220 std::vector<osg::Vec3f> myScratchVerts[2];
221 std::vector<osg::Vec4f> myScratchColors[2];
253 static const std::string& theClassName();
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
int myPrimitiveSize
Definition: DtOsgGizmoRenderer.h:123
unsigned int myColorArrayBuffer
Definition: DtOsgGizmoRenderer.h:122
a helper struct to send basic primitives to video card
Definition: DtOsgGizmoRenderer.h:90
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtStreamedVboData myDynamicVbo
Definition: DtOsgGizmoRenderer.h:209
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
std::vector< unsigned short > myLineStripIndexes
Definition: DtOsgGizmoRenderer.h:215
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
A simple interface for allowing the various systems to draw lines at the right time.
Definition: DtOsgGizmoRenderer.h:31
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.
Definition: DtOsgGizmoRenderer.h:136
unsigned int myColorsObject
Definition: DtOsgGizmoRenderer.h:118
DtDe & myDe
Definition: DtOsgGizmoRenderer.h:208
int myPrimitiveType
Definition: DtOsgGizmoRenderer.h:126
DtDe & myDe
Definition: DtOsgGizmoRenderer.h:53
Contains makVrv::DtVirtualBaseClass class.
unsigned int myModelMatrixBuffer
Definition: DtOsgGizmoRenderer.h:121
unsigned int myNormalsObject
Definition: DtOsgGizmoRenderer.h:119
DtGizmoRendererManager.
Definition: DtOsgGizmoRenderer.h:228
std::string myName
Definition: DtOsgGizmoRenderer.h:115
osg::Vec3d myCameraPosition
Definition: DtOsgGizmoRenderer.h:219
osg::ref_ptr< DtOsgGizmoRenderer > myRenderer
Definition: DtOsgGizmoRenderer.h:257
unsigned int myVertsObject
Definition: DtOsgGizmoRenderer.h:117
std::vector< osg::Vec4f > myLineStripColors
Definition: DtOsgGizmoRenderer.h:214
unsigned int myIndexBuffer
Definition: DtOsgGizmoRenderer.h:120
GLuint myVao
Definition: DtOsgGizmoRenderer.h:217
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtStreamedVboData myAxisVbo
Definition: DtOsgGizmoRenderer.h:210
DtDe & myDe
Definition: DtOsgGizmoRenderer.h:256
int myIsInitialized
Definition: DtOsgGizmoRenderer.h:125
std::vector< osg::Vec3f > myLineStripVerts
Definition: DtOsgGizmoRenderer.h:213
std::vector< DtDebugDrawCallbackInterface * > myExtraDebugDrawObjects
Definition: DtOsgGizmoRenderer.h:222
int myIndexCount
Definition: DtOsgGizmoRenderer.h:124