VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityHorizonBarComponentSystem.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtDe.h>
15 
18 
19 #include <unordered_map>
20 
21 namespace makVrv
22 {
23  class DtArticulatedModel;
24  class DtEntityHorizonBarComponent;
25 
29  {
30  public:
33  static DtEntityHorizonBarComponentSystem& instance(DtDe& de);
34 
36  static void registerInstance(DtDe& de, DtEntityHorizonBarComponentSystem* system);
37 
39  static const std::string& theClassName();
40 
42  static bool hasHorizonBar(const DtArticulatedModel& model);
43 
44  public:
45 
48 
51  const DtEntityHorizonBarComponentSystem& other) = delete;
52 
55  const DtEntityHorizonBarComponentSystem&& other) = delete;
56 
59  const DtEntityHorizonBarComponentSystem& other) = delete;
60 
63  const DtEntityHorizonBarComponentSystem&& other) = delete;
64 
65  public:
66 
68  virtual void addModel(DtArticulatedModel& model);
69 
71  virtual void removeModel(DtArticulatedModel& model);
72 
73  protected:
74 
78 
81  virtual void slot_postUpdate(double simTime);
82 
84  virtual DtEntityHorizonBarComponent* createComponent(DtArticulatedModel& model) const;
85 
86  protected:
87 
89 
90  std::unordered_map<DtArticulatedModel*, DtEntityHorizonBarComponent*> myModelToComponentMap;
91 
93  };
94 
95 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A component for the DtEntityHorizonBarComponentSystem. The component is responsible for having a safe...
Definition: DtEntityHorizonBarComponent.h:36
std::unordered_map< DtArticulatedModel *, DtEntityHorizonBarComponent * > myModelToComponentMap
Definition: DtEntityHorizonBarComponentSystem.h:90
Contains makVrv::DtDe class.
An articulated model manipulator for controlling an articulated model.
Definition: DtArticulatedModel.h:31
Contains makVrv::DtVirtualBaseClass class.
DtSignalConnectionManager mySignalPostUpdateConnection
Definition: DtEntityHorizonBarComponentSystem.h:92
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & myDe
Definition: DtEntityHorizonBarComponentSystem.h:88
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
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:72
An entity component system for updating the orientation of an entity&#39;s horizon bar, if it has one, such that the horizon bar is always parallel to the horizon.
Definition: DtEntityHorizonBarComponentSystem.h:28
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)