VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtMetaObjectFactory.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <rapidjson/document.h>
13 #include <vrvOsg/vrvOsg.h>
15 #include <vrvCore/DtUniqueID.h>
16 #include <boost/unordered_map.hpp>
17 #include <osg/Node>
18 
19 namespace makVrv
20 {
21  class DtMetaObjectCreator;
22 
27  {
28  public:
29  typedef boost::unordered_map<std::string, DtMetaObjectCreator*>
31 
33  static DtMetaObjectFactory& instance(DtDe& de);
34 
36  virtual ~DtMetaObjectFactory();
37 
39  virtual void addCreator( const std::string& creatorName, DtMetaObjectCreator* creator );
40 
42  virtual DtVirtualBaseClass* createMetaObject(
43  const std::string& metaFeatureName, osg::Node* node,
44  const rapidjson::Value& jsonObject, const std::string& modelDefName,
45  const DtElementID elementId, const DtUniqueID sceneObjectId,
46  const DtUniqueID uniqueId, const bool useInstancing,
47  const unsigned int nodeTypeIndex) const;
48 
50  const DtMetaObjectCreators& creators() const;
51 
52  protected:
56 
57  protected:
58 
60 
62  };
63 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)