VR-Forces 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, DtModelSetId modelSet,
87 
89  const CreatorMap& creators() const;
90 
92  const DtStateVisualizerCreator* findCreator(
93  const std::string& creatorName, const std::string& tag) const;
94 
99  virtual bool visualizerSupportsType(const std::string& visualizer,
101 
104  virtual void getCreatorNames(std::set<std::string>& names ) const;
105 
109  virtual const DtStateVisualizer::TypeInfo* findTypeInfo(
110  const std::string& functionalTypeName) const;
111 
113  virtual void findFunctionalNameWhichSupportSchema(const std::string& schema,
115  FunctionalNameScreenNameList& functionalNames) const;
116 
117 
120  static DtStateVisualizer::Type elementDefinitionTypeToVisualizerType(
122 
123  protected:
126  };
127 }
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:124
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:244
Definition: DtStateVisualizer.h:41
unsigned int ElementDefinitionType
Identifier for a type of element definition.
Definition: DtElementDefinitionManager.h:557
CreatorMap myCreators
Definition: DtStateVisualizerFactory.h:125
A factory for DtStateVisualizer&#39;s.
Definition: DtStateVisualizerFactory.h:30
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
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:39
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:30
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:72
std::set< std::string > CreatorNameSet
Set of creator names.
Definition: DtStateVisualizerFactory.h:46
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)