VR-Link API Documentation for HLA 1.3
hReflEntList.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef hReflEntList_H_
00007 #define hReflEntList_H_
00008 
00009 #if DtHLA 
00010 
00011 #include "hRefObjList.h"
00012 #include "hReflectedEnt.h"
00013 #include "region.h"
00014 
00015 #include <matrix/geodCoord.h>
00016 #include <vector>
00017 class DtGeodeticRegion;
00018 
00023 
00038 class DT_DLL_VL DtReflectedEntityList : public DtReflectedObjectList
00039 {
00040 public:
00041 
00042 
00048    DtReflectedEntityList(
00049       DtExerciseConn* exConn, 
00050       bool smoothCapable = false,
00051       const DtDDMRegionSet* regionSetToUse = 0 );
00052 
00053    DtReflectedEntityList(
00054       DtExerciseConn* exConn,      
00055       const DtString& updateRateTag,
00056       bool smoothCapable = false,
00057       const DtDDMRegionSet* regionSetToUse = 0 );
00058 
00066 
00067    DtReflectedEntityList(
00068       DtExerciseConn* exConn, 
00069       const DtList *handleList,
00070       bool smoothCapable = false,
00071       const DtDDMRegionSet* regionSetToUse = 0 );
00072 
00073    DtReflectedEntityList(
00074       DtExerciseConn* exConn,
00075       const DtList *handleList,
00076       const DtString& updateRateTag,
00077       bool smoothCapable = false,
00078       const DtDDMRegionSet* regionSetToUse = 0 );
00079 
00081    virtual ~DtReflectedEntityList();
00082 
00083 private:
00084 
00086    DtReflectedEntityList(const DtReflectedEntityList& orig);
00087 
00089    DtReflectedEntityList& operator=(const DtReflectedEntityList& orig);
00090 
00091 public:
00092 
00095    virtual DtReflectedEntity* lookup(
00096 #if DtHLA_1516
00097       RTI::ObjectInstanceHandle id);
00098 #else
00099       RTI::ObjectHandle id);
00100 #endif
00101 
00104    virtual DtReflectedEntity* lookup(const DtGlobalObjectDesignator& objName);
00105 
00108    virtual DtReflectedEntity* lookup(const DtEntityIdentifier& entityId);
00109 
00113    virtual DtReflectedEntity* first() const;
00114 
00118    virtual DtReflectedEntity* last() const;
00119 
00123    virtual void addToObjectList(DtReflectedObject* refObj);
00124 
00128    virtual void addToEntityIdentifierHashList(DtReflectedEntity* ent);
00129 
00133    virtual void addEntityAdditionCallback(
00134       DtEntityCallbackFunction cb, void* userData);
00135 
00139    virtual void removeEntityAdditionCallback(
00140       DtEntityCallbackFunction cb, void* userData);
00141 
00145    virtual void addEntityRemovalCallback(
00146       DtEntityCallbackFunction cb, void* userData);
00147 
00151    virtual void removeEntityRemovalCallback(
00152       DtEntityCallbackFunction cb, void* userData);
00153 
00159    virtual void discoverOnlyWhenEntityTypeKnown(bool yesNo);
00160 
00161 
00162 protected:
00163 
00166    virtual const DtList* dfltHandleList();
00167 
00170    virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const;
00171 
00174    virtual DtReflectedEntity* newReflectedEntity(DtHlaObject* obj) const;
00175 
00178    virtual void removeAndDelete(DtReflectedObject* object, char* msg);
00179 
00183    virtual void removeAndDelete(DtReflectedEntity* entity, char* msg = NULL);
00184 
00187    virtual void objectAdded(DtReflectedObject* obj);
00188 
00193    virtual void entityAdded(DtReflectedEntity* ent);
00194 
00195 protected:
00196 
00200    static bool checkEntityType(DtReflectedObject* obj, void* usr);
00201 
00206    static void checkEntityId(DtReflectedEntity* ent, void* usr);
00207 
00208 protected:
00209 
00211    bool mySmoothCapable;
00212 
00214    DtHashlist myEntityIdentifierHashlist;
00215 };
00216 
00217 #endif
00218 #endif
00219 

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)