VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectGeometryGridNode.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 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/Node>
17 
18 namespace osg
19 {
20  class NodeVisitor;
21 }
22 
23 namespace makVrv
24 {
25  class DtIndirectGeometryGrid;
26  class DtDe;
27  class DtCellGridVisManager;
28  class DtIndirectGeometry;
29  class DtOsgCullVisitor;
30 
33 
36 
38  template <>
39  inline const char* creatorTypeName<DtIndirectGeometryGridNode>(void) { return "DtIndirectGeometryGridNodeCreator"; }
40 
46  class DT_DLL_VRVOSG DtIndirectGeometryGridNode : public osg::Node
47  {
48  public:
50 
52  virtual const char* className() const { return "DtIndirectGeometryGridNode"; }
53 
54  protected:
57 
59  virtual ~DtIndirectGeometryGridNode();
60  private:
64  DtIndirectGeometryGridNode &operator=(const DtIndirectGeometryGridNode &other) = delete;
65 
66  public:
69  virtual void accept(osg::NodeVisitor& nv) override;
70 
72  virtual void releaseGLObjects(osg::State* state) const;
73 
77  virtual void enableCellCullDebugging(bool val);
78 
80  virtual bool enabledCellCullDebugging(void) const;
81 
82  protected:
84  virtual void addGeometry(DtIndirectGeometry* indirectGeometry, DtOsgCullVisitor* cullVisitor);
85 
87  virtual void addDebugDrawable(osg::Drawable* drawable, DtOsgCullVisitor* cullVisitor);
88 
89  protected:
92 
95 
99 
101 
102  static const float theMaxLodDistance;
103  };
104 }
friend DtIndirectGeometryGridNodeCreator
Definition: DtIndirectGeometryGridNode.h:49
double myLastUpdateTime
Definition: DtIndirectGeometryGridNode.h:100
parent node for all the indirect geometries within a
Definition: DtIndirectGeometryGridNode.h:46
DtVirtualBaseClassCreator< DtIndirectGeometryGridNode, DtIndirectGeometryGrid & > DtIndirectGeometryGridNodeCreator
creator
Definition: DtIndirectGeometryGridNode.h:32
DtDe & myDe
reference to the DtDe
Definition: DtIndirectGeometryGridNode.h:94
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtIndirectGeometryGrid & myGrid
reference to the grid
Definition: DtIndirectGeometryGridNode.h:91
const char * creatorTypeName< DtIndirectGeometryGridNode >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectGeometryGridNode.h:39
virtual const char * className() const
needed by scene graph visualizer
Definition: DtIndirectGeometryGridNode.h:52
static const float theMaxLodDistance
Definition: DtIndirectGeometryGridNode.h:102
DtOsgCullVisitor will inspect the camera to see which visual mode is active. If the visual mode is a ...
Definition: DtOsgCullVisitor.h:27
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
\ ::, which allows us to hook into our indirect engine to render using indirect rendering...
Definition: DtIndirectGeometry.h:115
bool myEnableCullVisualDebugging
are we debug rendering?
Definition: DtIndirectGeometryGridNode.h:97
bool myEnableCullLogging
Definition: DtIndirectGeometryGridNode.h:98
Contains DLL export macros.
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
Manages a bunch of &#39;cells&#39; for a given cell size (similar to a sparse octree) each cell has a...
Definition: DtIndirectGeometryGrid.h:57

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)