VR-Forces 4.1.1 Class Documentation
DtModelInstanceFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtModelInstanceFactory.h,v $ $Revision: 1.11 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtModelInstanceFactory_H_
14 #define DtModelInstanceFactory_H_
15 
16 #include <vrvCore/vrvCore.h>
17 #include <list>
18 #include <string>
19 #include <map>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtModelDefinition;
26  class DtModelInstance;
27  class DtModelInstanceCreator;
28 
32  {
33 
34  public:
35  typedef std::list<std::string> CreatorClassList;
36 
39  static DtModelInstanceFactory& instance(DtDe& de);
40 
42  virtual ~DtModelInstanceFactory();
43 
45  static std::string modelInstanceHintParameterName();
46 
76  DtModelInstance* createModelInstance(const std::string& objectClassName,
77  DtModelDefinition& definition,
78  bool ignoreDefinitionHint = false,
79  const std::string& modelInstanceClassOverride = "");
80 
82  bool isClassRegistered(const std::string& objectClass) const;
83 
85  void registerSceneObjectClass(const std::string& objectClass,
86  const CreatorClassList& classes);
87 
89  void registerModelInstanceCreator(const std::string& modelInstanceClassName,
91 
93  const CreatorClassList& sceneObjectClassCreators(const std::string& objectClass);
94 
98  void addObjectClassCreatorToFront(const std::string& objectClass,
99  const std::string& newCreatorClass);
100 
104  void addObjectClassCreatorToBack(const std::string& objectClass,
105  const std::string& newCreatorClass);
106 
107  protected:
108 
111 
113  virtual CreatorClassList modelDefinitionHints(const DtModelDefinition& modelInstance);
114 
120  virtual DtModelInstance* createAndRealize(const std::string& modelInstanceClassName,
121  DtModelDefinition& modelDefinition);
122 
123  typedef std::map<std::string,DtModelInstanceCreator*> CreatorMap;
124  typedef std::map<std::string,CreatorClassList> ObjectClassMap;
125 
127 
130 
133  };
134 }
135 
136 #endif
137 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)