VR-Link API Documentation for DIS
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 
22 {
23 public:
24 
27 
30 
33 
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();
130  const std::vector<DtStandardVariableRecord*> myEmptyRecordVector;
138 };
139 
140 
141 
142 #endif

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)