VR-Link API Documentation for HLA 1.3
hAggEntEnc.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)