![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 00007 #ifndef hLinObjTrans_H 00008 #define hLinObjTrans_H 00009 00010 #if DtHLA 00011 00012 #include "hEnvObjTrans.h" 00013 00014 #include "objectType.h" 00015 #include "breachSegRec.h" 00016 #include "exhaustSmokeRec.h" 00017 #include "mineFldMarkRec.h" 00018 00022 00023 class DT_DLL_VL DtLinearObjectTransaction; 00024 class DT_DLL_VL DtExerciseConn; 00025 00027 typedef void (*DtLinearObjectTransactionCb) 00028 (DtLinearObjectTransaction* inter, void* usr); 00029 00047 class DT_DLL_VL DtLinearObjectTransaction : public DtEnvironmentObjectTransaction 00048 { 00049 public: 00050 00051 //default constructor 00052 DtLinearObjectTransaction(); 00053 00054 //destructor 00055 virtual ~DtLinearObjectTransaction(); 00056 00057 //copy constructor 00058 DtLinearObjectTransaction(const DtLinearObjectTransaction& orig); 00059 00060 //assignment operator 00061 DtLinearObjectTransaction& operator=( const DtLinearObjectTransaction& orig); 00062 00064 virtual void printData() const; 00065 00067 virtual void printDataToStream(std::ostream& stream) const; 00068 00072 virtual bool setNumOfBreachLinearSegments(int newNumber); 00073 virtual int numOfBreachLinearSegments() const; 00074 00075 virtual bool setBreachLinearSegment( 00076 int index, const DtBreachableSegmentRecord& record); 00077 virtual bool breachLinearSegment( 00078 int index, DtBreachableSegmentRecord& record) const; 00079 00083 virtual bool setNumOfBreachObjectSegments(int newNumber); 00084 virtual int numOfBreachObjectSegments() const; 00085 00086 virtual bool setBreachObjectSegment( 00087 int index, const DtLinearSegmentRecord& record); 00088 virtual bool breachObjectSegment( 00089 int index, DtLinearSegmentRecord& record) const; 00090 00091 00095 virtual bool setNumOfExhaustSmokeSegments(int newNumber); 00096 virtual int numOfExhaustSmokeSegments() const; 00097 00098 virtual bool setExhaustSmokeSegment( 00099 int index, const DtExhaustSmokeRecord& record); 00100 virtual bool exhaustSmokeSegment( 00101 int index, DtExhaustSmokeRecord& record) const; 00102 00103 00107 virtual bool setNumOfMinefldLaneMarkSegments(int newNumber); 00108 virtual int numOfMinefldLaneMarkSegments() const; 00109 00110 virtual bool setMinefldLaneMarkSegment( 00111 int index, const DtMinefieldLaneMarkerRecord& record); 00112 virtual bool minefldLaneMarkSegment( 00113 int index, DtMinefieldLaneMarkerRecord& record) const; 00114 00116 virtual const char* name() const; 00117 00118 public: 00119 00122 static DtInteraction* create(); 00123 00126 static void addCallback(DtExerciseConn* conn, 00127 DtLinearObjectTransactionCb cb, void* usr, 00128 DtDDMRegionSP region = DtDDMRegionSP()); 00129 static void removeCallback(DtExerciseConn* conn, 00130 DtLinearObjectTransactionCb cb, void* usr, 00131 DtDDMRegionSP region = DtDDMRegionSP()); 00132 00133 protected: 00134 int myNumOfBreachLinearSegments; 00135 DtBreachableSegmentRecord* myBreachLinearSegments; 00136 00137 int myNumOfBreachObjectSegments; 00138 DtLinearSegmentRecord* myBreachObjectSegments; 00139 00140 int myNumOfExhaustSmokeSegments; 00141 DtExhaustSmokeRecord* myExhaustSmokeSegments; 00142 00143 int myNumOfMinefldLaneMarkSegments; 00144 DtMinefieldLaneMarkerRecord* myMinefldLaneMarkSegments; 00145 00146 }; 00147 00148 #endif 00149 #endif //! hLinObjTrans_H_ 00150