VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayRendererInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
16 
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtLineRenderer;
23  class DtQuadRenderer;
24  class DtTextRenderer;
25  class DtTriangleRenderer;
26  class DtTextProxyInterface;
27  class DtLineSegmentInterface;
28  class DtTexturedLineSegmentInterface;
29  class DtOverlayResourceProvider;
30  struct DtObserverRenderData;
31  struct DtOverlayRenderData;
32  struct DtOverlayResourceRequirements;
33 
35  class DtOverlayRendererInterface;
36 
40  {
41  public:
44 
45  // Unimplemented Copy CTOR
47 
48  // Unimplemented Assignment Operator
50 
53 
54  public:
55 
57  static DtOverlayRendererInterfaceCreator& instance(DtDe&);
58 
61  static void registerInstance(DtDe&, DtOverlayRendererInterfaceCreator*);
62 
63  public:
64 
68 
69  protected:
71 
72  };
73 
81  {
83 
84  public:
85 
87  virtual ~DtOverlayRendererInterface();
88 
90  DtOverlayRendererInterface() = delete;
91 
94  const DtOverlayRendererInterface& other) = delete;
95 
97  DtOverlayRendererInterface& operator=(
98  const DtOverlayRendererInterface& other) = delete;
99 
100  public:
101 
104  virtual bool render(const DtOverlayRenderData& overlayRenderData,
105  const DtObserverRenderData& channelRenderData,
106  const double* currentProjectionMatrix) = 0;
107 
108  virtual void setProjectCameraIs3D(bool is3D) = 0;
109  virtual bool projectCameraIs3D() const = 0;
110 
111  virtual void setProjectCameraIsNormalized(bool isNormalize) = 0;
112  virtual bool projectCameraIsNormalized() const = 0;
113 
114  virtual DtOverlayResourceProvider& resourceProvider() = 0;
115  virtual DtLineRenderer& lineRenderer() const = 0;
116  virtual DtTriangleRenderer& triangleRenderer() const = 0;
117 
118  virtual DtQuadProxyInterface* createQuadProxyInterface(
120  virtual DtTextProxyInterface* createTextProxyInterface() = 0;
121  virtual DtLineSegmentInterface* createLineSegmentInterface() = 0;
122  virtual DtTexturedLineSegmentInterface* createTexturedLineSegmentInterface() = 0;
123  virtual DtDecalProjectorComponentInterface* createDecalProjectorComponentInterface(
125 
127  virtual bool somethingToRender(
128  DtOverlayResourceRequirements& resourceRequirements) const = 0;
129 
130  protected:
131 
134 
135  protected:
136 
138  };
139 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A structure to hold rendering requiresments for overlays. This is used to update overlay resource pro...
Definition: DtCommonRenderData.h:83
RenderingType
Enumeration for component renderer topology to use.
Definition: DtDecalProjectorComponentInterface.h:48
Definition: DtQuadProxyInterface.h:27
A class which represents a component for a decal projector.
Definition: DtDecalProjectorComponentInterface.h:43
The triangle renderer.
Definition: DtTriangleRenderer.h:47
An interface for a single line segment.
Definition: DtLineSegmentInterface.h:23
The overlay resource provider class provides resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:28
An interface for a textured single line segment.
Definition: DtTexturedLineSegmentInterface.h:18
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxyInterface.h:30
A single 2D quadrilateral.
Definition: DtQuadProxyInterface.h:21
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the makVrv::DtQuadProxyInterface class declaration.
Abstract interface for creating instances of the DtOverlayRendererInterface.
Definition: DtOverlayRendererInterface.h:39
friend DtOverlayRendererInterfaceCreator
Definition: DtOverlayRendererInterface.h:82
A structure to hold rendering information for overlays. This is used to pass to various overlay rende...
Definition: DtCommonRenderData.h:42
FillType
Definition: DtQuadProxyInterface.h:25
DtDe & myDe
Definition: DtOverlayRendererInterface.h:137
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:72
Definition: DtCommonRenderData.h:32
Contains the makVrv::DtDecalProjectorComponentInterface class declaration.
DtDe & myDe
Definition: DtOverlayRendererInterface.h:70
A class responsible for rendering lines.
Definition: DtLineRenderer.h:49
The DtOverlayRendererInterface implements the overlay concept. An overlay is a 2D scene that is drawn...
Definition: DtOverlayRendererInterface.h:80
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)