VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | 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.

Classes

struct  RenderInfo
 

Public Member Functions

 DtOverlayRenderer (DtOverlayResourceProvider &provider)
 
virtual ~DtOverlayRenderer ()
 
 DtOverlayRenderer ()=delete
 
 DtOverlayRenderer (const DtOverlayRenderer &other)=delete
 
DtOverlayRendereroperator= (const DtOverlayRenderer &other)=delete
 
virtual bool render (bool geocentric, float geocentricAlpha, const double location[3], double altitude, const double worldToWindow[16], const double projectionMatrix[16], double viewport[4])
 
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 bool somethingToRender () const
 

Protected Member Functions

 DtOverlayRenderer (DtDe &de, DtOverlayResourceProvider &provider)
 

Static Protected Member Functions

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

Protected Attributes

DtDemyDe
 
DtOverlayResourceProvidermyProvider
 
DtLineRenderermyLinesRenderer
 
DtQuadRenderermyQuadsRenderer
 
DtTriangleRenderermyTrianglesRenderer
 
DtTextRenderermyTextRenderer
 
bool myProjectCameraIs3D
 
bool myProjectCameraIsNormalized
 

Private Attributes

friend DtOverlayRendererCreator
 

Constructor & Destructor Documentation

makVrv::DtOverlayRenderer::DtOverlayRenderer ( DtOverlayResourceProvider provider)

constructor

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 ( bool  geocentric,
float  geocentricAlpha,
const double  location[3],
double  altitude,
const double  worldToWindow[16],
const double  projectionMatrix[16],
double  viewport[4] 
)
virtual

Render the overlay.

Returns false IFF no objects were rendered

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 bool makVrv::DtOverlayRenderer::somethingToRender ( ) const
virtual

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

static void makVrv::DtOverlayRenderer::fillInNormalizedProjectionMatrix ( const double  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.

static void makVrv::DtOverlayRenderer::fillInTextProjectionMatrix ( const double  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.

Member Data Documentation

friend makVrv::DtOverlayRenderer::DtOverlayRendererCreator
private
DtDe& makVrv::DtOverlayRenderer::myDe
protected
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
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 Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)