VR-Link API Documentation for HLA 1.3
hEmittrSysPub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00008 #pragma once
00009 #if DtHLA 
00010 
00011 #include "hObjPub.h"
00012 
00013 
00014 class DtEmitterSystemRepository;
00015 class DtEmitterBeamPublisher;
00016 class DtEmitterBeamRepository;
00017 
00022 class DT_DLL_VL DtEmitterSystemPublisher : public DtObjectPublisher
00023 {
00024 public:
00025 
00027    typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
00028 
00029 public:
00030 
00032    DtEmitterSystemPublisher(
00033       DtEmitterSystemRepository *stateRepToUse, 
00034       DtExerciseConn* conn,
00035       const char* name = 0,
00036       const DtDDMRegionSet* regionSetToUse = 0);
00037 
00039    DtEmitterSystemPublisher(
00040       RTI::ObjectClassHandle h, 
00041       DtExerciseConn* conn,
00042       const char* name = 0,
00043       const DtDDMRegionSet* regionSetToUse = 0);
00044 
00046    DtEmitterSystemPublisher(
00047       DtExerciseConn* conn,
00048       const char* name = 0,
00049       const DtDDMRegionSet* regionSetToUse = 0);
00050 
00056    DtEmitterSystemPublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn);
00057    
00059    virtual ~DtEmitterSystemPublisher();
00060 
00061 private:
00063    DtEmitterSystemPublisher(const DtEmitterSystemPublisher& orig);
00064 
00066    DtEmitterSystemPublisher& operator=
00067       (const DtEmitterSystemPublisher& orig);
00068 
00069 public:
00070 
00073    virtual DtEmitterSystemRepository* emitterSystemRep();
00074 
00076    virtual DtEmitterSystemRepository* esr();
00077 
00080    virtual const char* classToUse() const;
00081 
00083    virtual void tick();
00084 
00088    virtual void forceUpdate();
00089 
00093    virtual void forceUpdate(const RTI::AttributeHandleSet& set);
00094 
00095 public:
00096 
00098    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00099    
00100 protected:
00101 
00102 
00106    virtual void syncBeamList();
00107 
00110    virtual DtEmitterBeamPublisher* publisherForBsr(
00111       DtEmitterBeamRepository* bsr);
00112 
00114    virtual int numBeams() const;
00115 
00116 protected:
00117 
00119    DtList myBeamPubs;
00120    bool myTickedFirstTime;
00121 
00122 protected:
00123 
00124    static DtStateRepCreator theStateRepCreator;
00125 };
00126 
00127 inline DtEmitterSystemRepository* DtEmitterSystemPublisher::emitterSystemRep()
00128 {
00129    return (DtEmitterSystemRepository*) myStateRep;
00130 }
00131 
00132 inline DtEmitterSystemRepository* DtEmitterSystemPublisher::esr()
00133 {
00134    return (DtEmitterSystemRepository*) myStateRep;
00135 }
00136 
00137 #endif   
00138 

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)