10 #ifndef stateEncoder_H_
11 #define stateEncoder_H_
18 #define DtStateChange_FORCE 0x0001
19 #define DtStateChange_OTHER 0x0002
20 #define DtStateChange_ATTRIBUTES 0x0004
26 #define DtCLONE_ENCODER(encoderClass) \
27 virtual DtPduEncoder* clone() const \
29 return new encoderClass(*this); \
40 virtual ~DtStateEncoder();
43 DtStateEncoder(
const DtStateEncoder& orig);
46 DtStateEncoder& operator=(
const DtStateEncoder& orig);
49 virtual void setSendNeeded();
51 virtual DtU32 changedState()
const {
return myChangedState; }
52 virtual void clearChangedState() { myChangedState = 0; }
53 virtual bool isChangedStateBit(
DtU32 st)
const {
return myChangedState & st; }
54 virtual void resetChangedStateBit(
DtU32 st) { myChangedState &= ~st; }
55 virtual void setChangedStateBit(
DtU32 st) { myChangedState |= st; }
66 virtual void fillOutAttributeRecords(
68 DtPduWithAttributeRecordSets* pdu,
73 virtual bool sendNeededAttributeRecords(
78 bool myForceSendNeeded;
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void encode(DtPdu *pdu)=0
The DtPduEncoder class provides a base class for all DIS encoders.
Definition: pduEncoder.h:18
DtPdu is the base class for all PDU's in VR-Link.
Definition: pdu.h:69
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file declares the DtPduEncoder.
virtual DtPduEncoder * clone() const =0
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
This file contains typedefs for machine dependant types.