![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtCollisionDecoder_H_ 00008 #define DtCollisionDecoder_H_ 00009 00010 #if DtHLA 00011 00012 #include "interDecoder.h" 00013 00014 00015 00019 00020 class DT_DLL_VL DtCollisionInteraction; 00021 00024 00025 #define DtDECLARE_COLLISION_PARAM_DECODER(paramName) \ 00026 DtDECLARE_PARAM_DECODER(DtCollisionInteraction, paramName) 00027 00028 #define DtDEFINE_SIMPLE_COLLISION_PARAM_DECODER(paramName, netType, mutator) \ 00029 DtDEFINE_SIMPLE_PARAM_DECODER(DtCollisionDecoder, DtCollisionInteraction, \ 00030 paramName, netType, mutator) 00031 00032 #define DtDEFINE_SIMPLE_COLLISION_PARAM_DECODER_WITH_CAST( \ 00033 paramName, netType, mutator, castExpr) \ 00034 DtDEFINE_SIMPLE_PARAM_DECODER_WITH_CAST( \ 00035 DtCollisionDecoder, DtCollisionInteraction, \ 00036 paramName, netType, mutator, castExpr) 00037 00038 00039 00043 class DT_DLL_VL DtCollisionDecoder : public DtInteractionDecoder 00044 { 00045 public: 00046 00049 DtCollisionDecoder(DtExerciseConn* exConn, 00050 DtInterClassDesc* classDesc); 00051 00053 virtual ~DtCollisionDecoder(); 00054 00056 DtCollisionDecoder(const DtCollisionDecoder& orig); 00057 00059 DtCollisionDecoder& operator=(const DtCollisionDecoder& orig); 00060 00061 protected: 00062 00063 DtDECLARE_COLLISION_PARAM_DECODER(CollidingObjectIdentifier); 00064 DtDECLARE_COLLISION_PARAM_DECODER(IssuingObjectMass); 00065 DtDECLARE_COLLISION_PARAM_DECODER(IssuingObjectVelocityVector); 00066 DtDECLARE_COLLISION_PARAM_DECODER(CollisionType); 00067 DtDECLARE_COLLISION_PARAM_DECODER(CollisionLocation); 00068 DtDECLARE_COLLISION_PARAM_DECODER(EventIdentifier); 00069 DtDECLARE_COLLISION_PARAM_DECODER(IssuingObjectIdentifier); 00070 00072 DtDECLARE_COLLISION_PARAM_DECODER(EventID); 00073 DtDECLARE_COLLISION_PARAM_DECODER(IssuingObjectID); 00074 DtDECLARE_COLLISION_PARAM_DECODER(CollidingObjectID); 00075 DtDECLARE_COLLISION_PARAM_DECODER(IssuingObjectVelocity); 00076 }; 00077 00078 #endif 00079 #endif 00080