VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embeddedEntitiesPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
14 #include "vrfobjcore/simObject.h"
15 
17 #include <vrfutil/rwUUID.h>
18 
19 #include <readerWriter/rwInt.h>
20 #include <readerWriter/rwReal.h>
22 
25 {
26 
27 public:
30  {
38  DtUnable //Error state(unable to perform task as requested)
39  };
40 
41 public:
42 
44  DtRwEmbeddedEntityTaskState(const DtString& rwName, DtReaderWriterRegistry* parentRegistry = 0);
50  virtual ~DtRwEmbeddedEntityTaskState() override;
51 
53  virtual void increaseTimeWaited(double delta);
55  virtual void resetToIdle();
56 
59  virtual void setTaskState(const DtEmbeddedEntityControlState& stateEnum);
60  virtual DtEmbeddedEntityControlState taskState() const;
62 
65  virtual void setTaskId(const int& tskId);
66  virtual int taskId() const;
68 
72  virtual void setSubtaskId(const int& subtskId);
73  virtual int subtaskId() const;
75 
78  virtual void setTimeWaiting(const double& time);
79  virtual double timeWaiting() const;
81 
84  virtual void setEntityName(const DtString& entName);
85  virtual const DtString& entityName() const;
87 
88 private:
91 
92 protected:
98 };
99 
104 
105 public:
108  const DtString& rwName = DtString::nullString(),
109  DtReaderWriterRegistry* parentRegistry = 0);
110 
113  const DtString& rwName = DtString::nullString(),
114  DtReaderWriterRegistry* parentRegistry = 0);
115 
117  virtual ~DtEmbeddedEntitiesPSR() override;
118 
121 
124  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
125 
128  virtual DtString type() const override;
129 
132  virtual const DtRwTemplatedListPtr<DtRwEmbeddedEntityStatus, true>& entityStatusList() const;
133  virtual DtRwTemplatedListPtr<DtRwEmbeddedEntityStatus, true>& entityStatusList();
135 
138  virtual const DtRwTemplatedListPtr<DtRwEmbeddedEntityTaskState, true>& entityTaskStateList() const;
139  virtual DtRwTemplatedListPtr<DtRwEmbeddedEntityTaskState, true>& entityTaskStateList();
141 
144  virtual bool entityDeployed(const DtString& entityName);
145  virtual bool entityTasking(const DtString& entityName);
147 
150  virtual DtRwEmbeddedEntityStatus* const findEntityStatusByName(const DtString& entityName);
151  virtual DtRwEmbeddedEntityStatus* const findEntityStatusByUUID(const DtUUID& uuid);
152 
154  virtual void const addNewEntityStatus(
155  const DtString& entityName, const DtString& rwElemName = "embedded-entity");
157 
160  virtual DtRwEmbeddedEntityTaskState* const findEntityTaskStateByName(const DtString& name);
161  virtual DtRwEmbeddedEntityTaskState* const findEntityTaskStateByTaskId(const int& tskId);
162 
164  virtual void const addNewEntityTaskState(
165  const DtString& entityName, const DtString rwElemName = "ee-task-state");
167 
168 public:
170  static DtVrfProcessStateRepository* creator (const DtString& rwName,
171  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
172 protected:
173  //DtRwString myRecoveryWaypointName;
174 
177 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtEmbeddedEntityControlState
State enumeration used by DtEmbeddedEntitiesController and stored here for controller state transitio...
Definition: embeddedEntitiesPSR.h:29
Definition: embeddedEntitiesPSR.h:37
DtRwInt mySubtaskId
Definition: embeddedEntitiesPSR.h:95
DtRwString myEntityName
Definition: embeddedEntitiesPSR.h:97
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwTemplatedListPtr< DtRwEmbeddedEntityStatus, true > myEntityStatusList
Definition: embeddedEntitiesPSR.h:175
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
Definition: embeddedEntitiesPSR.h:31
Holds data and provides accessors pertinent to the task state of a single Embedded Entity...
Definition: embeddedEntitiesPSR.h:24
Definition: embeddedEntitiesPSR.h:34
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
contains the DtRwEmbeddedEntity and DtRwEmbeddedEntityStatus classes
DtRwInt myTaskState
Definition: embeddedEntitiesPSR.h:93
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
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
Definition: embeddedEntitiesPSR.h:33
DtRwTemplatedListPtr< DtRwEmbeddedEntityTaskState, true > myEntityTaskStateList
Definition: embeddedEntitiesPSR.h:176
DtRwReal myTimeWaiting
Definition: embeddedEntitiesPSR.h:96
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
PSR for use by DtEmbeddedEntitiesController Primarily concerned with managing lists of DtRwEmbeddedEn...
Definition: embeddedEntitiesPSR.h:103
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
Definition: embeddedEntitiesPSR.h:35
Contains data concerning one Embedded Entity&#39;s deployment state. For use by DtEmbeddedEntitiesControl...
Definition: rwEmbeddedEntity.h:112
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98
DtRwInt myTaskId
Definition: embeddedEntitiesPSR.h:94

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)