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 
17 
19 {
20 public:
22 
23  virtual ~DtNavigationSimObjectDecorator() override;
24 
28  virtual const DtVrfObjectNavInterface* navInterface() const;
29  virtual DtVrfObjectNavInterface* navInterface();
30 
33  virtual void setNavigationEnabled(bool);
34  virtual bool navigationEnabled() const;
35 
37  virtual bool isUsable() const;
38 
39 protected:
41  virtual void tick() override;
42  virtual DtNavInterfaceManager* getOrCreateNavInterfaceManager() const;
43  virtual void postObjectInit();
44 
45 protected:
47 };
48 
51 {
52 public:
54 
55  virtual ~DtNavigationLocalObjectDecorator() override;
56 
60  virtual const DtVrfObjectNavInterface* navInterface() const;
61  virtual DtVrfObjectNavInterface* navInterface();
62 
66  virtual void setNavigationEnabled(bool);
67  virtual bool navigationEnabled() const;
68 
72  DtNavPathEvalFunction navigationPathEvalFunction() const;
73  void setNavigationPathEvalFunction(const DtNavPathEvalFunction& eval);
74 
76  virtual bool isUsable() const;
77 
78 protected:
80  virtual void tick() override;
81  virtual DtNavInterfaceManager* getOrCreateNavInterfaceManager() const;
82  virtual void postObjectInit();
83 
84 protected:
86  mutable boost::signals2::scoped_connection myLocalObjectInitializedConnection;
87 };
88 
91 {
92 public:
93  virtual DtSimObjectDecorator* createDecorator(const DtSimObject* o) const override { return new DtNavigationSimObjectDecorator(o); };
94  virtual DtLocalObjectDecorator* createDecorator(DtLocalObject* o) const override { throw makVrf::DtUnimplementedMethod("The DtNavigationSimObjectDecoratorCreator is not created for the DtLocalObject."); };
95 
96  virtual const char* DecoratorType() const override { return "DtNavigationSimObjectDecorator"; };
97 };
98 
101 {
102 public:
103  virtual DtSimObjectDecorator* createDecorator(const DtSimObject* o) const override { throw makVrf::DtUnimplementedMethod("The DtNavigationLocalObjectDecorator is not created for the DtSimObject."); };
105 
106  virtual const char* DecoratorType() const override { return "DtNavigationLocalObjectDecorator"; };
107 };
108 
virtual DtLocalObjectDecorator * createDecorator(DtLocalObject *o) const override
Definition: navigationDecorator.h:94
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:28
virtual const char * DecoratorType() const override
Definition: navigationDecorator.h:106
Definition: navigationDecorator.h:18
virtual const char * DecoratorType() const override
Definition: navigationDecorator.h:96
#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:86
virtual DtSimObjectDecorator * createDecorator(const DtSimObject *o) const override
Definition: navigationDecorator.h:93
This class will contain logic to update the bounding volume based on posture when the logic ticks...
Definition: navigationDecorator.h:50
The DtAggregateDecoratorCreator will create the appropriate type of aggregate proxy logic...
Definition: navigationDecorator.h:90
DtNavInterfaceManager * myNavInterfaceManager
Definition: navigationDecorator.h:46
virtual DtLocalObjectDecorator * createDecorator(DtLocalObject *o) const override
Definition: navigationDecorator.h:104
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:80
Definition: decoratorBase.h:57
Definition: decoratorBase.h:30
DtNavInterfaceManager * myNavInterfaceManager
Definition: navigationDecorator.h:85
Definition: navInterfaceManager.h:20
The DtAggregateDecoratorCreator will create the appropriate type of aggregate proxy logic...
Definition: navigationDecorator.h:100
virtual DtSimObjectDecorator * createDecorator(const DtSimObject *o) const override
Definition: navigationDecorator.h:103
virtual void tick()
No op by default.
Definition: decoratorBase.h:44
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)