![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 #ifndef hAggEntDec_H_ 00009 #define hAggEntDec_H_ 00010 00011 #if DtHLA 00012 00013 #include "hBaseEntDec.h" 00014 00015 class DtAggregateStateRepository; 00016 00022 00023 class DT_DLL_VL DtAggregateEntityDecoder : public DtBaseEntityDecoder 00024 { 00025 public: 00026 00028 DtAggregateEntityDecoder( 00029 DtExerciseConn* exConn, 00030 DtObjClassDesc* classDesc); 00031 00033 virtual ~DtAggregateEntityDecoder(); 00034 00036 DtAggregateEntityDecoder(const DtAggregateEntityDecoder& orig); 00037 00039 DtAggregateEntityDecoder& operator=(const DtAggregateEntityDecoder& orig); 00040 00041 public: 00042 00045 static DtHlaStateDecoder* create( 00046 DtExerciseConn* exConn, 00047 DtObjClassDesc* classDesc); 00048 00049 protected: 00050 00054 void addMyDecoders(); 00055 00056 protected: 00057 00059 DtDECLARE_AGGREGATE_ATTR_DECODER(AggregateMarking); 00060 DtDECLARE_AGGREGATE_ATTR_DECODER(AggregateState); 00061 DtDECLARE_AGGREGATE_ATTR_DECODER(Dimensions); 00062 DtDECLARE_AGGREGATE_ATTR_DECODER(EntityIdentifiers); 00063 DtDECLARE_AGGREGATE_ATTR_DECODER(EntityIDs); 00064 DtDECLARE_AGGREGATE_ATTR_DECODER(ForceIdentifier); 00065 DtDECLARE_AGGREGATE_ATTR_DECODER(ForceID); 00066 DtDECLARE_AGGREGATE_ATTR_DECODER(Formation); 00067 DtDECLARE_AGGREGATE_ATTR_DECODER(NumberOfSilentEntities); 00068 DtDECLARE_AGGREGATE_ATTR_DECODER(NumberOfVariableDatums); 00069 DtDECLARE_AGGREGATE_ATTR_DECODER(NumberOfEntities); 00070 DtDECLARE_AGGREGATE_ATTR_DECODER(SilentAggregates); 00071 DtDECLARE_AGGREGATE_ATTR_DECODER(SilentEntities); 00072 DtDECLARE_AGGREGATE_ATTR_DECODER(SilentEntitiesRPR_20); 00073 DtDECLARE_AGGREGATE_ATTR_DECODER(SubAggregateIdentifiers); 00074 DtDECLARE_AGGREGATE_ATTR_DECODER(SubAggregateIDs); 00075 DtDECLARE_AGGREGATE_ATTR_DECODER(VariableDatums); 00076 00078 DtDECLARE_AGGREGATE_ATTR_DECODER(EntityIdentifiers_RPR20); 00079 DtDECLARE_AGGREGATE_ATTR_DECODER(SubAggregateIdentifiers_RPR20); 00080 }; 00081 00087 #define DtDEFINE_SIMPLE_AGGREGATE_ATTR_DECODER_WITH_CAST( \ 00088 attrName, netType, mutator, castExpr) \ 00089 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00090 DtAggregateEntityDecoder, DtAggregateStateRepository, \ 00091 attrName, netType, mutator, castExpr) 00092 00093 #define DtDEFINE_SIMPLE_AGGREGATE_ATTR_DECODER( \ 00094 attrName, netType, inspector) \ 00095 DtDEFINE_SIMPLE_AGGREGATE_ATTR_DECODER_WITH_CAST( \ 00096 attrName, netType, inspector, (netType)) 00097 00098 #endif 00099 #endif 00100