VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtQuadRenderer.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 
13 
15 
17 
18 #include <vector>
19 
20 #include <tbb/mutex.h>
21 
22 namespace makVrv
23 {
24 
25  class DtDe;
26  class DtQuadProxy;
27  class DtPrimitiveStyle;
28  class DtOverlayResourceProvider;
29  struct DtObserverRenderData;
30  struct DtOverlayRenderData;
31 
34 
37 
39  template <>
40  inline const char* creatorTypeName<DtQuadRenderer>(void) { return "DtQuadRendererCreator"; }
41 
45  {
46  public:
47 
49  friend class DtQuadProxy;
50 
52  virtual ~DtQuadRenderer();
53 
55  virtual int numberOfPrimitives() const;
56 
58  virtual void render(const DtOverlayRenderData& overlayRenderData,
59  const DtObserverRenderData& observerRenderData,
60  const double projectionMatrix[16]);
61 
63  virtual void releaseResources();
64 
66  virtual bool isRenderModeSupported( int mode );
67 
70 
71  protected:
72 
75 
77  void add( DtQuadProxy* toAdd );
78 
80  void remove( const DtQuadProxy* const proxy, bool isBeingDeleted = false );
81 
83  void dirty( DtQuadProxy* proxy );
84 
85  protected:
86 
87  typedef std::vector<DtQuadProxy*> QuadProxyList;
88 
92 
93  tbb::mutex myUpdateMutex;
94 
95  };
96 
97 }
const char * creatorTypeName< DtQuadRenderer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtQuadRenderer.h:40
friend DtQuadRendererCreator
Definition: DtQuadRenderer.h:48
QuadProxyList myQuads
Definition: DtQuadRenderer.h:91
DtVirtualBaseClassCreator< DtQuadRenderer, DtOverlayResourceProvider & > DtQuadRendererCreator
creator
Definition: DtQuadRenderer.h:33
The abstract base class for the various primitive styles.
Definition: DtPrimitiveStyle.h:25
Definition: DtQuadProxyInterface.h:27
A class which allocates and draws quads.
Definition: DtQuadRenderer.h:44
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
The overlay resource provider class provides resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:28
Definition: DtQuadProxyInterface.h:30
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
Abstract primitive rendering base class.
Definition: DtPrimitiveRenderer.h:19
tbb::mutex myUpdateMutex
Definition: DtQuadRenderer.h:93
Contains the makVrv::DtQuadProxyInterface class declaration.
A structure to hold rendering information for overlays. This is used to pass to various overlay rende...
Definition: DtCommonRenderData.h:43
A flyweight class for controlling a single quad owned by the DtQuadRenderer.
Definition: DtQuadProxy.h:26
const char int mode
Definition: ioapi.h:38
FillType
Definition: DtQuadProxyInterface.h:25
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:76
std::vector< DtQuadProxy * > QuadProxyList
Definition: DtQuadRenderer.h:87
Definition: DtCommonRenderData.h:33

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)