VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSceneRoot.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 #include <vrvOsg/vrvOsg.h>
11 
13 
14 #include <vector>
15 
16 namespace makVrv
17 {
18  class DtChannel;
19 
25  {
26  public:
30  {
44  NormalizedOverlay
45  };
46 
48  : myDomain(None)
49  {
50  myParameter.visualizerType = 0;
51  myParameter.modelSetId = DtModelSetId::Models3D;
52  myParameter.channel = 0;
53  }
54 
56  : myDomain(domain)
57  {
58  myParameter.visualizerType = 0;
59  myParameter.modelSetId = DtModelSetId::Models3D;
60  myParameter.channel = 0;
61  }
62 
64  : myDomain(domain)
65  {
66  myParameter.modelSetId = modelSet;
67  // Defaults
68  myParameter.visualizerType = 0;
69  myParameter.channel = 0;
70  }
71 
73  : myDomain(ModelSetSpecific)
74  {
75  myParameter.modelSetId = modelSet;
76  // Defaults
77  myParameter.visualizerType = 0;
78  myParameter.channel = 0;
79  }
80 
81  DtSceneRoot(DtModelSetId modelSet, int visualizerType)
82  : myDomain(VisualizerTypeSpecific)
83  {
84  myParameter.modelSetId = modelSet;
85  myParameter.visualizerType = visualizerType;
86  // Defaults
87  myParameter.channel = 0;
88  }
89 
90  DtSceneRoot(DtModelSetId modelSet, DtChannel* channel)
91  : myDomain(ChannelSpecific)
92  {
93  myParameter.modelSetId = modelSet;
94  myParameter.channel = channel;
95  // Defaults
96  myParameter.visualizerType = 0;
97  }
98 
99  bool operator==(const DtSceneRoot& rhs) const
100  {
101  if ( myDomain == ModelSetSpecific )
102  {
103  return myDomain == rhs.myDomain &&
104  myParameter.modelSetId == rhs.myParameter.modelSetId;
105  }
106  if ( myDomain == VisualizerTypeSpecific )
107  {
108  return myDomain == rhs.myDomain &&
109  myParameter.modelSetId == rhs.myParameter.modelSetId &&
110  myParameter.visualizerType == rhs.myParameter.visualizerType;
111  }
112  if ( myDomain == ChannelSpecific )
113  {
114  return myDomain == rhs.myDomain &&
115  myParameter.modelSetId == rhs.myParameter.modelSetId &&
116  myParameter.channel == rhs.myParameter.channel;
117  }
118  return myDomain == rhs.myDomain;
119  }
120 
123  struct
124  {
131  } myParameter;
132  };
133 
135  typedef std::vector<DtSceneRoot> DtSceneRootList;
136 
137 }
Definition: DtSceneRoot.h:32
DtModelSetId modelSetId
If modelSet or visualizerType specific, the model set of interest.
Definition: DtSceneRoot.h:126
std::vector< DtSceneRoot > DtSceneRootList
A list of DtOsgRenderer::SceneRoots.
Definition: DtSceneRoot.h:135
This root is model set specific.
Definition: DtSceneRoot.h:42
DtChannel * channel
If channel specific, channel of interest.
Definition: DtSceneRoot.h:130
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtSceneRoot(RootDomain domain, DtModelSetId modelSet)
Definition: DtSceneRoot.h:63
Definition: DtSceneRoot.h:34
Definition: DtSceneRoot.h:35
Definition: DtSceneRoot.h:38
DtSceneRoot(DtModelSetId modelSet, DtChannel *channel)
Definition: DtSceneRoot.h:90
RootDomain
Enumerations to indicate the part of the scene graph to interact with.
Definition: DtSceneRoot.h:29
The abstract Channel Class.
Definition: DtChannel.h:35
Abstract index into the scene graph. This is used as an argument to functions which interact with dif...
Definition: DtSceneRoot.h:24
Definition: DtSceneRoot.h:33
int visualizerType
If visualizerType specific, the visualizerType of interest.
Definition: DtSceneRoot.h:128
DtSceneRoot(RootDomain domain)
Definition: DtSceneRoot.h:55
bool operator==(const DtSceneRoot &rhs) const
Definition: DtSceneRoot.h:99
struct makVrv::DtSceneRoot::@58 myParameter
DtSceneRoot()
Definition: DtSceneRoot.h:47
Definition: DtSceneRoot.h:39
This root is model set specific.
Definition: DtSceneRoot.h:41
DtSceneRoot(DtModelSetId modelSet)
Definition: DtSceneRoot.h:72
Definition: DtSceneRoot.h:31
Contains DLL export macros.
DtModelSetId
Definition: DtModelSetEnums.h:19
Definition: DtSceneRoot.h:37
DtSceneRoot(DtModelSetId modelSet, int visualizerType)
Definition: DtSceneRoot.h:81
RootDomain myDomain
What part of the scene graph to interact with.
Definition: DtSceneRoot.h:122
Contains various enum classes relating to model sets.

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)