VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayRenderer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
16 namespace makVrv
17 {
18  class DtDe;
19  class DtLineRenderer;
20  class DtQuadRenderer;
21  class DtTriangleRenderer;
22  class DtTextRenderer;
23  class DtOverlayResourceProvider;
24 
27 
30 
32  template <>
33  inline const char* creatorTypeName<DtOverlayRenderer>(void) { return "DtOverlayRendererCreator"; }
34 
42  {
44 
45  struct RenderInfo
46  {
47  unsigned int channelId;
48  };
49 
50  public:
53 
55  virtual ~DtOverlayRenderer();
56 
58  DtOverlayRenderer() = delete;
59 
62  const DtOverlayRenderer &other) = delete;
63 
65  DtOverlayRenderer &operator=(
66  const DtOverlayRenderer &other) = delete;
67 
68  public:
69 
73  virtual bool render(bool geocentric, float geocentricAlpha, const double location[3], double altitude,
74  const double worldToWindow[16], const double projectionMatrix[16], double viewport[4]);
75 
77  virtual void releaseResources();
78 
79  virtual void setProjectCameraIs3D(bool is3D);
80  virtual bool projectCameraIs3D() const;
81 
82  virtual void setProjectCameraIsNormalized( bool isNormalize);
83  virtual bool projectCameraIsNormalized() const;
84 
85  virtual DtOverlayResourceProvider& resourceProvider();
86  virtual DtLineRenderer& lineRenderer() const;
87  virtual DtQuadRenderer& quadRenderer() const;
88  virtual DtTriangleRenderer& triangleRenderer() const;
89  virtual DtTextRenderer& textRenderer() const;
90 
92  virtual bool somethingToRender() const;
93  protected:
94 
97 
102  static void fillInNormalizedProjectionMatrix(const double viewport[4], double mat[16] );
103 
107  static void fillInTextProjectionMatrix(const double viewport[4], double mat[16] );
108 
109  protected:
110 
119  };
120 }
DtOverlayResourceProvider & myProvider
Definition: DtOverlayRenderer.h:112
DtQuadRenderer * myQuadsRenderer
Definition: DtOverlayRenderer.h:114
bool myProjectCameraIsNormalized
Definition: DtOverlayRenderer.h:118
DtTextRenderer * myTextRenderer
Definition: DtOverlayRenderer.h:116
unsigned int channelId
Definition: DtOverlayRenderer.h:47
DtVirtualBaseClassCreator< DtOverlayRenderer, DtOverlayResourceProvider & > DtOverlayRendererCreator
creator
Definition: DtOverlayRenderer.h:26
A class which allocates and draws quads.
Definition: DtQuadRenderer.h:40
bool myProjectCameraIs3D
Definition: DtOverlayRenderer.h:117
DtDe & myDe
Definition: DtOverlayRenderer.h:111
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
The triangle renderer.
Definition: DtTriangleRenderer.h:42
A class for rendering text object.
Definition: DtTextRenderer.h:56
The overlay resource provider class provies resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:23
friend DtOverlayRendererCreator
Definition: DtOverlayRenderer.h:43
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
DtLineRenderer * myLinesRenderer
Definition: DtOverlayRenderer.h:113
Definition: DtOverlayRenderer.h:45
const char * creatorTypeName< DtOverlayRenderer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtOverlayRenderer.h:33
DtTriangleRenderer * myTrianglesRenderer
Definition: DtOverlayRenderer.h:115
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
A class responsible for rendering lines.
Definition: DtLineRenderer.h:45
The DtOverlayRenderer implements the overlay concept. An overlay is a 2D scene that is drawn on top o...
Definition: DtOverlayRenderer.h:41

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)