VR-Forces 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 #include <string>
17 
18 class DtEntityType;
19 
20 namespace makVrv
21 {
22  class DtEntityAppearanceMapper;
23  class DtDe;
24 
28  {
29  public:
30 
33 
36 
39 
43  DtEntityAppearanceMapperFactory& operator=(const DtEntityAppearanceMapperFactory& other) = delete;
44 
45  public:
47  DtEntityAppearanceMapper* getOrCreateMapper(const DtEntityType& type) const;
48 
49  protected:
50 
52  virtual DtEntityAppearanceMapper* createPlatformMapper(const DtEntityType& type) const;
53 
55  virtual DtEntityAppearanceMapper* createMunitionMapper(const DtEntityType& type) const;
56 
58  virtual DtEntityAppearanceMapper* createLifeFormMapper(const DtEntityType& type) const;
59 
61  virtual DtEntityAppearanceMapper* createEnvironmentalMapper(const DtEntityType& type) const;
62 
64  virtual DtEntityAppearanceMapper* createCulturalMapper(const DtEntityType& type) const;
65 
67  virtual DtEntityAppearanceMapper* createSensorMapper(const DtEntityType& type) const;
68 
70  virtual DtEntityAppearanceMapper* createSupplyMapper(const DtEntityType& type) const;
71 
73  virtual DtEntityAppearanceMapper* createExpendableMapper(const DtEntityType& type) const;
74 
75  protected:
76 
77  typedef std::unordered_map<std::string, DtEntityAppearanceMapper*> AppearanceMapperCache;
79  };
80 
84  {
85  public:
86 
88  static const DtEntityAppearanceMapperFactoryCreator& instance(DtDe& de);
89 
92 
94  virtual DtEntityAppearanceMapperFactory* create() const;
95 
96  protected:
99  };
100 }
101 
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:83
std::unordered_map< std::string, DtEntityAppearanceMapper * > AppearanceMapperCache
Definition: DtEntityAppearanceMapperFactory.h:77
#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:27
Decoder for converting a particular entity type&#39;s appearance bits into generic enumerated values...
Definition: DtEntityAppearanceMapper.h:25
AppearanceMapperCache myMutableAppearanceMapCache
Definition: DtEntityAppearanceMapperFactory.h:78
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:76
Contains DLL export macros.

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)