VR-Link API Documentation for HLA 1.3
hArealObjPub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 * hArealObjPub.h
00007 *********************************************************************/
00008 
00009 #if DtHLA 
00010 
00011 #ifndef hArealObjPub_H_
00012 #define hArealObjPub_H_
00013 
00014 #include "hObjPub.h"
00015 #include "objectType.h"
00016 
00020 
00021 class DT_DLL_VL DtArealObjectRepository;
00022 
00023 
00033 class DT_DLL_VL DtArealObjectPublisher : public DtObjectPublisher
00034 {
00035 public:
00036 
00039    typedef DtArealObjectRepository* (*DtStateRepCreator)();
00040 
00041 public:
00042 
00044    DtArealObjectPublisher(
00045       DtArealObjectRepository *stateRepToUse,
00046       DtExerciseConn* conn, 
00047       const char* name = 0,
00048       const DtDDMRegionSet* regionSetToUse = 0);      
00049 
00051    DtArealObjectPublisher(
00052       RTI::ObjectClassHandle h,
00053       DtExerciseConn* conn, 
00054       const char* name = 0,
00055       const DtDDMRegionSet* regionSetToUse = 0);      
00056    
00058    DtArealObjectPublisher(
00059       const DtSyntheticEnvironmentObjectType& type,
00060       DtExerciseConn* conn, 
00061       const char* name = 0,
00062       const DtDDMRegionSet* regionSetToUse = 0);
00063       
00065    virtual ~DtArealObjectPublisher();
00066 
00069    virtual DtArealObjectRepository* arealObjectStateRep();
00070 
00072    virtual DtArealObjectRepository* aosr();
00073 
00074 public:
00075 
00077    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00078    
00079 protected:
00080 
00082    DtArealObjectPublisher(const DtArealObjectPublisher& orig);
00083 
00085    DtArealObjectPublisher& operator= 
00086       (const DtArealObjectPublisher& orig);
00087 
00088    //Non-virtual method called from constructor.
00089    const char* objectClassNameFromType
00090       (const DtSyntheticEnvironmentObjectType& type); 
00091 
00092 protected:
00093 
00094    static DtStateRepCreator theStateRepCreator;
00095 };
00096 
00097 inline DtArealObjectRepository* 
00098    DtArealObjectPublisher::arealObjectStateRep()
00099 {
00100    return (DtArealObjectRepository*) myStateRep;
00101 }
00102 
00103 inline DtArealObjectRepository* DtArealObjectPublisher::aosr()
00104 {
00105    return (DtArealObjectRepository*) myStateRep;
00106 }
00107 
00108 #endif   //hArealObjPub_H_
00109 #endif   //DtHLA
00110 

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)