![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 #ifndef hAggEntEnc_H_ 00009 #define hAggEntEnc_H_ 00010 00011 #if DtHLA 00012 00013 #include "hBaseEntEnc.h" 00014 #include "aggregateSR.h" 00015 00021 00022 class DT_DLL_VL DtAggregateEntityEncoder : public DtBaseEntityEncoder 00023 { 00024 public: 00025 00027 DtAggregateEntityEncoder( 00028 DtExerciseConn* exConn, 00029 DtObjClassDesc* classDesc); 00030 00032 virtual ~DtAggregateEntityEncoder(); 00033 00035 DtAggregateEntityEncoder(const DtAggregateEntityEncoder& orig); 00036 00038 DtAggregateEntityEncoder& operator=(const DtAggregateEntityEncoder& orig); 00039 00040 public: 00041 00044 static DtHlaStateEncoder* create( 00045 DtExerciseConn* exConn, 00046 DtObjClassDesc* classDesc); 00047 00048 protected: 00049 00051 DtDECLARE_AGGREGATE_ATTR_CHECKER(AggregateMarking); 00052 DtDECLARE_AGGREGATE_ATTR_CHECKER(AggregateState); 00053 DtDECLARE_AGGREGATE_ATTR_CHECKER(Dimensions); 00054 DtDECLARE_AGGREGATE_ATTR_CHECKER(EntityIdentifiers); 00055 DtDECLARE_AGGREGATE_ATTR_CHECKER(EntityIDs); 00056 DtDECLARE_AGGREGATE_ATTR_CHECKER(ForceIdentifier); 00057 DtDECLARE_AGGREGATE_ATTR_CHECKER(ForceID); 00058 DtDECLARE_AGGREGATE_ATTR_CHECKER(Formation); 00059 DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfSilentEntities); 00060 DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfVariableDatums); 00061 DtDECLARE_AGGREGATE_ATTR_CHECKER(NumberOfEntities); 00062 DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentAggregates); 00063 DtDECLARE_AGGREGATE_ATTR_CHECKER(SilentEntities); 00064 DtDECLARE_AGGREGATE_ATTR_CHECKER(SubAggregateIdentifiers); 00065 DtDECLARE_AGGREGATE_ATTR_CHECKER(SubAggregateIDs); 00066 DtDECLARE_AGGREGATE_ATTR_CHECKER(VariableDatums); 00067 00069 DtDECLARE_AGGREGATE_ATTR_ENCODER(AggregateMarking); 00070 DtDECLARE_AGGREGATE_ATTR_ENCODER(AggregateState); 00071 DtDECLARE_AGGREGATE_ATTR_ENCODER(Dimensions); 00072 DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIdentifiers); //2.0D3 00073 DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIDs); 00074 DtDECLARE_AGGREGATE_ATTR_ENCODER(ForceIdentifier); //2.0D3 00075 DtDECLARE_AGGREGATE_ATTR_ENCODER(ForceID); 00076 DtDECLARE_AGGREGATE_ATTR_ENCODER(Formation); 00077 DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfSilentEntities); 00078 DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfVariableDatums); 00079 DtDECLARE_AGGREGATE_ATTR_ENCODER(NumberOfEntities); 00080 DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentAggregates); 00081 DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentEntities); 00082 DtDECLARE_AGGREGATE_ATTR_ENCODER(SilentEntitiesRPR_20); 00083 DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIdentifiers); //2.0D3 00084 DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIDs); 00085 DtDECLARE_AGGREGATE_ATTR_ENCODER(VariableDatums); 00086 00087 DtDECLARE_AGGREGATE_ATTR_ENCODER(EntityIdentifiers_RPR20); 00088 DtDECLARE_AGGREGATE_ATTR_ENCODER(SubAggregateIdentifiers_RPR20); 00089 }; 00090 00096 #define DtDEFINE_SIMPLE_AGG_ENTITY_ATTR_ENCODER( \ 00097 attrName, netType, inspector) \ 00098 DtDEFINE_SIMPLE_ATTR_ENCODER(DtAggregateEntityEncoder, \ 00099 DtAggregateStateRepository, \ 00100 attrName, netType, inspector) 00101 00107 #define DtDEFINE_SIMPLE_AGG_ENTITY_ATTR_CHECKER( \ 00108 attrName, inspector) \ 00109 DtDEFINE_SIMPLE_ATTR_CHECKER(DtAggregateEntityEncoder, \ 00110 DtAggregateStateRepository, \ 00111 attrName, inspector) 00112 00113 #endif 00114 #endif 00115