VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hazardAreaManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
11 #include "vrfobjcore/simObject.h"
14 
16 class DtSimMessage;
17 
22 {
23 public:
26 
28  virtual ~DtHazardAreaManager();
29 
31  virtual bool loadHazardAreaInformationFile(const DtFilename& filename, bool clear);
32 
33 private:
36 
38  DtHazardAreaManager & operator=(const DtHazardAreaManager & orig);
39 
40 public:
42  virtual void addHazardAreaType(const DtEntityType&);
43 
46  virtual void removeHazardAreaType(const DtEntityType&);
47 
49  virtual std::vector<DtSimObjectReference> hazardAreas(const DtEntityType&) const;
50 
51  virtual const std::vector<DtEntityType>& hazardAreaTypes() const;
52 
54  virtual const std::map<unsigned long long, DtSimObjectReference>& hazardAreas() const;
55 
57  virtual const DtRwHazardAreaInformation& hazardAreaInformation() const;
58 
59 protected:
60  static void requestHazardAreaInformationCallback(DtSimMessage* msg, void* usr);
61  virtual void processHazardAreaInformation(DtSimMessage* msg);
62 
64  virtual void processHazardAreaAdded(DtSimObjectReference);
65 
67  virtual void processHazardAreaDeleted(const DtSimObject*);
68 
69 protected:
72  std::vector<DtEntityType> myHazardAreaTypes;
73  std::map<unsigned long long, DtSimObjectReference> myHazardAreas;
74 
75  boost::signals2::scoped_connection mySimObjectAddedConnection;
76 };
const DtSimulationServices * mySimulationServices
Definition: hazardAreaManager.h:70
DtRwHazardAreaInformation myHazardAreaInformation
Definition: hazardAreaManager.h:71
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: rwHazardAreaInformation.h:122
The DtHazardAreaManager will keep track of all hazard area objects and their state. Hazard areas are predefined as part of this class. Call the add/remove methods to add or remove areas to watch.
Definition: hazardAreaManager.h:21
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
std::map< unsigned long long, DtSimObjectReference > myHazardAreas
Definition: hazardAreaManager.h:73
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
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:79
boost::signals2::scoped_connection mySimObjectAddedConnection
Definition: hazardAreaManager.h:75
std::vector< DtEntityType > myHazardAreaTypes
Definition: hazardAreaManager.h:72

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)