VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtStateVisualizerFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
15 #include <boost/unordered_map.hpp>
16 #include <string>
17 #include <vector>
18 #include <set>
19 
20 namespace makVrv
21 {
22  class DtBaseConnection;
23  class DtSharedSettingsManager;
24  class DtStateListener;
25  class DtStateVisualizerCreator;
26  class DtSceneObjectAgent;
27 
31  {
32  public:
33 
35  typedef boost::unordered_map<std::string, const DtStateVisualizer::TypeInfo*>
37 
39  typedef boost::unordered_map<std::string, DtStateVisualizerCreator*>
41 
42  typedef std::vector<std::pair<std::string, DtUnicode> >
44 
46  typedef std::set<std::string> CreatorNameSet;
47 
50 
52  virtual ~DtStateVisualizerFactory();
53 
56 
59 
61  static DtStateVisualizerFactory& instance(DtDe& de);
62 
64  static DtStateVisualizerFactory& instance(DtBaseConnection& con);
65 
67  virtual DtStateVisualizerFactory* clone();
68 
71  static void copyInstance(DtBaseConnection& con, DtDe& de);
72 
77  virtual void addStateVisualizerCreator(DtDe& de,
78  DtStateVisualizerCreator* creator);
79 
83  DtStateVisualizer* createStateVisualizer( const std::string& creatorName,
84  const std::string& tag, DtBaseConnection& simulation,
85  DtStateListener& listener, DtSceneObjectAgent* sceneObject, int modelSet,
87 
91  DtStateVisualizer* createStateVisualizer( const std::string& creatorName,
92  const std::string& tag, DtBaseConnection& simulation,
93  DtStateListener& listener, int modelSet,
95 
97  const CreatorMap& creators() const;
98 
100  const DtStateVisualizerCreator* findCreator(
101  const std::string& creatorName, const std::string& tag) const;
102 
107  virtual bool visualizerSupportsType(const std::string& visualizer,
109 
112  virtual void getCreatorNames(std::set<std::string>& names ) const;
113 
117  virtual const DtStateVisualizer::TypeInfo* findTypeInfo(
118  const std::string& functionalTypeName) const;
119 
121  virtual void findFunctionalNameWhichSupportSchema(const std::string& schema,
123  FunctionalNameScreenNameList& functionalNames) const;
124 
125 
128  static DtStateVisualizer::Type elementDefinitionTypeToVisualizerType(
130 
131  protected:
134  };
135 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
TypeInfoMap myTypeInfoMap
Definition: DtStateVisualizerFactory.h:132
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:266
Definition: DtStateVisualizer.h:43
unsigned int ElementDefinitionType
Identifier for a type of element definition.
Definition: DtElementDefinitionManager.h:506
CreatorMap myCreators
Definition: DtStateVisualizerFactory.h:133
A factory for DtStateVisualizer&#39;s.
Definition: DtStateVisualizerFactory.h:30
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
boost::unordered_map< std::string, const DtStateVisualizer::TypeInfo * > TypeInfoMap
Maps functional type names to type metadata.
Definition: DtStateVisualizerFactory.h:36
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSharedSettings class declaration.
Type
Visualizer class types that are supportable via visualizers. Each visualizer can be created by an ins...
Definition: DtStateVisualizer.h:41
Contains makVrv:DtStateVisualizer class.
std::vector< std::pair< std::string, DtUnicode > > FunctionalNameScreenNameList
Definition: DtStateVisualizerFactory.h:43
boost::unordered_map< std::string, DtStateVisualizerCreator * > CreatorMap
Maps functional type names + tags to creators.
Definition: DtStateVisualizerFactory.h:40
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:32
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
std::set< std::string > CreatorNameSet
Set of creator names.
Definition: DtStateVisualizerFactory.h:46
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:25
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:56
Contains DLL export macros.

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)