VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtModelInfo.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
14 
15 #include <tbb/concurrent_unordered_map.h>
16 #include <tbb/atomic.h>
17 
18 namespace makVrv
19 {
20  class DtLodId;
21 
26  {
27  public:
29  DtModelInfo();
30 
32  virtual ~DtModelInfo();
33 
35  virtual void setNameAndId(const std::string& modelName, int id);
36 
38  virtual const std::string& modelName(void) const;
39 
41  virtual int id(void) const;
42 
44  virtual const DtLodId& lodId(int lodId) const;
45 
48 
58  virtual bool insertLodEntryAndLod(int lodId);
59 
61  virtual int currNextLodId(void) const;
63  virtual void printInfo(void) const;
64  virtual int numOfEntries(void) const;
66 
68  virtual void setRange(float startVal, float endVal);
72  float startVal(void) const;
73  float endVal(void) const;
74  bool rangeValid(void) const;
76 
78  virtual void setModelDefName(const std::string& modelDef);
80  virtual const std::string& modelDefName(void) const;
82 
83  protected:
84  std::string myModelName;
85 
86  std::string myModelDefName;
87 
88  int myId;
89 
95  tbb::atomic<int> myNextLodId;
96  typedef tbb::concurrent_unordered_map<int, DtLodId> LodIdToDtLodId;
98 
99  float myStartVal;
100  float myEndVal;
101  };
102 }
float myStartVal
Definition: DtModelInfo.h:99
DtModelInfo is a mapping of a &#39;model&#39; name to a &#39;model&#39; id A &#39;model&#39; can have a number of lods...
Definition: DtModelInfo.h:25
Dll export defines.
int myId
Definition: DtModelInfo.h:88
#define DT_DLL_VRVINDIRECTRENDERING
Definition: vrvIndirectRendering.h:19
tbb::atomic< int > myNextLodId
The calls to insertLodEntryAndLod can come from different threads and in any order. The atomic and the map together maintain the mapping of the lod id coming from outside to the actual DtLodId whose id is generated using the atomic below. The id of DtLodId and the keys for the map may or may not match.
Definition: DtModelInfo.h:95
Notion of an lod; essentially an id A &#39;model&#39; is made up of multiple lods, each with an unique id wit...
Definition: DtLodId.h:23
std::string myModelName
Definition: DtModelInfo.h:84
LodIdToDtLodId myLodIdToDtLodId
Definition: DtModelInfo.h:97
float myEndVal
Definition: DtModelInfo.h:100
std::string myModelDefName
Definition: DtModelInfo.h:86
DtLodId class declaration.
tbb::concurrent_unordered_map< int, DtLodId > LodIdToDtLodId
Definition: DtModelInfo.h:96

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)