![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef _linObjStP_h_ 00008 #define _linObjStP_h_ 1 00009 00013 00014 00015 #include <vlpi/NetStructs.h> 00016 #include "pduHeader.h" 00017 #include "objectTypeP.h" 00018 00021 00022 struct DtNetLinearSegmentParameter 00023 { 00024 DtNetU8 mySegmentNumber; 00025 DtNetU8 myModifications; 00026 DtNetU32 mySpecificAppearance; 00027 DtNetU16 myAppearance; 00028 DtNet64Vector myLocation; 00029 DtNetEulerAngles myOrientation; 00030 DtNetU16 mySegmentLength; 00031 DtNetU16 mySegmentWidth; 00032 DtNetU16 mySegmentHeight; 00033 DtNetU16 mySegmentDepth; 00034 DtNetU32 padding; 00035 }; 00036 00037 00040 00041 struct DtNetLinearObjectStatePdu 00042 { 00043 DtNetPduHeader myHeader; 00044 DtNetEntityIdentifier myObjectID; 00045 DtNetEntityIdentifier myReferencedObjectID; 00046 DtNetU16 myUpdateNumber; 00047 DtNetU8 myForceID; 00048 DtNetU8 myNumSegments; 00049 DtNetSimulationAddress myRequesterID; 00050 DtNetSimulationAddress myReceivingID; 00051 DtNetObjectType myObjectType; 00052 }; 00053 00056 struct DtNetLinearSegmentRecord 00057 { 00058 DtNetU32 mySegmentNumber; 00059 DtNetU32 myPercentComplete; 00060 DtNet64Vector myLocation; 00061 DtNetEulerAngles myOrientation; 00062 DtNetU16 myLength; 00063 DtNetU16 myWidth; 00064 DtNetU16 myHeight; 00065 DtNetU16 myDepth; 00066 DtNetU32 myDamagedState; 00067 DtNetBoolean myDeactivated; 00068 DtNetBoolean myFlaming; 00069 DtNetBoolean myObjectPreDistributed; 00070 DtNetBoolean mySmoking; 00071 }; 00072 00075 struct DtNetBreachableSegmentRecord 00076 { 00077 DtNetLinearSegmentRecord mySegmentParameters; 00078 DtNetU32 myBreachLength; 00079 DtNetU8 myBreachedState; 00080 DtNetU8 mySegmentBreached[8]; 00081 DtNetU8 padding[7]; 00082 }; 00083 00086 struct DtNetBreachObjectRecord 00087 { 00088 DtNetLinearSegmentRecord mySegmentParameters; 00089 DtNetU8 padding[4]; 00090 }; 00091 00094 struct DtNetExhaustSmokeRecord 00095 { 00096 DtNetLinearSegmentRecord mySegmentParameters; 00097 DtNetU32 myPercentOpacity; 00098 DtNetBoolean myAttached; 00099 DtNetU8 padding[3]; 00100 DtNetU32 myChemicalContent; 00101 }; 00102 00105 struct DtNetMinefieldLaneMarkerRecord 00106 { 00107 DtNetLinearSegmentRecord mySegmentParameters; 00108 DtNetU32 myVisibleSideLocation; 00109 }; 00110 00111 #endif 00112