![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hAttChgReqInt_H_ 00008 #define hAttChgReqInt_H_ 00009 00010 #if DtHLA 00011 00012 #include "hIntWEncDec.h" 00013 #include "hostStructs.h" 00014 #include <matrix/vlMath.h> 00015 #include "objDesList.h" 00016 #include "datumRecSet.h" 00017 00018 00019 00023 00024 class DT_DLL_VL DtAttributeChangeReqInter; 00025 class DT_DLL_VL DtExerciseConn; 00026 00027 00029 typedef void (*DtAttributeChangeReqInterCb)(DtAttributeChangeReqInter* inter, 00030 void* usr); 00031 00032 00033 00037 class DT_DLL_VL DtAttributeChangeReqInter : public DtInteractionWithEncDec 00038 { 00039 public: 00040 00042 DtAttributeChangeReqInter(); 00043 00045 virtual ~DtAttributeChangeReqInter(); 00046 00048 DtAttributeChangeReqInter(const DtAttributeChangeReqInter& orig); 00049 00051 DtAttributeChangeReqInter& operator=(const DtAttributeChangeReqInter& orig); 00052 00054 virtual void printData() const; 00055 00057 virtual void printDataToStream(std::ostream& stream) const; 00058 00060 virtual const DtGlobalObjectDesignatorList& objectIDs() const; 00061 virtual DtGlobalObjectDesignatorList* objectIDs(); 00062 00064 virtual void setNumIds(DtU8 numIds); 00065 virtual DtU8 numIds() const; 00066 00068 virtual void setNthObjectId(DtInt32 idIndex, 00069 const DtGlobalObjectDesignator& id); 00070 virtual const DtGlobalObjectDesignator& nthObjectId(DtInt32 idIndex) const; 00071 00073 virtual void setNumPairs(DtU32 pairs); 00074 virtual DtU32 numPairs() const; 00075 00076 #if DtHLA_1516 00077 virtual void setAvMap( const RTI::AttributeHandleValueMap& atts); 00078 virtual const RTI::AttributeHandleValueMap& avMap() const; 00079 #else 00080 virtual void setAvPairSet( const RTI::AttributeHandleValuePairSet& atts); 00081 virtual const RTI::AttributeHandleValuePairSet& avPairSet() const; 00082 #endif 00083 00085 #if DtHLA_1516 00086 virtual void setAttributeHandle(DtU32 index, RTI::AttributeHandle handle); 00087 virtual RTI::AttributeHandle attributeHandle(DtU32 index) const; 00088 #else 00089 virtual void setAttributeHandle(DtU32 index, DtU32 handle); 00090 virtual DtU32 attributeHandle(DtU32 index) const; 00091 #endif 00092 00094 virtual void setAttributeValueLength(DtU32 index, DtU32 length); 00095 virtual DtU32 attributeValueLength(DtU32 index) const; 00096 00097 virtual void setAttributeValue(DtU32 index, const char* usr); 00098 virtual const char* attributeValue(DtU32 index) const; 00099 00105 virtual DtDatumRecordSet* datumRecSet(); 00106 virtual const DtDatumRecordSet* datumRecSet() const; 00107 00109 virtual const char* name() const; 00110 00111 public: 00112 00115 static DtInteraction* create(); 00116 00119 static void addCallback(DtExerciseConn* conn, 00120 DtAttributeChangeReqInterCb cb, void* usr, 00121 DtDDMRegionSP region = DtDDMRegionSP()); 00122 static void removeCallback(DtExerciseConn* conn, 00123 DtAttributeChangeReqInterCb cb, void* usr, 00124 DtDDMRegionSP region = DtDDMRegionSP()); 00125 00126 protected: 00127 00128 DtGlobalObjectDesignatorList myObjectList; 00129 DtGlobalObjectDesignator myNthId; 00130 DtDatumRecordSet myRecordSet; 00131 00132 #if DtHLA_1516 00133 mutable RTI::AttributeHandleValueMap myMap; 00134 #endif 00135 00136 }; 00137 00138 inline const char* DtAttributeChangeReqInter::name() const 00139 { 00140 return "DtAttributeChangeReqInter"; 00141 } 00142 00143 #endif 00144 #endif 00145