VR-Link API Documentation for DIS
hReflBeam.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #if DtHLA 
00008 
00009 #ifndef DtReflectedEmitterBeam_H_
00010 #define DtReflectedEmitterBeam_H_
00011 
00012 #include "emittrBeamSR.h"
00013 #include "hReflectedObj.h"
00014 
00019 
00022 class DT_DLL_VL DtReflectedEmitterBeam;
00023 typedef void (*DtEmitterBeamCallbackFunction)(
00024    DtReflectedEmitterBeam* obj, void* userData);
00025 
00031 
00032 class DT_DLL_VL DtReflectedEmitterBeam : public DtReflectedObject
00033 {
00034 public:
00035 
00037    typedef DtEmitterBeamRepository* (*DtStateRepCreator)();
00038 
00039 public:
00040 
00042    DtReflectedEmitterBeam(DtHlaObject* obj, DtExerciseConn* conn);
00043 
00045    virtual ~DtReflectedEmitterBeam();
00046 
00048    virtual DtEmitterBeamRepository* beamRep() const;
00049 
00051    virtual DtEmitterBeamRepository* bsr() const;
00052 
00055    virtual void setBsr(DtEmitterBeamRepository* bsr);
00056 
00058    virtual DtReflectedEmitterBeam* next() const;
00059 
00061    virtual DtReflectedEmitterBeam* prev() const;
00062 
00065    virtual DtReflectedEmitterBeam* wrapNext() const;
00066 
00069    virtual DtReflectedEmitterBeam* wrapPrev() const;
00070 
00072    virtual void addPostUpdateCallback(
00073       DtEmitterBeamCallbackFunction cb, void* userData);
00074 
00075    virtual void removePostUpdateCallback(
00076       DtEmitterBeamCallbackFunction cb, void* userData);
00077 
00078 public:
00079 
00081    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00082 
00083 protected:
00084 
00086    DtReflectedEmitterBeam(const DtReflectedEmitterBeam& orig);
00087 
00089    DtReflectedEmitterBeam& operator=(
00090       const DtReflectedEmitterBeam& orig);
00091 
00092 protected:
00093 
00094    DtEmitterBeamRepository* myConstructedBsr;
00095 
00096 protected:
00097 
00098    static DtStateRepCreator theStateRepCreator;
00099 };
00100 
00101 inline DtEmitterBeamRepository* 
00102    DtReflectedEmitterBeam::beamRep() const
00103 { 
00104    return (DtEmitterBeamRepository*) myStateRep;
00105 }
00106 
00107 inline DtEmitterBeamRepository* DtReflectedEmitterBeam::bsr() const
00108 {
00109    return (DtEmitterBeamRepository*) myStateRep;
00110 }
00111 
00112 #endif   //DtReflectedEmitterBeam_H_
00113 #endif   //DtHLA
00114 

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)