VR-Link API Documentation for HLA 1516
hReflectedEnt.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 hReflectedEnt_H_
00008 #define hReflectedEnt_H_
00009 
00010 #if DtHLA 
00011 
00012 #include "entitySR.h"
00013 #include "hReflectedObj.h"
00014 
00019 
00020 class DT_DLL_VL DtReflectedEntity;
00021 
00023 typedef void (*DtEntityCallbackFunction)(
00024    DtReflectedEntity* obj, void* userData);
00025 
00029 class DT_DLL_VL DtReflectedEntity : public DtReflectedObject
00030 {
00031 public:
00032 
00034    typedef DtEntityStateRepository* (*DtStateRepCreator)();
00035 
00036 public:
00037 
00039    DtReflectedEntity(DtHlaObject* obj, DtExerciseConn* conn);
00040 
00044    DtReflectedEntity(DtExerciseConn* conn, DtEntityStateRepository* esrToUse);
00045 
00047    DtReflectedEntity(DtHlaObject* obj, DtExerciseConn* conn, 
00048       DtBaseStateRepCreator esrToUse);
00049 
00051    virtual ~DtReflectedEntity();
00052 
00055    virtual DtEntityStateRepository* entityStateRep() const;
00056 
00058    virtual DtEntityStateRepository* esr() const;
00059 
00061    virtual DtReflectedEntity* next() const;
00062 
00064    virtual DtReflectedEntity* prev() const;
00065 
00068    virtual DtReflectedEntity* wrapNext() const;
00069 
00072    virtual DtReflectedEntity* wrapPrev() const;
00073 
00075    virtual void addPostUpdateCallback(
00076       DtEntityCallbackFunction cb, void* userData);
00077    virtual void removePostUpdateCallback(
00078       DtEntityCallbackFunction cb, void* userData);
00079 
00080 public:
00081 
00083    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00084 
00085 public:
00086 
00088    typedef DtStateRepCreator DtEsrCreator;
00089 
00091 #if DtHLA_1516
00092    virtual RTI::ObjectInstanceHandle entityObjectId() const;
00093 #else
00094    virtual RTI::ObjectHandle entityObjectId() const;
00095 #endif
00096 
00099    static DtEsrCreator setEsrCreator(DtEsrCreator creator);
00100 
00101 protected:
00102 
00104    DtReflectedEntity(const DtReflectedEntity& orig);
00105 
00107    DtReflectedEntity& operator=(const DtReflectedEntity& orig);
00108 
00109 protected:
00110 
00111    static DtStateRepCreator theStateRepCreator;
00112 };
00113 
00114 inline DtEntityStateRepository* DtReflectedEntity::entityStateRep() const
00115 {
00116    return (DtEntityStateRepository*) myStateRep;
00117 }
00118 
00119 inline DtEntityStateRepository* DtReflectedEntity::esr() const
00120 {
00121    return (DtEntityStateRepository*) myStateRep;
00122 }
00123 
00124 #endif  //! DtHLA
00125 #endif  //! DtReflectedEntity_H_
00126 

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)