VR-Link API Documentation for DIS
hReflEmitrSys.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #ifndef DtReflectedEmitterSystem_H_
00008 #define DtReflectedEmitterSystem_H_
00009 
00010 #if DtHLA 
00011 
00012 #include "emitterSysSR.h"
00013 #include "hReflectedObj.h"
00014 
00019 
00022 class DT_DLL_VL DtReflectedEmitterSystem;
00023 typedef void (*DtEmitterSystemCallbackFunction)(
00024    DtReflectedEmitterSystem* obj, void* userData);
00025 
00031 
00032 class DT_DLL_VL DtReflectedEmitterSystem : public DtReflectedObject
00033 {
00034 public:
00035 
00037    typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
00038 
00039 public:
00040 
00044    DtReflectedEmitterSystem(DtHlaObject* obj,
00045       DtExerciseConn* conn, bool beamsUpdateSystem);
00046 
00049    DtReflectedEmitterSystem(const DtObjectId& id, 
00050       const DtGlobalObjectDesignator& des, 
00051       DtExerciseConn* conn, bool beamsUpdateSystem);
00052 
00054    virtual ~DtReflectedEmitterSystem();
00055 
00057    virtual DtEmitterSystemRepository* emitterSysRep() const;
00058 
00060    virtual DtEmitterSystemRepository* esr() const;
00061 
00063    virtual DtReflectedEmitterSystem* next() const;
00064 
00066    virtual DtReflectedEmitterSystem* prev() const;
00067 
00070    virtual DtReflectedEmitterSystem* wrapNext() const;
00071 
00074    virtual DtReflectedEmitterSystem* wrapPrev() const;
00075 
00077    virtual void addPostUpdateCallback(
00078       DtEmitterSystemCallbackFunction cb, void* userData);
00079 
00080    virtual void removePostUpdateCallback(
00081       DtEmitterSystemCallbackFunction cb, void* userData);
00082 
00084    virtual void beamUpdated();
00085 
00086 public:
00087 
00089    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00090 
00091 protected:
00092 
00094    DtReflectedEmitterSystem(const DtReflectedEmitterSystem& orig);
00095 
00097    DtReflectedEmitterSystem& operator=(
00098       const DtReflectedEmitterSystem& orig);
00099 
00100 protected:
00101 
00102    static DtStateRepCreator theStateRepCreator;
00103 
00104 protected:
00105 
00106    bool myBeamsUpdateSystem;
00107 };
00108 
00109 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::emitterSysRep() const
00110 {
00111    return (DtEmitterSystemRepository*) myStateRep;
00112 }
00113 
00114 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::esr() const
00115 {
00116    return (DtEmitterSystemRepository*) myStateRep;
00117 }
00118 
00119 #endif //! DtHLA
00120 #endif //! DtReflectedEmitterSystem_H_
00121 

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)