VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMetaObjectFactory.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 <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  class DtOsgArticulatedModel;
23 
28  {
29  public:
30  typedef boost::unordered_map<std::string, DtMetaObjectCreator*>
32 
34  static DtMetaObjectFactory& instance(DtDe& de);
35 
37  virtual ~DtMetaObjectFactory();
38 
40  virtual void addCreator( const std::string& creatorName, DtMetaObjectCreator* creator );
41 
43  virtual DtVirtualBaseClass* createMetaObject(
44  const std::string& metaFeatureName, osg::Node* node,
45  DtOsgArticulatedModel* osgArticulatedModel,
46  const rapidjson::Value& jsonObject, const std::string& modelDefName,
47  const DtElementID elementId, const DtUniqueID uniqueId
48  , const unsigned int nodeTypeIndex) const;
49 
51  const DtMetaObjectCreators& creators() const;
52 
53  protected:
57 
58  protected:
59 
61 
63  };
64 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtMetaObjectCreators myDtMetaObjectCreators
Definition: DtMetaObjectFactory.h:60
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:69
Contains makVrv::DtVirtualBaseClass class.
IMGUI_API void Value(const char *prefix, bool b)
boost::unordered_map< std::string, DtMetaObjectCreator * > DtMetaObjectCreators
Definition: DtMetaObjectFactory.h:31
Factory to create the specific DtMetaObjects registered when vrvOsg starts up.
Definition: DtMetaObjectFactory.h:27
DtDe & myDe
Definition: DtMetaObjectFactory.h:62
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
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:70
Abstract dynamic feature creator class. A dynamic feature retrieves data from a .meta file and applie...
Definition: DtMetaObjectCreator.h:28

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)