VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCigiObjectFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 
15 #include <boost/unordered_map.hpp>
16 #include <string>
17 #include <vector>
18 #include <set>
19 
20 namespace makVrv
21 {
22  class DtCigiConnection;
23  class DtCigiBaseEntity;
24  class DtCigiObjectCreator;
25  class DtAgentManagerInterface;
26 
36  {
37  public:
38 
40  typedef boost::unordered_map<std::string, DtCigiObjectCreator*>
42 
45 
47  virtual ~DtCigiObjectFactory();
48 
51 
53  DtCigiObjectFactory& operator=(const DtCigiObjectFactory& rhs);
54 
56  static DtCigiObjectFactory& instance(DtDe& de);
57 
59  static DtCigiObjectFactory& instance(DtCigiConnection& con);
60 
62  virtual DtCigiObjectFactory* clone();
63 
66  static void copyInstance(DtCigiConnection& con, DtDe& de);
67 
79  virtual void addCigiObjectCreator( const std::string& schema,
80  DtCigiObjectCreator* creator );
81 
84  virtual void addDefaultCigiObjectCreator( DtCigiObjectCreator* creator );
85 
92  DtCigiBaseEntity* createCigiObject( const std::string& schema,
93  DtCigiConnection& connection, DtAgentManagerInterface& sceneInterface,
94  int entityId, int entityType ) const;
95 
97  const CreatorMap& creators() const;
98 
100  const DtCigiObjectCreator* findCreator(const std::string& schema) const;
101 
103  std::vector<std::string> listRegisteredSchemas() const;
104 
105  protected:
108  };
109 }
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 DtCigiObject&#39;s. The DtCigiObjectFactory is a singleton registered on the display engine...
Definition: DtCigiObjectFactory.h:35
CreatorMap myCreators
Definition: DtCigiObjectFactory.h:106
boost::unordered_map< std::string, DtCigiObjectCreator * > CreatorMap
Maps model definition schemas to creators.
Definition: DtCigiObjectFactory.h:41
Contains DLL export macros.
DtCigiObjectCreator * myDefaultCigiObjectCreator
Definition: DtCigiObjectFactory.h:107
Contains makVrv::DtVirtualBaseClass class.
Abstract DtCigiObject creator.
Definition: DtCigiBaseEntity.h:418
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
This class provides an abstract base class for CIGI entities. These are created by the DtCigiEntityVi...
Definition: DtCigiBaseEntity.h:42
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
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19

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)