VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pduWithAttributeRecordSets.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #if DtDIS
9 
10 #include <map>
11 #include <memory>
13 #include <vlutil/vlMachineTypes.h>
14 #include <vl/attributeRecordSet.h>
15 #include <vl/pdu.h>
17 
18 typedef std::map<DtEntityIdentifier, DtAttributeRecordSet> DtAttributeRecordSetMap;
19 
20 #define MULTIPLES_PRESENT 0
21 
22 class DT_DLL_VL DtPduWithAttributeRecordSets : public DtPdu
23 {
24 public:
25 
27  DtPduWithAttributeRecordSets();
28 
30  DtPduWithAttributeRecordSets(const DtPduWithAttributeRecordSets& orig);
31 
33  DtPduWithAttributeRecordSets& operator=(const DtPduWithAttributeRecordSets& other);
34 
36  virtual ~DtPduWithAttributeRecordSets();
37 
39  virtual void printToStream(std::ostream& stream) const;
40 
42  virtual void printRecordSets(bool printEntityObjectId = false) const;
43 
45  virtual void printRecordSetsToStream(std::ostream& stream, bool printEntityObjectId = false) const;
46 
51  virtual void addRecord(std::auto_ptr<DtStandardVariableRecord> record,
53 
58  virtual void removeRecord(unsigned int index,
60 
62  virtual void clearRecordSet(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
63 
65  virtual void clearAllRecordSets();
66 
68  virtual std::vector<DtEntityIdentifier> recordSetIdentifiers() const;
69 
72  virtual void getRecordSetIdentifiers(std::vector<DtEntityIdentifier>& entityIdVector) const;
73 
75  virtual const DtStandardVariableRecordPtrVector& records(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) const;
76 
78  virtual const DtAttributeRecordSet& recordSet( const DtEntityIdentifier& id ) const;
79 
81  virtual const DtStandardVariableRecordPtrVector allRecords() const;
82 
84  virtual unsigned int numberOfRecords() const;
85 
87  virtual unsigned int numberOfRecords(const DtEntityIdentifier& id) const;
88 
90  virtual bool containsStandardRecordSets() const;
91 
93  virtual const DtSimulationAddress& attributePduSimulationAddress() const;
95  virtual void setAttributePduSimulationAddress(const DtSimulationAddress& addr);
96 
98  virtual void encode();
99 
101  virtual void decode(DtPduFactory* pduFactory = 0);
102 
104  virtual unsigned int attributeRecordSetsNetSize() const;
105 
107  virtual unsigned int recordSetsNetSize() const;
108 
110  virtual void setStandardVariableRecordFactory(DtStandardVariableRecordFactory* factory);
111  virtual DtStandardVariableRecordFactory* standardVariableRecordFactory() const;
112 
114  virtual unsigned int numberOfRecordSets() const;
115 
117  virtual const DtAttributeRecordSetMap& attributeRecordSetMap() const;
118 
120  virtual int computeMasterAttributeRecordType() const;
121 
122  virtual void setAttributeStrategy(DtAttributePduStrategy strat);
123  virtual DtAttributePduStrategy attributePduStrategy() const;
124 
125  virtual bool shouldAttributePduBeCoupled() const;
126 
127 protected:
128 
131  virtual void deepAttributeRecordSetMapCopy(const DtAttributeRecordSetMap& orig);
132  virtual void printRecordSetToStream(const DtEntityIdentifier& id, std::ostream& stream ) const;
134  DtAttributeRecordSetMap myAttributeRecordSetMap;
135  bool isRecordSetOwned;
136  bool isPduExtending;
137  DtStandardVariableRecordFactory* mySVRFactory;
138  DtPduDecoder* myAttributeDecoder;
139  DtPduEncoder* myAttributeEncoder;
140  DtSimulationAddress myAttributePduOriginatingSimulationAddress;
141 
142  DtAttributePduStrategy myAttributePduStrategy;
143 
144  protected:
145 
146  static const DtAttributeRecordSet theEmptyAttributeRecordSet;
147 
148 };
149 
150 
151 
152 #endif

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)