VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objectSensorPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <readerWriter/rwReal.h>
10 #include <readerWriter/rwBoolean.h>
11 #include <vlutil/vlTime.h>
14 
19 
20 class DtUUID;
21 
24 {
25 public:
26 
28  DtObjectSensorPSR(DtLocalObject* vrfObject,
29  const DtString& rwName = DtString::nullString(),
30  DtReaderWriterRegistry* parentRegistry = 0);
31 
34  const DtString& rwName = DtString::nullString(),
35  DtReaderWriterRegistry* parentRegistry = 0);
36 
38  virtual ~DtObjectSensorPSR() override;
39 
42 
45  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
46 
48  virtual DtString type() const override;
49 
52  virtual bool init() override;
53 
58  virtual DtSensorContactInfoList* contactInfoList();
64  virtual const DtSensorContactInfoList* contactInfoList() const;
65 
68  virtual DtRwSensorContactInfo* lookupContactById(const DtUUID& id) const;
69 
71  virtual void clearContactInfoList();
72 
78  virtual DtRwSensorContactInfo* createSensorContactInfo() const;
79 
85  virtual const DtRwEntityTypeList& typesToDetectForTask() const;
86 
88  virtual void setTypesToDetectForTask(const DtRwEntityTypeList& objectTypes);
90  virtual void clearTypesToDetectForTask();
91 
93  virtual void setNextDetectAttempt(DtTime time);
94  virtual DtTime nextDetectAttempt() const;
95 
97  virtual void setSensorEnabled(bool enabled);
98  virtual bool sensorEnabled() const;
99 
105  virtual void putSelf(std::string& fp, int indentLevel = 0, bool writeUnspecified = false,
106  const DtFilename& path = DtReaderWriter::appPath()) override;
107 
110  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
111  const DtVariableBindingsList& variableBindings) override;
112 
113 protected:
118  virtual DtSensorContactInfoList* createSensorContactInfoList(const DtString& name);
119 
120 public:
121 
123  static DtVrfProcessStateRepository* creator (const DtString& rwName,
124  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
125 
126 protected:
127 
132  virtual void mapContactIdsToContactNames();
133 
137  virtual void mapContactNamesToContactIds();
138 
139 protected:
140 
144 
148 
155 
158 
161 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtSensorContactInfoList * myContactInfoList
Init() creates this item by using the createSensorContactInfoList() factory method.
Definition: objectSensorPSR.h:143
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
DtRwReal myNextDetectAttempt
Simulation time of next detection attempt (seconds).
Definition: objectSensorPSR.h:157
class DtRwEntityTypeList:
Definition: rwEntityTypeList.h:23
DtRwBoolean mySensorEnabled
Whether the sensor is enabled or disabled.
Definition: objectSensorPSR.h:160
Definition: readerWriterRegistry.h:39
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
A reader-writer list of DtRwSensorContactInfo elements. Use the DtRwList::add() and remove() methods ...
Definition: sensorContactInfoList.h:35
DtRwEntityTypeList myTaskDetectionTypes
Parameter Name: task-detection-types Parameter Description: Types of objects to detect for a particul...
Definition: objectSensorPSR.h:154
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
bool myMutableMapContactNamesToContactIds
Flag used to indicate that we should initialize contact names to DtEntityIdentifiers.
Definition: objectSensorPSR.h:147
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
virtual bool init()
Used for virtual construction. This base method simply returns true.
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
static const DtFilename & appPath()
Gets the current working directory. The first time this accessor is called, it determines the current...
Definition: objectSensorPSR.h:23
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
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)