VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityAppearanceMapperFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
14 
15 #include <unordered_map>
16 
17 class DtEntityType;
18 
19 namespace makVrv
20 {
21  class DtEntityAppearanceMapper;
22  class DtDe;
23 
27  {
28  public:
29 
32 
35 
38 
42  DtEntityAppearanceMapperFactory& operator=(const DtEntityAppearanceMapperFactory& other) = delete;
43 
44  public:
46  DtEntityAppearanceMapper* getOrCreateMapper(const DtEntityType& type) const;
47 
48  protected:
49 
51  virtual DtEntityAppearanceMapper* createPlatformMapper(const DtEntityType& type) const;
52 
54  virtual DtEntityAppearanceMapper* createMunitionMapper(const DtEntityType& type) const;
55 
57  virtual DtEntityAppearanceMapper* createLifeFormMapper(const DtEntityType& type) const;
58 
60  virtual DtEntityAppearanceMapper* createEnvironmentalMapper(const DtEntityType& type) const;
61 
63  virtual DtEntityAppearanceMapper* createCulturalMapper(const DtEntityType& type) const;
64 
66  virtual DtEntityAppearanceMapper* createSensorMapper(const DtEntityType& type) const;
67 
69  virtual DtEntityAppearanceMapper* createSupplyMapper(const DtEntityType& type) const;
70 
72  virtual DtEntityAppearanceMapper* createExpendableMapper(const DtEntityType& type) const;
73 
74  protected:
75 
76  typedef std::unordered_map<std::string, DtEntityAppearanceMapper*> AppearanceMapperCache;
78  };
79 
83  {
84  public:
85 
87  static const DtEntityAppearanceMapperFactoryCreator& instance(DtDe& de);
88 
91 
93  virtual DtEntityAppearanceMapperFactory* create() const;
94 
95  protected:
98  };
99 }
100 
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:82
std::unordered_map< std::string, DtEntityAppearanceMapper * > AppearanceMapperCache
Definition: DtEntityAppearanceMapperFactory.h:76
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Factory for creating appearance mappers for entity types.
Definition: DtEntityAppearanceMapperFactory.h:26
Decoder for converting a particular entity type&#39;s appearance bits into generic enumerated values...
Definition: DtEntityAppearanceMapper.h:25
AppearanceMapperCache myMutableAppearanceMapCache
Definition: DtEntityAppearanceMapperFactory.h:77
Contains makVrv::DtVirtualBaseClass class.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)