VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
dynamicFeaturesManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
13 
14 #include <boost/signals2.hpp>
15 
17 
19 {
20 public:
23  DtDynamicFeaturesManager& operator=(const DtDynamicFeaturesManager&) = delete;
24 
26 
28  virtual void init();
29 
31  virtual void tick();
32 
33 protected:
34  virtual std::shared_ptr<DtVrfObjectFeature> createFeature(DtSimObjectReference);
35  virtual bool isChanged(DtSimObjectReference) const;
36 
39  virtual double creationDelay(DtSimObjectReference) const;
40 
42  virtual double percentCompleteDelay(DtSimObjectReference) const;
43 
44  virtual void processSimObjectAdded(DtSimObjectReference object);
45  virtual void processSimObjectDeleted(DtSimObjectReference object);
46 
47 protected:
49 
50  struct Feature
51  {
53  std::shared_ptr<DtVrfObjectFeature> feature;
54  double lastPercentComplete = 0.;
55  bool lastBreached = false;
56  double timeToCreateFeature = -1;
57  };
58 
59  typedef std::map<DtUUID, Feature> Features;
61 
62  boost::signals2::scoped_connection mySimObjectAddedConnection;
63  boost::signals2::scoped_connection mySimObjectDeletedConnection;
64 };
std::map< DtUUID, Feature > Features
Definition: dynamicFeaturesManager.h:59
boost::signals2::scoped_connection mySimObjectAddedConnection
Definition: dynamicFeaturesManager.h:62
DtSimulationServices * mySimulationServices
Definition: dynamicFeaturesManager.h:48
DtSimObjectReference object
Definition: dynamicFeaturesManager.h:52
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
boost::signals2::scoped_connection mySimObjectDeletedConnection
Definition: dynamicFeaturesManager.h:63
std::shared_ptr< DtVrfObjectFeature > feature
Definition: dynamicFeaturesManager.h:53
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
Definition: dynamicFeaturesManager.h:18
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: dynamicFeaturesManager.h:50
Contains the DtSimObjectReference class declaration.
Features myFeatures
Definition: dynamicFeaturesManager.h:60

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)