VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
resupplyOfferInteraction.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef resupplyOfferInteraction_H_
8 #define resupplyOfferInteraction_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 (*DtResupplyOfferInteractionCb)
32  (DtResupplyOfferInteraction* inter, void* usr);
33 
34 
39 
40 
42 {
43 public:
44 
47 
49  virtual ~DtResupplyOfferInteraction();
50 
53 
56  const DtResupplyOfferInteraction& orig);
57 
59  virtual void printData() const;
60 
62  virtual void printDataToStream(std::ostream& stream) const;
63 
65  virtual void setReceivingId(const DtGlobalObjectDesignator &receiver);
66  virtual const DtGlobalObjectDesignator &receivingId() const;
67 
69  virtual void setSupplyingId(const DtGlobalObjectDesignator &supplier);
70  virtual const DtGlobalObjectDesignator &supplyingId() const;
71 
73  virtual void setSupplies(const void* data, int numBytes);
74  virtual const void* supplies() const;
75 
77  virtual void setNumSupplyTypes(int numTypes);
78  virtual int numSupplyTypes() const;
79 
80  virtual void setNthSupply(int supplyIndex, const DtEntityType &supply,
81  float quantity, int *retCode = NULL);
82 
83  virtual const DtEntityType &nthSupply(int supplyIndex,
84  float *quantity = NULL,
85  int *retCode = NULL) const;
86 
87  virtual float supplyQuantity(const DtEntityType &supply) const;
88 
89  virtual void changeSuppliesSize(int newSize);
90 
91  virtual int indexInBounds(int ind) const;
92 
93 
95  virtual const char* name() const;
96 
97 public:
98 
101  static DtInteraction* create();
102 
105  static void addCallback(DtExerciseConn* conn,
106  DtResupplyOfferInteractionCb cb, void* usr,
107  DtDDMRegionSP region = DtDDMRegionSP());
108  static void removeCallback(DtExerciseConn* conn,
109  DtResupplyOfferInteractionCb cb, void* usr,
110  DtDDMRegionSP region = DtDDMRegionSP());
111 
112 protected:
113 
119 };
120 
123 {
124  return myReceivingObject;
125 }
126 
129 {
130  return mySupplyingObject;
131 }
132 
134  const DtGlobalObjectDesignator &receiver)
135 {
136  myReceivingObject = receiver;
137 }
138 
140  const DtGlobalObjectDesignator &supplier)
141 {
142  mySupplyingObject = supplier;
143 }
144 
145 inline const char* DtResupplyOfferInteraction::name() const
146 {
147  return "DtResupplyOfferInteraction";
148 }
149 
150 #endif
151 #endif
152 
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
virtual void setReceivingId(const DtGlobalObjectDesignator &receiver)
Set/Get the receiving object.
Definition: resupplyOfferInteraction.h:133
DtInteractionWithEncDec & operator=(const DtInteractionWithEncDec &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file declares classes for the Logistics PDUs.
virtual const DtGlobalObjectDesignator & receivingId() const
Definition: resupplyOfferInteraction.h:122
Definition: logisticsP.h:18
virtual const char * name() const
Name of the interaction. (Not necessarily the ClassName from the FOM.)
Definition: resupplyOfferInteraction.h:145
DtNetSupplyQuantity * mySupplies
Definition: resupplyOfferInteraction.h:117
DtEntityType myNthSupply
Definition: resupplyOfferInteraction.h:118
virtual const DtGlobalObjectDesignator & supplyingId() const
Definition: resupplyOfferInteraction.h:128
static void removeCallback(DtExerciseConn *conn, const std::vector< 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
DtGlobalObjectDesignator myReceivingObject
Definition: resupplyOfferInteraction.h:114
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.)
virtual void setSupplyingId(const DtGlobalObjectDesignator &supplier)
Set/Get the repairing object.
Definition: resupplyOfferInteraction.h:139
static void addCallback(DtExerciseConn *conn, const std::vector< 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
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
DtGlobalObjectDesignator mySupplyingObject
Definition: resupplyOfferInteraction.h:115
Instances of DtString are used to represent strings.
Definition: vlString.h:29
int myNumSupplyTypes
Definition: resupplyOfferInteraction.h:116
class DtResupplyOfferInteraction:
Definition: resupplyOfferInteraction.h:41
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
void(* DtResupplyOfferInteractionCb)(DtResupplyOfferInteraction *inter, void *usr)
ResupplyOffer interaction callback function signature.
Definition: resupplyOfferInteraction.h:32

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)