VR-Forces 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) 2022 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 
119  void setTracking(bool trackLifeTime, const std::string& trackName);
120  std::pair<bool, std::string> tracking() const;
122 
124  void setVisibility( bool visible );
125  bool isVisible() const;
127 
128  protected:
129  int myId;
131  osg::Matrixd myXForm;
135  osg::NodePath myNodePath;
142  std::string myTrackName;
143  };
144 
145 
146 }
float myModelScale
Definition: DtIndirectGeometryInstance.h:132
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:136
float myModelRadius
Definition: DtIndirectGeometryInstance.h:133
std::deque< NodeSwitchInfoPair > DequeNodeSwitchInfoPairs
Definition: DtIndirectSwitchManager.h:76
int myModelId
Definition: DtIndirectGeometryInstance.h:130
std::deque< NodeDofInfoPair > DequeNodeDofInfoPairs
Definition: DtIndirectDofManager.h:76
Contains makVrv::DtIndirectDofManager class.
DtIndirectDofManager::DequeNodeDofInfoPairs myDofStack
Definition: DtIndirectGeometryInstance.h:137
DtIndirectLodManager::DequeIndirectLodInfos myLodStack
Definition: DtIndirectGeometryInstance.h:134
Contains makVrv::DtIndirectSwitchManager class.
bool myTrackLifeTime
Definition: DtIndirectGeometryInstance.h:141
const DtIndirectModelInfo * myModelInfo
Definition: DtIndirectGeometryInstance.h:138
osg::NodePath myNodePath
Definition: DtIndirectGeometryInstance.h:135
Contains makVrv::DtIndirectLodManager class.
Contains DLL export macros.
int myId
Definition: DtIndirectGeometryInstance.h:129
std::string myTrackName
Definition: DtIndirectGeometryInstance.h:142
std::deque< IndirectLodInfo > DequeIndirectLodInfos
Definition: DtIndirectLodManager.h:67
int myLightPointGroupId
Definition: DtIndirectGeometryInstance.h:139
osg::Matrixd myXForm
Definition: DtIndirectGeometryInstance.h:131
bool myVisibility
Definition: DtIndirectGeometryInstance.h:140
Contains the per Model info which the indirect module needs It is owned by the Indirect geometry regi...
Definition: DtIndirectModelInfo.h:55

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)