VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectGeometryInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvOsg/vrvOsg.h>
17 
18 #include <osg/Node>
19 
20 namespace makVrv
21 {
22  class DtIndirectModelInfo;
23 
27  {
28  public:
31 
33  DtIndirectGeometryInstance(int modelId,
34  const osg::Matrixd& xform,
36  const osg::NodePath& nodePath = osg::NodePath(),
39 
42 
45 
48 
49  public:
51  void setModelId(int id);
53  int modelId() const;
55 
57  void setXForm(const osg::Matrixd& xForm);
59  const osg::Matrixd& xForm() const;
61 
63  void setLodStack(const DtIndirectLodManager::DequeIndirectLodInfos& lodStack);
65  const DtIndirectLodManager::DequeIndirectLodInfos& lodStack() const;
67 
69  void setSwitchStack(const DtIndirectSwitchManager::DequeNodeSwitchInfoPairs& switchStack);
71  const DtIndirectSwitchManager::DequeNodeSwitchInfoPairs& switchStack() const;
73 
74 
76  void setDofStack(const DtIndirectDofManager::DequeNodeDofInfoPairs& dofStack);
78  const DtIndirectDofManager::DequeNodeDofInfoPairs& dofStack() const;
80 
82  void setNodePath(const osg::NodePath& nodePath);
84  const osg::NodePath& nodePath() const;
86 
88  void setId(int id);
90  int id(void) const;
92 
94  void setModelScale(float val);
96  float modelScale() const;
98 
100  void setModelRadius(float val);
102  float modelRadius() const;
104 
106  void setModelInfo(const DtIndirectModelInfo * info);
108  const DtIndirectModelInfo * modelInfo() const;
110 
112  void setLightPointGroupId(int lightPointGroupId);
114  const int lightPointGroupId() const;
116 
117  protected:
118  int myId;
120  osg::Matrixd myXForm;
124  osg::NodePath myNodePath;
129  };
130 
131 
132 }
float myModelScale
Definition: DtIndirectGeometryInstance.h:121
non virtual container class for holding the information needed to create an indirect geometry instanc...
Definition: DtIndirectGeometryInstance.h:26
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtIndirectSwitchManager::DequeNodeSwitchInfoPairs mySwitchStack
Definition: DtIndirectGeometryInstance.h:125
float myModelRadius
Definition: DtIndirectGeometryInstance.h:122
std::deque< NodeSwitchInfoPair > DequeNodeSwitchInfoPairs
Definition: DtIndirectSwitchManager.h:76
int myModelId
Definition: DtIndirectGeometryInstance.h:119
std::deque< NodeDofInfoPair > DequeNodeDofInfoPairs
Definition: DtIndirectDofManager.h:75
Contains makVrv::DtIndirectDofManager class.
DtIndirectDofManager::DequeNodeDofInfoPairs myDofStack
Definition: DtIndirectGeometryInstance.h:126
DtIndirectLodManager::DequeIndirectLodInfos myLodStack
Definition: DtIndirectGeometryInstance.h:123
Contains makVrv::DtIndirectSwitchManager class.
const DtIndirectModelInfo * myModelInfo
Definition: DtIndirectGeometryInstance.h:127
osg::NodePath myNodePath
Definition: DtIndirectGeometryInstance.h:124
Contains makVrv::DtIndirectLodManager class.
Contains DLL export macros.
int myId
Definition: DtIndirectGeometryInstance.h:118
std::deque< IndirectLodInfo > DequeIndirectLodInfos
Definition: DtIndirectLodManager.h:66
int myLightPointGroupId
Definition: DtIndirectGeometryInstance.h:128
osg::Matrixd myXForm
Definition: DtIndirectGeometryInstance.h:120
Contains the per Model info which the indirect module needs It is owned by the Indirect geometry regi...
Definition: DtIndirectModelInfo.h:44

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)