VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEntityIdentifierFactory.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
11 #include <tbb/mutex.h>
12 #include <vlpi/entityIdentifier.h>
13 #include <set>
14 #include <map>
15 
16 namespace makVrf
17 {
18  class DtVrlinkNetworkInterface;
19  class DtStateData;
20 
22  {
23  public:
26 
29 
32  virtual DtEntityIdentifier nextId(const DtStateData*, const DtEntityIdentifier& base = DtEntityIdentifier::nullId());
33 
35  virtual void startScenarioLoad();
36 
39  virtual void endScenarioLoad();
40 
42  virtual void setAppId(int);
43  int appId() const { return myAppId; };
44 
46  virtual int setAppIdRangeMax(int upper);
47  int appIdRangeMax() const { return myAppIdRangeMax; };
48 
49  virtual void reserveEntityId(const DtEntityIdentifier&);
50 
51  protected:
53  virtual bool checkAndChange(int& appId, int& entityNum);
54  virtual bool checkAndChange(DtEntityIdentifier& id);
55 
56  protected:
58  std::set<DtString> myUsedIdentifiers;
60  int myAppId;
62 
63  std::map<int, int> myAppIdRanges;
64  tbb::mutex myEntityIdMutex;
65  std::set<DtEntityIdentifier> myReservedIdentifiers;
66  };
67 }
DtVrlinkNetworkInterface * myVrfObjectManager
Definition: vrfEntityIdentifierFactory.h:57
int myAppIdRangeMax
Definition: vrfEntityIdentifierFactory.h:61
std::map< int, int > myAppIdRanges
Definition: vrfEntityIdentifierFactory.h:63
bool myLoadingScenario
Definition: vrfEntityIdentifierFactory.h:59
int appId() const
Definition: vrfEntityIdentifierFactory.h:43
tbb::mutex myEntityIdMutex
Definition: vrfEntityIdentifierFactory.h:64
std::set< DtString > myUsedIdentifiers
Definition: vrfEntityIdentifierFactory.h:58
Definition: vrfEntityIdentifierFactory.h:21
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
int appIdRangeMax() const
Definition: vrfEntityIdentifierFactory.h:47
std::set< DtEntityIdentifier > myReservedIdentifiers
Definition: vrfEntityIdentifierFactory.h:65
int myAppId
Definition: vrfEntityIdentifierFactory.h:60

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)