VR-Forces 4.8 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) 2019 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
15 
16 #include <boost/unordered_map.hpp>
17 #include <string>
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  struct DtIndirectFadeParameters;
35 
37  {
38  public:
40  virtual ~DtCellToIndirectGeoMap();
41 
43  virtual DtCellIndirectGeo* getEntryFor(const osg::Node* node);
44 
45  virtual void setName(const std::string& name);
46  virtual const std::string& name(void) const;
47 
49  virtual const DtCullShaderConfig& cullShaderConfig(void) const;
51  virtual DtCullShaderConfig& cullShaderConfig(void);
52 
54  virtual void deleteAllEntries(void);
55 
57  virtual void keyNodeGettingDeleted(const osg::Node* node);
58 
59  protected:
62 
65 
67  virtual DtCellIndirectGeo* getEntry(const osg::Node* node);
68 
69  virtual DtCellIndirectGeo* createEntry(const osg::Node* keyNode,
70  bool includeIntersectionGeoInNodePath,
71  bool terrainPatch,
72  const DtIndirectFadeParameters& fadeParameters) = 0;
73 
75  virtual void deleteEntries();
76  protected:
80 
82  typedef boost::unordered_map<const osg::Node*, DtCellIndirectGeo*> KeyToEntryTypeMap;
84 
85  protected:
87 
89 
90  std::string myName;
91  };
92 }
Contains the DtCullShaderConfig class declaration.
struct for holding the fade parameters used by the indirect rendering cull compute shader ...
Definition: DtGpuCullingAndLodDefines.h:21
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtIndirectGeometryCreator & myIndirectGeomCreator
Definition: DtCellToIndirectGeoMap.h:77
creator for DtIndirectGeometry
Definition: DtIndirectGeometry.h:325
shader configuration storage class.
Definition: DtCullShaderConfig.h:19
creator for DtIndirectVisitorControlGroup
Definition: DtIndirectVisitorControlGroup.h:56
Threading::Mutex myMutex
Definition: DtCellToIndirectGeoMap.h:81
creator for osg::Drawable::ComputeBoundingBoxCallback
Definition: DtIndirectGeoComputeBoundCallback.h:54
Helper for managing indirect geometry, its intersection group and registrar corresponding to a &#39;tile ...
Definition: DtCellIndirectGeo.h:41
KeyToEntryTypeMap myKeyToEntryTypeMap
Definition: DtCellToIndirectGeoMap.h:83
DtIndirectGeoComputeBoundCallbackCreator & myIndirectGeoCallbackCreator
Definition: DtCellToIndirectGeoMap.h:78
std::string myName
Definition: DtCellToIndirectGeoMap.h:90
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
Definition: DtCellToIndirectGeoMap.h:36
DtDe & myDe
Definition: DtCellToIndirectGeoMap.h:86
DtIndirectVisitorControlGroupCreator & myIndirectGeoIntersectionGroupCreator
Definition: DtCellToIndirectGeoMap.h:79
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::unordered_map< const osg::Node *, DtCellIndirectGeo * > KeyToEntryTypeMap
Definition: DtCellToIndirectGeoMap.h:82
DtCullShaderConfig myCullShaderConfig
Definition: DtCellToIndirectGeoMap.h:88

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)