VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
linearObjectStatePdu.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
15 #include <vl/packets/linObjStP.h>
16 #include <vl/hostStructs.h>
17 #include <vl/stateMsg.h>
18 #include <vlutil/vlMachineTypes.h>
19 #include <matrix/vlMath.h>
20 
21 class DtExerciseConn;
24 
26 typedef void (*DtLinearObjectStatePduCb)(
27  DtLinearObjectStatePdu* pdu, void* usr );
28 
34 {
35 public:
36 
39  static DtPdu* create( const DtNetPacket* initial,
41  DtPduFactory* pduFactory = 0 );
42 
45 
48 
51  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
52 
54  virtual ~DtLinearObjectStatePdu();
55 
58 
60  virtual void setObjectId( const DtEntityIdentifier& id );
61  virtual const DtEntityIdentifier& objectId() const;
62 
64  virtual void setReferencedObjectId( const DtEntityIdentifier& id );
65  virtual const DtEntityIdentifier& referencedObjectId() const;
66 
68  virtual void setUpdateNumber( DtU16 field );
69  virtual DtU16 updateNumber() const;
70 
72  virtual void setForceId( DtForceType force );
73  virtual DtForceType forceId() const;
74 
76  virtual bool setNumSegments( DtU8 num );
77  virtual DtU8 numSegments() const;
78 
80  virtual void setRequesterId( const DtSimulationAddress& type );
81  virtual const DtSimulationAddress& requesterId() const;
82 
84  virtual void setReceivingId( const DtSimulationAddress& type );
85  virtual const DtSimulationAddress& receivingId() const;
86 
88  virtual void setObjectType( const DtSyntheticEnvironmentObjectType& type );
89  virtual const DtSyntheticEnvironmentObjectType& objectType() const;
90 
93  virtual bool setLinearSegmentRecord( int index,
94  const DtLinearSegmentRecord& record );
95  virtual bool getLinearSegmentRecord( int index,
96  DtLinearSegmentRecord& record ) const;
97 
99  virtual void printData() const;
100 
102  virtual void printDataToStream( std::ostream& stream ) const;
103 
106  static void addCallback( DtExerciseConn* conn,
107  DtLinearObjectStatePduCb cb, void* usr );
108  static void removeCallback( DtExerciseConn* conn,
109  DtLinearObjectStatePduCb cb, void* usr );
110 
111 protected:
112 
114  virtual DtPduKind internalGetPduKind() const;
115 
117  virtual DtNetLinearObjectStatePdu* netPduStruct() const;
118 
121  DtLinearObjectStatePdu* self() const;
122 
124  virtual char* var() const;
125 
126 protected:
127 
129  static const int theStaticSize;
130 
135 
136 };
137 
138 #endif

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)