VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEmbarkationHierarchy.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrfEmbarkationHierarchy.h,v $ $Revision: 1.3 $ $State: Exp $
7 ******************************************************************************/
8 
11 
14 
15 #pragma once
16 
18 
22 
23 namespace makVrv
24 {
25  class DtConnection;
26 }
27 
28 namespace makVrf
29 {
30  namespace VRF_PROTOCOL_NAMESPACE
31  {
34  {
35  public:
37  {
38  Environmental = 0x00000001
39  };
40 
41  public:
43  static DtVrfEmbarkationHierarchy& instance(makVrv::DtConnection& sim);
44 
46  static void registerInstance(makVrv::DtConnection& sim, DtVrfEmbarkationHierarchy*);
47 
48  virtual ~DtVrfEmbarkationHierarchy();
49 
50  public:
51 
53  {
54  HierarchyNodeMap::const_iterator iter = myFlatHierarchy.find(id);
55 
56  if ((iter != myFlatHierarchy.end()) && (iter->second->parent()))
57  {
58  return iter->second->parent()->uniqueId();
59  }
60 
61  return 0;
62  }
63 
65  {
66  HierarchyNodeMap::const_iterator iter = myFlatHierarchy.find(id);
67 
68  if (iter != myFlatHierarchy.end())
69  {
70  makVrv::DtElementIDHierarchyNode::ChildHierarchyNodes::const_iterator children = iter->second->children().begin();
71 
72  while (children != iter->second->children().end())
73  {
74  if (((*children)->flags() & Environmental) != 0)
75  {
76  return true;
77  }
78 
79  ++children;
80  }
81  }
82 
83  return false;
84  }
85 
86  std::vector<makVrv::DtElementID> attachedEnvironmentals(makVrv::DtElementID id) const
87  {
88  std::vector<makVrv::DtElementID> envs;
89  HierarchyNodeMap::const_iterator iter = myFlatHierarchy.find(id);
90 
91  if (iter != myFlatHierarchy.end())
92  {
93  makVrv::DtElementIDHierarchyNode::ChildHierarchyNodes::const_iterator children = iter->second->children().begin();
94 
95  while (children != iter->second->children().end())
96  {
97  if (((*children)->flags() & Environmental) != 0)
98  {
99  envs.push_back((*children)->uniqueId());
100  }
101 
102  ++children;
103  }
104  }
105 
106  return envs;
107  }
108 
109 
110  protected:
112  };
113  }
114 }
The base class for protocol specific VRLink Simulations.
Definition: DtConnection.h:41
Virtual base class.
Definition: DtVirtualBaseClass.h:19
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
Hierarchy that will keep track of parent/child element id relationships.
Definition: DtElementIDHierarchy.h:111
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
Contains makVrv::DtVirtualBaseClass class.
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
makVrv::DtElementID attachedTo(makVrv::DtElementID id) const
Definition: vrfEmbarkationHierarchy.h:52
Contains makVrv::DtElementIDHierarchy class.
bool hasAttachedEnvironmentals(makVrv::DtElementID id) const
Definition: vrfEmbarkationHierarchy.h:64
EmbarkationFlags
Definition: vrfEmbarkationHierarchy.h:36
std::vector< makVrv::DtElementID > attachedEnvironmentals(makVrv::DtElementID id) const
Definition: vrfEmbarkationHierarchy.h:86
The Master Scenario Settings Dialog.
Definition: vrfEmbarkationHierarchy.h:33

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)