VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCellToIndirectGeoMap.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
15 
16 #include <string>
17 #include <unordered_map>
18 
19 namespace osg
20 {
21  class Group;
22  class Node;
23 }
24 
25 namespace makVrv
26 {
27  class DtDe;
28 
29  class DtIndirectGeometryCreator;
30  class DtIndirectGeoComputeBoundCallbackCreator;
31  class DtIndirectVisitorControlGroupCreator;
32 
33  class DtCellIndirectGeo;
34  class DtIndirectFadeParameters;
35 
37  {
38  public:
40  virtual ~DtCellToIndirectGeoMap();
41 
42  protected:
45 
46  private:
48  DtCellToIndirectGeoMap() = delete;
49 
52 
54  DtCellToIndirectGeoMap& operator=(const DtCellToIndirectGeoMap& rhs) = delete;
55  public:
57  virtual DtCellIndirectGeo* getEntryFor(const osg::Node* node);
58 
60  virtual void deleteAllEntries(void);
61 
64  virtual bool keyNodeGettingDeleted(const osg::Node* node);
65 
67  virtual void setName(const std::string& name);
69  virtual const std::string& name(void) const;
71 
73  virtual const DtCullShaderConfig& cullShaderConfig(void) const;
74 
76  virtual DtCullShaderConfig& cullShaderConfig(void);
77 
79  virtual int size(void) const;
80 
84  virtual void setRegistrarInvalid();
85 
86  protected:
88  virtual DtCellIndirectGeo* getEntry(const osg::Node* node);
89 
91  virtual DtCellIndirectGeo* createEntry(const osg::Node* keyNode,
92  bool includeIntersectionGeoInNodePath,
93  bool terrainPatch,
94  const DtIndirectFadeParameters& fadeParameters) = 0;
95 
97  virtual void deleteEntries();
98  protected:
100  typedef std::unordered_map<const osg::Node*, DtCellIndirectGeo*> KeyToEntryTypeMap;
102 
104 
106 
107  std::string myName;
108  };
109 }
Contains the DtCullShaderConfig class declaration.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
voidpf void uLong size
Definition: ioapi.h:39
shader configuration storage class.
Definition: DtCullShaderConfig.h:19
Threading::Mutex myMutex
Definition: DtCellToIndirectGeoMap.h:99
Helper for managing indirect geometry, its intersection group and registrar corresponding to a &#39;tile ...
Definition: DtCellIndirectGeo.h:68
KeyToEntryTypeMap myKeyToEntryTypeMap
Definition: DtCellToIndirectGeoMap.h:101
std::string myName
Definition: DtCellToIndirectGeoMap.h:107
struct for holding the fade parameters used by the indirect rendering cull compute shader ...
Definition: DtIndirectFadeParameters.h:17
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
std::unordered_map< const osg::Node *, DtCellIndirectGeo * > KeyToEntryTypeMap
Definition: DtCellToIndirectGeoMap.h:100
Definition: DtCellToIndirectGeoMap.h:36
DtDe & myDe
Definition: DtCellToIndirectGeoMap.h:103
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtCullShaderConfig myCullShaderConfig
Definition: DtCellToIndirectGeoMap.h:105

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)