VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pointObjectStatePdu.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vl/stateMsg.h>
15 #include <vl/packets/pointObjStP.h>
17 #include <vlutil/vlMachineTypes.h>
18 #include <matrix/vlMath.h>
19 
20 class DtExerciseConn;
21 class DtPointObjectStatePdu;
22 
24 typedef void (*DtPointObjectStatePduCb)( DtPointObjectStatePdu* pdu, void* usr );
25 
29 class DT_DLL_VL DtPointObjectStatePdu : public DtStateMsg
30 {
31 public:
32 
35  static DtPdu* create( const DtNetPacket* initial,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
37 
39  DtPointObjectStatePdu( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
40  DtPointObjectStatePdu( const DtNetPointObjectStatePdu* initial,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
42  DtPointObjectStatePdu( const DtPointObjectStatePdu& orig );
43 
45  virtual ~DtPointObjectStatePdu();
46 
48  DtPointObjectStatePdu& operator = ( const DtPointObjectStatePdu& orig );
49 
51  virtual void setObjectID( const DtEntityIdentifier& id );
52  virtual const DtEntityIdentifier& objectID() const;
53 
55  virtual void setReferencedObjectID( const DtEntityIdentifier& id );
56  virtual const DtEntityIdentifier& referencedObjectID() const;
57 
59  virtual void setUpdateNumber( DtU16 field );
60  virtual DtU16 updateNumber() const;
61 
63  virtual void setForceID( DtForceType force );
64  virtual DtForceType forceID() const;
65 
67  virtual void setModifications( DtU8 value );
68  virtual DtU8 modifications() const;
69 
71  virtual void setModificationsField(
72  DtModificationField field, bool value );
73  virtual bool modificationsField(
74  DtModificationField field ) const;
75 
77  virtual void setObjectType( const DtSyntheticEnvironmentObjectType& type );
78  virtual const DtSyntheticEnvironmentObjectType& objectType() const;
79 
81  virtual void setLocation( const DtVector& coords );
82  virtual const DtVector& location() const;
83 
85  virtual void setOrientation( const DtTaitBryan& orientation );
86  virtual const DtTaitBryan& orientation() const;
87 
91  virtual void setGeneralAppearance( DtU16 app );
92  virtual DtU16 generalAppearance() const;
93 
97  virtual void setGeneralAppearanceAttribute(
99  virtual DtAppearAttrVal generalAppearanceAttribute(
100  DtAppearAttribute attr ) const;
101 
105  virtual void setSpecificAppearance( DtU32 app );
106  virtual DtU32 specificAppearance() const;
107 
109  virtual void setSpecificAppearanceAttribute(
110  const DtAppearAttribute attr, const DtAppearAttrVal val );
111  virtual DtAppearAttrVal specificAppearanceAttribute(
112  const DtAppearAttribute attr ) const;
113 
115  virtual void setRequesterID( const DtSimulationAddress& type );
116  virtual const DtSimulationAddress& requesterID() const;
117 
119  virtual void setReceivingID( const DtSimulationAddress& type );
120  virtual const DtSimulationAddress& receivingID() const;
121 
123  virtual void printData() const;
124 
126  virtual void printDataToStream( std::ostream& stream ) const;
127 
130  static void addCallback( DtExerciseConn* conn,
131  DtPointObjectStatePduCb cb, void* usr );
132  static void removeCallback( DtExerciseConn* conn,
133  DtPointObjectStatePduCb cb, void* usr );
134 
135 protected:
136 
138  virtual DtPduKind internalGetPduKind() const;
139 
141  virtual DtNetPointObjectStatePdu* netPduStruct() const;
142 
145  DtPointObjectStatePdu* self() const;
146 
147 protected:
148 
150  static const int theStaticSize;
151 
153  DtEntityIdentifier myEntityID;
155  DtVector myVector;
156  DtTaitBryan myEulerAngles;
157  DtSimulationAddress mySimulationAddress;
158 
159 };
160 
161 #endif // DtDIS

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)