VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
navigationDecorator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <vlpi/disEnums.h>
11 
12 #include <boost/signals2.hpp>
13 
16 
18 {
19 public:
21 
23 
27  virtual const DtVrfObjectNavInterface* navInterface() const;
28  virtual DtVrfObjectNavInterface* navInterface();
29 
32  virtual void setNavigationEnabled(bool);
33  virtual bool navigationEnabled() const;
34 
36  virtual bool isUsable() const;
37 
38 protected:
40  virtual void tick() override;
41  virtual DtNavInterfaceManager* getOrCreateNavInterfaceManager() const;
42  virtual void postObjectInit();
43 
44 protected:
46 };
47 
50 {
51 public:
53 
55 
59  virtual const DtVrfObjectNavInterface* navInterface() const;
60  virtual DtVrfObjectNavInterface* navInterface();
61 
64  virtual void setNavigationEnabled(bool);
65  virtual bool navigationEnabled() const;
66 
68  virtual bool isUsable() const;
69 
70 protected:
72  virtual void tick() override;
73  virtual DtNavInterfaceManager* getOrCreateNavInterfaceManager() const;
74  virtual void postObjectInit();
75 
76 protected:
78  mutable boost::signals2::scoped_connection myLocalObjectInitializedConnection;
79 };
80 
83 {
84 public:
85  virtual DtSimObjectDecorator* createDecorator(const DtSimObject* o) const override { return new DtNavigationSimObjectDecorator(o); };
86  virtual DtLocalObjectDecorator* createDecorator(DtLocalObject* o) const override { throw makVrf::DtUnimplementedMethod("The DtNavigationSimObjectDecoratorCreator is not created for the DtLocalObject."); };
87 
88  virtual const char* DecoratorType() const { return "DtNavigationSimObjectDecorator"; };
89 };
90 
93 {
94 public:
95  virtual DtSimObjectDecorator* createDecorator(const DtSimObject* o) const override { throw makVrf::DtUnimplementedMethod("The DtNavigationLocalObjectDecorator is not created for the DtSimObject."); };
97 
98  virtual const char* DecoratorType() const { return "DtNavigationLocalObjectDecorator"; };
99 };
100 
virtual DtLocalObjectDecorator * createDecorator(DtLocalObject *o) const override
Definition: navigationDecorator.h:86
Definition: stateDataTypes.h:23
A nav interface is a software component of an object that maintains the object&#39;s presence in the navi...
Definition: vrfObjectNavInterface.h:39
Definition: navInterfaceManager.h:19
Definition: navigationDecorator.h:17
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
boost::signals2::scoped_connection myLocalObjectInitializedConnection
Definition: navigationDecorator.h:78
virtual DtSimObjectDecorator * createDecorator(const DtSimObject *o) const override
Definition: navigationDecorator.h:85
This class will contain logic to update the bounding volume based on posture when the logic ticks...
Definition: navigationDecorator.h:49
The DtAggregateDecoratorCreator will create the appropriate type of aggregate proxy logic...
Definition: navigationDecorator.h:82
DtNavInterfaceManager * myNavInterfaceManager
Definition: navigationDecorator.h:45
virtual DtLocalObjectDecorator * createDecorator(DtLocalObject *o) const override
Definition: navigationDecorator.h:96
virtual const char * DecoratorType() const
Definition: navigationDecorator.h:98
virtual const char * DecoratorType() const
Definition: navigationDecorator.h:88
virtual void tick()
Override to perform a tick durning advance frame.
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:88
Definition: decoratorBase.h:57
Definition: decoratorBase.h:30
DtNavInterfaceManager * myNavInterfaceManager
Definition: navigationDecorator.h:77
The DtAggregateDecoratorCreator will create the appropriate type of aggregate proxy logic...
Definition: navigationDecorator.h:92
virtual DtSimObjectDecorator * createDecorator(const DtSimObject *o) const override
Definition: navigationDecorator.h:95
virtual void tick()
No op by default.
Definition: decoratorBase.h:44
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

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)