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

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)