VR-Forces 4.8 Class Documentation
 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 
30  {
31  public:
32 
34  typedef boost::unordered_map<std::string, const DtStateVisualizer::TypeInfo*>
36 
38  typedef boost::unordered_map<std::string, DtStateVisualizerCreator*>
40 
41  typedef std::vector<std::pair<std::string, DtUnicode> >
43 
45  typedef std::set<std::string> CreatorNameSet;
46 
49 
51  virtual ~DtStateVisualizerFactory();
52 
55 
58 
60  static DtStateVisualizerFactory& instance(DtDe& de);
61 
63  static DtStateVisualizerFactory& instance(DtBaseConnection& con);
64 
66  virtual DtStateVisualizerFactory* clone();
67 
70  static void copyInstance(DtBaseConnection& con, DtDe& de);
71 
76  virtual void addStateVisualizerCreator(DtDe& de,
77  DtStateVisualizerCreator* creator);
78 
82  DtStateVisualizer* createStateVisualizer( const std::string& creatorName,
83  const std::string& tag, DtBaseConnection& simulation,
84  DtStateListener& listener, int modelSet,
86 
88  const CreatorMap& creators() const;
89 
91  const DtStateVisualizerCreator* findCreator(
92  const std::string& creatorName, const std::string& tag) const;
93 
98  virtual bool visualizerSupportsType(const std::string& visualizer,
100 
103  virtual void getCreatorNames(std::set<std::string>& names ) const;
104 
108  virtual const DtStateVisualizer::TypeInfo* findTypeInfo(
109  const std::string& functionalTypeName) const;
110 
112  virtual void findFunctionalNameWhichSupportSchema(const std::string& schema,
114  FunctionalNameScreenNameList& functionalNames) const;
115 
116 
119  static DtStateVisualizer::Type elementDefinitionTypeToVisualizerType(
121 
122  protected:
125  };
126 }
Virtual base class.
Definition: DtVirtualBaseClass.h:22
TypeInfoMap myTypeInfoMap
Definition: DtStateVisualizerFactory.h:123
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:279
Definition: DtStateVisualizer.h:41
unsigned int ElementDefinitionType
Identifier for a type of element definition.
Definition: DtElementDefinitionManager.h:500
CreatorMap myCreators
Definition: DtStateVisualizerFactory.h:124
A factory for DtStateVisualizer&#39;s.
Definition: DtStateVisualizerFactory.h:29
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
boost::unordered_map< std::string, const DtStateVisualizer::TypeInfo * > TypeInfoMap
Maps functional type names to type metadata.
Definition: DtStateVisualizerFactory.h:35
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSharedSettings class declaration.
Type
Visualizer class types that are supportable via visualizers.
Definition: DtStateVisualizer.h:39
Contains makVrv:DtStateVisualizer class.
std::vector< std::pair< std::string, DtUnicode > > FunctionalNameScreenNameList
Definition: DtStateVisualizerFactory.h:42
boost::unordered_map< std::string, DtStateVisualizerCreator * > CreatorMap
Maps functional type names + tags to creators.
Definition: DtStateVisualizerFactory.h:39
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::set< std::string > CreatorNameSet
Set of creator names.
Definition: DtStateVisualizerFactory.h:45
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)