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>
12 #include <vlutil/vlMachineTypes.h>
13 #include <vl/attributeRecordSet.h>
14 #include <vl/pdu.h>
16 
17 typedef std::map<DtEntityIdentifier, DtAttributeRecordSet> DtAttributeRecordSetMap;
18 
19 #define MULTIPLES_PRESENT 0
20 
21 class DT_DLL_VL DtPduWithAttributeRecordSets : public DtPdu
22 {
23 public:
24 
26  DtPduWithAttributeRecordSets();
27 
29  DtPduWithAttributeRecordSets(const DtPduWithAttributeRecordSets& orig);
30 
32  DtPduWithAttributeRecordSets& operator=(const DtPduWithAttributeRecordSets& other);
33 
35  virtual ~DtPduWithAttributeRecordSets();
36 
38  virtual void printToStream(std::ostream& stream) const;
39 
41  virtual void printRecordSets(bool printEntityObjectId = false) const;
42 
44  virtual void printRecordSetsToStream(std::ostream& stream, bool printEntityObjectId = false) const;
45 
50  virtual void addRecord(std::auto_ptr<DtStandardVariableRecord> record,
52 
57  virtual void removeRecord(unsigned int index,
59 
61  virtual void clearRecordSet(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
62 
64  virtual void clearAllRecordSets();
65 
67  virtual std::vector<DtEntityIdentifier> recordSetIdentifiers() const;
68 
71  virtual void getRecordSetIdentifiers(std::vector<DtEntityIdentifier>& entityIdVector) const;
72 
74  virtual const std::vector<DtStandardVariableRecord*>& records(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) const;
75 
77  virtual const DtAttributeRecordSet& recordSet( const DtEntityIdentifier& id ) const;
78 
80  virtual const std::vector<DtStandardVariableRecord*> allRecords() const;
81 
83  virtual unsigned int numberOfRecords() const;
84 
86  virtual unsigned int numberOfRecords(const DtEntityIdentifier& id) const;
87 
89  virtual bool containsStandardRecordSets() const;
90 
92  virtual const DtSimulationAddress& attributePduSimulationAddress() const;
94  virtual void setAttributePduSimulationAddress(const DtSimulationAddress& addr);
95 
97  virtual void encode();
98 
100  virtual void decode(DtPduFactory* pduFactory = 0);
101 
103  virtual unsigned int attributeRecordSetsNetSize() const;
104 
106  virtual unsigned int recordSetsNetSize() const;
107 
109  virtual void setStandardVariableRecordFactory(DtStandardVariableRecordFactory* factory);
110  virtual DtStandardVariableRecordFactory* standardVariableRecordFactory() const;
111 
113  virtual unsigned int numberOfRecordSets() const;
114 
116  virtual const DtAttributeRecordSetMap& attributeRecordSetMap() const;
117 
119  virtual int computeMasterAttributeRecordType() const;
120 
121 protected:
122 
125  virtual void deepAttributeRecordSetMapCopy(const DtAttributeRecordSetMap& orig);
126  virtual void printRecordSetToStream(const DtEntityIdentifier& id, std::ostream& stream ) const;
127  virtual bool shouldAttributePduBeCoupled();
129  DtAttributeRecordSetMap myAttributeRecordSetMap;
130  const std::vector<DtStandardVariableRecord*> myEmptyRecordVector;
131  const DtAttributeRecordSet myEmptyAttributeRecordSet;
132  bool isRecordSetOwned;
133  bool isPduExtending;
134  DtStandardVariableRecordFactory* mySVRFactory;
135  DtPduDecoder* myAttributeDecoder;
136  DtPduEncoder* myAttributeEncoder;
137  DtSimulationAddress myAttributePduOriginatingSimulationAddress;
138 };
139 
140 
141 
142 #endif

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)