VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityRotorManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <vrvCore/DtUniqueID.h>
17 
18 #include <unordered_map>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtOsgArticulatedModel;
24  class DtRotorUpdater;
25 
26  class DtEntityRotorData;
27 
30  {
31  public:
34 
36  virtual ~DtEntityRotorManager();
37 
38  private:
40  DtEntityRotorManager() = delete;
41 
43  DtEntityRotorManager(const DtEntityRotorManager& orig) = delete;
44 
46  DtEntityRotorManager& operator=(const DtEntityRotorManager) = delete;
47 
48  public:
50  virtual void addModel(DtOsgArticulatedModel& model, DtUniqueID uniqueId, DtUniqueID elementId);
51 
54  virtual void removeModel(DtOsgArticulatedModel& model);
55 
57  virtual void slot_setState(DtOsgArticulatedModel* articulatedModel, int stateNumber, int stateValue);
58 
60  static DtEntityRotorManager& instance(DtDe& de);
61 
63  static void registerInstance(DtDe& de, DtEntityRotorManager* manager);
64 
66  static const std::string& theClassName();
67 
68  protected:
69 
71  bool hasRotors(DtOsgArticulatedModel& model) const;
72 
73  protected:
75 
77 
78  std::unordered_map<DtOsgArticulatedModel*, DtEntityRotorData*> myEntityToRotorState;
79  };
80 }
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
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:69
class to update the map of entities to their rotor datas via the tickable interface ...
Definition: DtRotorUpdater.h:26
DtDe & myDe
Definition: DtEntityRotorManager.h:74
Contains makVrv::DtVirtualBaseClass class.
std::unordered_map< DtOsgArticulatedModel *, DtEntityRotorData * > myEntityToRotorState
Definition: DtEntityRotorManager.h:78
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
DtRotorUpdater * myRotorUpdater
Definition: DtEntityRotorManager.h:76
class to manage rotors of each model and their corresponding rotors&#39; states
Definition: DtEntityRotorManager.h:29

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)