VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes
makVrv::DtOverlayRenderer Class Reference

The DtOverlayRenderer implements the overlay concept. An overlay is a 2D scene that is drawn on top of a 3D scene. The 2D scene can contain any number of the 2D primitives which include: DtLineSegment, DtQuad, DtFilledPolygon and DtOutlinedPolygon. The DtOverlayRenderer does the actual drawing of the graphical primitives.

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

Public Member Functions

virtual ~DtOverlayRenderer ()
 
 DtOverlayRenderer ()=delete
 
 DtOverlayRenderer (const DtOverlayRenderer &other)=delete
 
DtOverlayRendereroperator= (const DtOverlayRenderer &other)=delete
 
virtual bool render (const DtOverlayRenderData &overlayRenderData, const DtObserverRenderData &channelRenderData, const double *currentProjectionMatrix)
 
virtual void releaseResources ()
 
virtual void setProjectCameraIs3D (bool is3D)
 
virtual bool projectCameraIs3D () const
 
virtual void setProjectCameraIsNormalized (bool isNormalize)
 
virtual bool projectCameraIsNormalized () const
 
virtual DtOverlayResourceProviderresourceProvider ()
 
virtual DtLineRendererlineRenderer () const
 
virtual DtQuadRendererquadRenderer () const
 
virtual DtTriangleRenderertriangleRenderer () const
 
virtual DtTextRenderertextRenderer () const
 
virtual DtQuadProxyInterfacecreateQuadProxyInterface (DtQuadProxyInterface::FillType type=DtQuadProxyInterface::Fill_Solid) override
 
virtual DtTextProxyInterfacecreateTextProxyInterface () override
 
virtual DtLineSegmentInterfacecreateLineSegmentInterface () override
 
virtual
DtTexturedLineSegmentInterface
createTexturedLineSegmentInterface () override
 
virtual
DtDecalProjectorComponentInterface
createDecalProjectorComponentInterface (DtDecalProjectorComponentInterface::RenderingType type) override
 
virtual bool somethingToRender (DtOverlayResourceRequirements &resourceRequirements) const
 
- Public Member Functions inherited from makVrv::DtOverlayRendererInterface
virtual ~DtOverlayRendererInterface ()
 
 DtOverlayRendererInterface ()=delete
 
 DtOverlayRendererInterface (const DtOverlayRendererInterface &other)=delete
 
DtOverlayRendererInterfaceoperator= (const DtOverlayRendererInterface &other)=delete
 

Protected Member Functions

 DtOverlayRenderer (DtDe &de, DtOverlayResourceProvider &provider)
 
virtual void computeDecalProjectorDrawSetting (const DtOverlayRenderData &overlayRenderData, const DtObserverRenderData &channelRenderData, DtDecalProjectorRendererDrawSettings &outDrawSettings)
 
- Protected Member Functions inherited from makVrv::DtOverlayRendererInterface
 DtOverlayRendererInterface (DtDe &de)
 

Static Protected Member Functions

static void fillInNormalizedProjectionMatrix (const int viewport[4], double mat[16])
 
static void fillInTextProjectionMatrix (const int viewport[4], double mat[16])
 

Protected Attributes

DtOverlayResourceProvidermyProvider
 
DtLineRenderermyLinesRenderer
 
DtQuadRenderermyQuadsRenderer
 
DtTriangleRenderermyTrianglesRenderer
 
DtTextRenderermyTextRenderer
 
DtDecalProjectorRenderermyDecalProjectorTriangleRenderer
 
DtDecalProjectorLineRenderermyDecalProjectorLineRenderer
 
bool myProjectCameraIs3D
 
bool myProjectCameraIsNormalized
 
- Protected Attributes inherited from makVrv::DtOverlayRendererInterface
DtDemyDe
 

Private Attributes

friend DtOverlayRendererCreator
 

Constructor & Destructor Documentation

virtual makVrv::DtOverlayRenderer::~DtOverlayRenderer ( )
virtual

Virtual DTOR.

makVrv::DtOverlayRenderer::DtOverlayRenderer ( )
delete

Default Constructor not implemented.

makVrv::DtOverlayRenderer::DtOverlayRenderer ( const DtOverlayRenderer other)
delete

Copy Constructor not implemented - Copy not allowed.

makVrv::DtOverlayRenderer::DtOverlayRenderer ( DtDe de,
DtOverlayResourceProvider provider 
)
protected

CTOR.

Member Function Documentation

DtOverlayRenderer& makVrv::DtOverlayRenderer::operator= ( const DtOverlayRenderer other)
delete

Assignment Operator not implemented - Assignment not allowed.

virtual bool makVrv::DtOverlayRenderer::render ( const DtOverlayRenderData overlayRenderData,
const DtObserverRenderData channelRenderData,
const double currentProjectionMatrix 
)
virtual

Render the overlay. Returns false if no objects were rendered.

Implements makVrv::DtOverlayRendererInterface.

virtual void makVrv::DtOverlayRenderer::releaseResources ( )
virtual

Release any rendering resources.

virtual void makVrv::DtOverlayRenderer::setProjectCameraIs3D ( bool  is3D)
virtual
virtual bool makVrv::DtOverlayRenderer::projectCameraIs3D ( ) const
virtual
virtual void makVrv::DtOverlayRenderer::setProjectCameraIsNormalized ( bool  isNormalize)
virtual
virtual bool makVrv::DtOverlayRenderer::projectCameraIsNormalized ( ) const
virtual
virtual DtOverlayResourceProvider& makVrv::DtOverlayRenderer::resourceProvider ( )
virtual
virtual DtLineRenderer& makVrv::DtOverlayRenderer::lineRenderer ( ) const
virtual
virtual DtQuadRenderer& makVrv::DtOverlayRenderer::quadRenderer ( ) const
virtual
virtual DtTriangleRenderer& makVrv::DtOverlayRenderer::triangleRenderer ( ) const
virtual
virtual DtTextRenderer& makVrv::DtOverlayRenderer::textRenderer ( ) const
virtual
virtual DtQuadProxyInterface* makVrv::DtOverlayRenderer::createQuadProxyInterface ( DtQuadProxyInterface::FillType  type = DtQuadProxyInterface::Fill_Solid)
overridevirtual
virtual DtTextProxyInterface* makVrv::DtOverlayRenderer::createTextProxyInterface ( )
overridevirtual
virtual DtLineSegmentInterface* makVrv::DtOverlayRenderer::createLineSegmentInterface ( )
overridevirtual
virtual DtTexturedLineSegmentInterface* makVrv::DtOverlayRenderer::createTexturedLineSegmentInterface ( )
overridevirtual
virtual DtDecalProjectorComponentInterface* makVrv::DtOverlayRenderer::createDecalProjectorComponentInterface ( DtDecalProjectorComponentInterface::RenderingType  type)
overridevirtual
virtual bool makVrv::DtOverlayRenderer::somethingToRender ( DtOverlayResourceRequirements resourceRequirements) const
virtual

whether there is something to render (lines or quads or triangles or text)

Implements makVrv::DtOverlayRendererInterface.

virtual void makVrv::DtOverlayRenderer::computeDecalProjectorDrawSetting ( const DtOverlayRenderData overlayRenderData,
const DtObserverRenderData channelRenderData,
DtDecalProjectorRendererDrawSettings outDrawSettings 
)
protectedvirtual
static void makVrv::DtOverlayRenderer::fillInNormalizedProjectionMatrix ( const int  viewport[4],
double  mat[16] 
)
staticprotected

The projection matrix that needs to be given to to the line, quad and triangle renderers is different from the camera projection matrix when normalized coordinates are used; it incorporates the viewport information. This will fill in that as an array of 16 doubles that the caller mus provide.

Parameters
viewport[4]- the viewport position and dimensions (x, y, width, height)
static void makVrv::DtOverlayRenderer::fillInTextProjectionMatrix ( const int  viewport[4],
double  mat[16] 
)
staticprotected

The projection matrix that needs to be given to the text renderer is different then the camera projection matrix. It is the same regardless of camera type. You must pass in an array of 16 doubles.

Parameters
viewport[4]- the viewport position and dimensions (x, y, width, height)

Member Data Documentation

friend makVrv::DtOverlayRenderer::DtOverlayRendererCreator
private
DtOverlayResourceProvider& makVrv::DtOverlayRenderer::myProvider
protected
DtLineRenderer* makVrv::DtOverlayRenderer::myLinesRenderer
protected
DtQuadRenderer* makVrv::DtOverlayRenderer::myQuadsRenderer
protected
DtTriangleRenderer* makVrv::DtOverlayRenderer::myTrianglesRenderer
protected
DtTextRenderer* makVrv::DtOverlayRenderer::myTextRenderer
protected
DtDecalProjectorRenderer* makVrv::DtOverlayRenderer::myDecalProjectorTriangleRenderer
protected
DtDecalProjectorLineRenderer* makVrv::DtOverlayRenderer::myDecalProjectorLineRenderer
protected
bool makVrv::DtOverlayRenderer::myProjectCameraIs3D
protected
bool makVrv::DtOverlayRenderer::myProjectCameraIsNormalized
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)