13 #include <vl/serviceRequestInteraction.h>
46 virtual const char*
type()
const;
60 static void setSupplyingCallback(
DtSimMessage * msg,
void * usr);
69 virtual void addSetDataCallbacks();
73 void removeSetDataCallbacks();
90 static void transferSuppliesTaskCallback(
DtSimMessage* msg,
void* usr);
108 virtual void resupplyOfferEvent(
const DtEvent&);
109 virtual void processResupplyOffer(
const DtResupplyOfferInteraction& resupplyOffer);
114 virtual void resupplyCancelEvent(
const DtEvent&);
115 virtual void processResupplyCancel(
const DtResupplyCancelInteraction& resupplyCancel);
120 virtual std::shared_ptr<DtServiceRequestInteraction> createServiceRequestInteraction();
122 virtual void sendServiceRequestInteraction(DtServiceRequestInteraction& serviceRequest);
123 virtual std::shared_ptr<DtResupplyRecInteraction> createResupplyReceivedInteraction();
125 virtual void sendResupplyReceivedInteraction(DtResupplyRecInteraction& resupplyReceived);
126 virtual std::shared_ptr<DtResupplyCancelInteraction> createResupplyCancelInteraction();
128 virtual void sendResupplyCancelInteraction(DtResupplyCancelInteraction& resupplyCancel);
132 virtual void processTransferSuppliesTask(
DtSimMessage* msg);
133 virtual void processTransferSuppliesTaskPSR();
137 DtEntityType & supplyType,
138 double & quantityRequestedTotal,
144 std::map<DtString, double> & supplies,
145 std::map<DtString, double> & suppliesRate,
148 virtual bool verifyTransferSuppliesTaskParams(
double amount,
double rate);
150 virtual void transferSupplies();
151 virtual void processReadyState();
152 virtual void processRequestingState();
153 virtual void processReceivingState();
155 virtual void updateTaskedSupplies(
const DtEntityType& supplyType,
156 double quantityRequestedTotal,
159 virtual void updateTaskedSuppliesPSR(
const std::map<DtString, double>& supplies,
160 std::map<DtString, double> & suppliesRate,
162 virtual void updateOfferedSupplies(
const DtResupplyOfferInteraction& resupplyOffer);
163 virtual void updateReceivedSupplies(
DtTime interval);
164 virtual void removeReceivedSupplies();
165 virtual bool checkResourceAvailable(DtEntityType type);
166 virtual double resourceAvailable(DtEntityType type);
167 virtual void updateResource(DtEntityType type,
double quantity);
168 virtual void updatePSR();
170 virtual const DtString lookUpSupplyType(
const DtEntityType& type)
const;
171 virtual const DtEntityType lookupSupplyName(
const DtString& name)
const;
174 virtual double lookupMaxRate(
const DtEntityType& type);
176 virtual double calculateQuantityRequested(
double quantityRequestedTotal);
177 virtual DtTime calculateReceivingStateTimeout(
double quantityRequestedTotal,
178 double quantityReceivedTotal,
179 double quantityRequested,
180 double quantityOffered,
182 virtual DtTime determineTimer2Period();
184 virtual DtTime currentSimTime();
201 const DtTime theRequestingStateDefaultTimeout = 30.0;
208 const double theReceivingStateTimeoutPercentage = 0.95;
212 const double theTotalReceivedAmountCompletePercentage = 0.999;
217 const int theNumTransferSessions = 10;
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:146
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
DtResupplyReceiverControllerPSR * myProcessState
Container for state data associated with this component.
Definition: resupplyReceiverController.h:189
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtResupplyReceiverControllerDescriptor is a DtComponentDescriptor that has additional information nee...
Definition: resupplyReceiverControllerDescriptor.h:20
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
This class implements a controller, which gives the unit the capability to receive supplies...
Definition: resupplyReceiverController.h:28
DtSharedVrfObjectReference class will allocate an empty DtVrfObjectReference if one is not assigned s...
Definition: vrfObjectReference.h:102
DtResupplyReceiverStateData myReceiverStateData
Controller state transition class.
Definition: resupplyReceiverController.h:195
File: simMsg.h.
Definition: simMessage.h:35
Definition: resupplyReceiverStateData.h:132
virtual void tick()
This gives the thread of control to the component.
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
const DtResupplyReceiverControllerDescriptor * myResupplyReceiverDesc
Controller descriptor.
Definition: resupplyReceiverController.h:192
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
DtResupplyReceiverControllerPSR is a process state repository which holds state variables for the DtR...
Definition: resupplyReceiverControllerPSR.h:22
VR-Link includes.
Definition: transferSuppliesTask.h:21
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103