VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
resupplyRecInteraction.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef resupplyRecInteraction_H_
8 #define resupplyRecInteraction_H_
9 
10 #if DtHLA
11 
12 #include "interactionWithEncDec.h"
13 #include "hostStructs.h"
14 #include <matrix/vlMath.h>
15 #include "packets/logisticsP.h"
16 
17 
18 
22 
23 #define DtSUPPLY_VALID 1
24 #define DtSUPPLY_BAD_INDEX 0
25 
28 
29 
31 typedef void (*DtResupplyRecInteractionCb)
32  (DtResupplyRecInteraction* inter, void* usr);
33 
34 
39 
41 {
42 public:
43 
46 
48  virtual ~DtResupplyRecInteraction();
49 
52 
55 
57  virtual void printData() const;
58 
60  virtual void printDataToStream(std::ostream& stream) const;
61 
63  virtual void setReceivingId(const DtGlobalObjectDesignator &requester);
64  virtual const DtGlobalObjectDesignator &receivingId() const;
65 
67  virtual void setSupplyingId(const DtGlobalObjectDesignator &servicer);
68  virtual const DtGlobalObjectDesignator &supplyingId() const;
69 
71  virtual void setSupplies(const void* data, int numBytes);
72  virtual const void* supplies() const;
73 
75  virtual void setNumSupplyTypes(int numTypes);
76  virtual int numSupplyTypes() const;
77 
78  virtual void setNthSupply(int supplyIndex, const DtEntityType &supply,
79  float quantity, int *retCode = NULL);
80  virtual const DtEntityType &nthSupply(int supplyIndex,
81  float *quantity = NULL,
82  int *retCode = NULL) const;
83 
84  virtual float supplyQuantity(const DtEntityType &supply) const;
85 
86  virtual void changeSuppliesSize(int newSize);
87 
88  virtual int indexInBounds(int ind) const;
89 
91  virtual const char* name() const;
92 
93 public:
94 
97  static DtInteraction* create();
98 
101  static void addCallback(DtExerciseConn* conn,
102  DtResupplyRecInteractionCb cb, void* usr,
103  DtDDMRegionSP region = DtDDMRegionSP());
104  static void removeCallback(DtExerciseConn* conn,
105  DtResupplyRecInteractionCb cb, void* usr,
106  DtDDMRegionSP region = DtDDMRegionSP());
107 
108 protected:
109 
115 };
116 
119 {
120  return myReceivingObject;
121 }
122 
125 {
126  return mySupplyingObject;
127 }
128 
130  const DtGlobalObjectDesignator &id)
131 {
132  myReceivingObject = id;
133 }
134 
136  const DtGlobalObjectDesignator &id)
137 {
138  mySupplyingObject = id;
139 }
140 
141 inline const char* DtResupplyRecInteraction::name() const
142 {
143  return "DtResupplyRecInteraction";
144 }
145 
146 #endif
147 #endif
148 
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
DtGlobalObjectDesignator mySupplyingObject
Definition: resupplyRecInteraction.h:111
int myNumSupplyTypes
Definition: resupplyRecInteraction.h:112
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
DtInteractionWithEncDec & operator=(const DtInteractionWithEncDec &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file declares classes for the Logistics PDUs.
DtNetSupplyQuantity * mySupplies
Definition: resupplyRecInteraction.h:113
Definition: logisticsP.h:18
virtual const DtGlobalObjectDesignator & receivingId() const
Definition: resupplyRecInteraction.h:118
class DtResupplyRecInteraction:
Definition: resupplyRecInteraction.h:40
static void removeCallback(DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
This file defines math constants and methods which may be useful in simulations.
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
virtual void setReceivingId(const DtGlobalObjectDesignator &requester)
Set/Get the receiving object.
Definition: resupplyRecInteraction.h:129
virtual const DtGlobalObjectDesignator & supplyingId() const
Definition: resupplyRecInteraction.h:124
virtual void setSupplyingId(const DtGlobalObjectDesignator &servicer)
Set/Get the repairing object.
Definition: resupplyRecInteraction.h:135
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
virtual const char * name() const =0
Name of the interaction. (Not necessarily the ClassName from the FOM.)
static void addCallback(DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
virtual const char * name() const
Name of the interaction. (Not necessarily the ClassName from the FOM.)
Definition: resupplyRecInteraction.h:141
DtGlobalObjectDesignator myReceivingObject
Definition: resupplyRecInteraction.h:110
void(* DtResupplyRecInteractionCb)(DtResupplyRecInteraction *inter, void *usr)
ResupplyReceived interaction callback function signature.
Definition: resupplyRecInteraction.h:32
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
This file provides a declaration of the class DtInteractionWithEncDec.
class DtInteractionWithEncDec:
Definition: interactionWithEncDec.h:44
Instances of DtString are used to represent strings.
Definition: vlString.h:29
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
DtEntityType myNthSupply
Definition: resupplyRecInteraction.h:114

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)