![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: attrHandSet.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtAttributeHandleSet_H_ 00013 #define DtAttributeHandleSet_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include "netHandSet.h" 00017 #include "internalTypes.h" 00018 00019 class DtObjectClassInfo; 00020 00021 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00022 #include "RTI/Typedefs.h" 00023 #include "RTI/Handle.h" 00024 #else 00025 #ifdef DtIFSPEC13DLC 00026 #include "RTI13.h" 00027 #define RTI rti13 00028 #else 00029 #include "RTI.hh" 00030 #endif 00031 #endif 00032 00033 00034 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00035 class DT_DLL_LRC DtAttributeHandleSet 00036 #else 00037 class DT_DLL_LRC DtAttributeHandleSet : public RTI::AttributeHandleSet 00038 #endif 00039 { 00040 public: 00041 00043 DtAttributeHandleSet(DtObjectClassHandle handle=0); 00044 00045 #ifdef DtIFSPEC1516 00046 DtAttributeHandleSet(rti1516::AttributeHandleSet const & attrSet_i, 00047 DtObjectClassHandle handle=0); 00048 #elif defined(DtIFSPEC1516E) 00049 DtAttributeHandleSet(rti1516e::AttributeHandleSet const & attrSet_i, 00050 DtObjectClassHandle handle=0); 00051 #endif 00052 00054 virtual ~DtAttributeHandleSet(); 00055 00057 DtAttributeHandleSet(const DtAttributeHandleSet& orig); 00058 00060 DtAttributeHandleSet& operator=(const DtAttributeHandleSet& orig); 00061 00063 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00064 virtual unsigned long size() const; 00065 #else 00066 virtual RTI::ULong size() const; 00067 #endif 00068 00070 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00071 virtual DtAttributeHandle getHandle(unsigned long i) const; 00072 #else 00073 virtual RTI::AttributeHandle getHandle(RTI::ULong i) const 00074 throw ( 00075 RTI::ArrayIndexOutOfBounds); 00076 #endif 00077 00079 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00080 virtual void add(DtAttributeHandle h); 00081 #else 00082 virtual void add(RTI::AttributeHandle h) 00083 throw ( 00084 RTI::ArrayIndexOutOfBounds, 00085 RTI::AttributeNotDefined); 00086 #endif 00087 00089 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00090 virtual void remove(DtAttributeHandle h); 00091 #else 00092 virtual void remove(RTI::AttributeHandle h) 00093 throw ( 00094 RTI::AttributeNotDefined); 00095 #endif 00096 00098 virtual void empty(); 00099 00101 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00102 virtual bool isEmpty() const; 00103 #else 00104 virtual RTI::Boolean isEmpty() const; 00105 #endif 00106 virtual bool isEmptySet() const; 00107 00109 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00110 virtual bool isMember(DtAttributeHandle h) const; 00111 #else 00112 virtual RTI::Boolean isMember(RTI::AttributeHandle h) const; 00113 #endif 00114 00115 virtual DtAttributeHandleSet setUnion( 00116 const DtAttributeHandleSet &) const; 00117 virtual DtAttributeHandleSet setIntersection( 00118 const DtAttributeHandleSet &) const; 00119 virtual DtAttributeHandleSet removeSetIntersection( 00120 const DtAttributeHandleSet &) const; 00121 00122 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00123 virtual unsigned long encodedLength() const; 00124 #else 00125 virtual RTI::ULong encodedLength() const; 00126 #endif 00127 virtual void encode(char *buff) const; 00128 00129 virtual void print() const; 00130 virtual void print(DtObjectClassInfo* fomClass) const; 00131 00132 #ifdef DtIFSPEC1516 00133 virtual void fillHandleSet(rti1516::AttributeHandleSet& attrSet) const; 00134 #elif defined(DtIFSPEC1516E) 00135 virtual void fillHandleSet(rti1516e::AttributeHandleSet& attrSet) const; 00136 #endif 00137 00139 00142 virtual DtObjectClassHandle classHandle() const; 00143 virtual void setClassHandle(DtObjectClassHandle handle); 00144 00146 virtual bool active() const; 00147 virtual void setActive(bool isActive); 00148 public: 00149 00150 static DtAttributeHandleSet* decode(const char *buff); 00151 00152 protected: 00153 00154 unsigned short mySize; 00155 DtObjectClassHandle myClassHandle; 00156 bool myActive; 00157 MAKRti::DtU32 myWords[DtNumberAttributeWords]; 00158 }; 00159 00160 typedef DtAttributeHandleSet DtParameterHandleSet; 00161 00162 #endif