VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayModelFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
16 #include <unordered_map>
17 
18 namespace makVrv
19 {
20  class DtBaseConnection;
21  class DtOverlayModelAgent;
22  class DtAgentManagerInterface;
23 
32  {
33  public:
37  using ModelMap = std::unordered_map<std::string, std::string>;
38 
40  virtual ~DtOverlayModelFactory();
41 
46 
48  DtOverlayModelFactory& operator=( const DtOverlayModelFactory& rhs );
49 
51  static DtOverlayModelFactory& instance( DtDe& de );
52 
54  static DtOverlayModelFactory& instance( DtBaseConnection& con );
55 
57  virtual DtOverlayModelFactory* clone();
58 
61  static void copyInstance( DtBaseConnection& con, DtDe& de );
63  protected:
66  public:
68  const ModelMap& creators() const;
69 
71  virtual void addModelMapping( const std::string& modelName, const std::string& agentName/*, unsigned int requiredInstanceCount, unsigned int requiredLabelCount*/ );
72 
74  DtOverlayModelAgent* createModelAgent( const std::string& modelName, DtAgentManagerInterface& sceneInterface, bool bDistribute );
75  protected:
77  };
78 }
std::unordered_map< std::string, std::string > ModelMap
The key is the model definition name Maps model definition name to model class type name E...
Definition: DtOverlayModelFactory.h:37
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A factory for overlay model agents. Models are registered in DtOverlayModelRegistration.h Model names are mapped to the type of model agent they require. For example, &quot;Block&quot; to &quot;DtOverlayLinearModel&quot;, createModelAgent will create a DtOverlayLinearModelAgent* and return it as a DtOverlayModelAgent*.
Definition: DtOverlayModelFactory.h:31
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
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
ModelMap myModelMap
Definition: DtOverlayModelFactory.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)