VR-Link API Documentation for HLA 1516
hAggPub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef hAggPub_H_
00011 #define hAggPub_H_
00012 
00013 #if DtHLA 
00014 
00015 #include "hObjPub.h"
00016 #include <vlpi/disEnums.h>
00017 
00018 class DT_DLL_VL DtAggregateStateRepository;
00019 class DT_DLL_VL DtGeodeticRegion;
00020 
00021 
00027 class DT_DLL_VL DtAggregatePublisher : public DtObjectPublisher
00028 {
00029 public:
00030 
00033    typedef DtAggregateStateRepository* (*DtStateRepCreator)();
00034 
00035 public:
00036 
00038    DtAggregatePublisher(
00039       DtAggregateStateRepository *stateRepToUse,
00040       DtExerciseConn* conn, 
00041       const char* name = 0,
00042       const DtDDMRegionSet* regionSetToUse = 0);
00043   
00045    DtAggregatePublisher(
00046       RTI::ObjectClassHandle h,
00047       DtExerciseConn* conn, 
00048       const char* name = 0,
00049       const DtDDMRegionSet* regionSetToUse = 0);
00050 
00052    DtAggregatePublisher(
00053       const DtEntityType& type,
00054       DtExerciseConn* conn, 
00055       const char* name = 0,
00056       const DtDDMRegionSet* regionSetToUse = 0);
00057 
00059    DtAggregatePublisher(
00060       const DtEntityType& type,
00061       DtExerciseConn *conn,
00062       DtDeadReckonTypes algorithm,
00063       DtForceType forceId,
00064       const char* name = 0,
00065       const DtDDMRegionSet* regionSetToUse = 0);
00066 
00072    DtAggregatePublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn);
00073 
00075    virtual ~DtAggregatePublisher();
00076 
00079    virtual DtAggregateStateRepository* aggregateStateRep();
00080 
00082    virtual DtAggregateStateRepository* asr();
00083 
00084    virtual void tick();
00085 
00086 public:
00087 
00089    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00090    
00091 protected:
00095    void createGeographicRegion(DtExerciseConn* conn);
00096 
00098    DtAggregatePublisher(const DtAggregatePublisher& orig);
00099 
00101    DtAggregatePublisher& operator=(const DtAggregatePublisher& orig);
00102 
00106    const char* objectClassNameFromType(const DtEntityType &type);
00107 
00108    DtBoost::shared_ptr<DtGeodeticRegion> myGeodeticPublishingRegion;
00109 
00110 protected:
00111 
00112    static DtStateRepCreator theStateRepCreator;
00113 };
00114 
00115 inline DtAggregateStateRepository* DtAggregatePublisher::aggregateStateRep()
00116 {
00117    return (DtAggregateStateRepository*) myStateRep;
00118 }
00119 
00120 inline DtAggregateStateRepository* DtAggregatePublisher::asr()
00121 {
00122    return (DtAggregateStateRepository*) myStateRep;
00123 }
00124 
00125 #endif
00126 #endif
00127 

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)