VR-Link API Documentation for HLA 1516
hlaObjFact.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00009 #ifndef DtHlaObjectFactory_H_
00010 #define DtHlaObjectFactory_H_
00011 
00012 #if DtHLA 
00013 
00014 
00015 #include "hlaObj.h"
00016 #include <map>
00017 
00020 class DT_DLL_VL DtHlaObjectFactory
00021 {
00022 public:
00023 
00025    typedef DtHlaObject* (*DtHlaObjectCreator) (DtExerciseConn* conn, 
00026 #if DtHLA_1516
00027       RTI::ObjectInstanceHandle id, 
00028 #else
00029       RTI::ObjectHandle id, 
00030 #endif
00031       const char* name, DtObjClassDesc& cDesc, bool reflecting);
00032 
00033 public:
00034 
00036    DtHlaObjectFactory(DtExerciseConn* conn);
00037 
00039    virtual ~DtHlaObjectFactory();
00040 
00041 private:
00042 
00044    DtHlaObjectFactory(const DtHlaObjectFactory& orig);
00045 
00047    DtHlaObjectFactory& operator=(const DtHlaObjectFactory& orig);
00048 
00049 public:
00050 
00054    virtual DtHlaObject* createHlaObject(
00055       RTI::ObjectClassHandle handle,
00056 #if DtHLA_1516
00057       RTI::ObjectInstanceHandle id, 
00058 #else
00059       RTI::ObjectHandle id, 
00060 #endif
00061       const char* name,
00062       bool reflecting);
00068    virtual DtHlaObjectCreator addCreator(RTI::ObjectClassHandle handle,
00069       DtHlaObjectCreator creator);
00070 
00072    virtual DtHlaObjectCreator creator(RTI::ObjectClassHandle handle);
00073 
00074 protected:
00075 
00077    typedef std::map<RTI::ObjectClassHandle, DtHlaObjectCreator> ObjClassHandleToCreatorMap;
00078    ObjClassHandleToCreatorMap myCreators;
00079 
00080    DtExerciseConn* myConn;
00081 };
00082 
00083 #endif
00084 #endif
00085 

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)