![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtCigiEntityVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00008 00012 00013 #ifndef DtCigiEntityVisualizer_H_ 00014 #define DtCigiEntityVisualizer_H_ 00015 00016 #include <vrvCigi/vrvCigi.h> 00017 00018 #include <vrvCore/DtSharedSettingsManager.h> 00019 #include <vrvCore/DtUniqueID.h> 00020 00021 #include <matrix/vlTaitBryan.h> 00022 #include <matrix/vlVector.h> 00023 00024 #include <CigiShortArtPartCtrlV3.h> 00025 00026 #include <map> 00027 00028 class CigiArtPartCtrlV3; 00029 class CigiCompCtrlV3_3; 00030 class CigiEntityCtrlV3_3; 00031 class CigiRateCtrlV3_2; 00032 class CigiShortCompCtrlV3_3; 00033 00034 namespace makVrv 00035 { 00036 class DtAgentManagerInterface; 00037 class DtCigiBaseEntity; 00038 class DtCigiConnection; 00039 class DtCigiEntity; 00040 00044 class DT_DLL_VRVCIGI DtCigiEntityVisualizer 00045 { 00046 public: 00048 DtCigiEntityVisualizer(DtCigiConnection& connection, 00049 DtAgentManagerInterface& aSceneInterface); 00050 00052 virtual ~DtCigiEntityVisualizer(); 00053 00056 virtual DtUniqueID uniqueIdForCigiEntity(int cigiEntId) const; 00057 00060 virtual const DtCigiBaseEntity* cigiEntity(int entityId) const; 00061 00064 virtual int findEntityWithUniqueId(DtUniqueID idToFind) const; 00065 00066 protected: 00068 virtual void processEntityControl(const CigiEntityCtrlV3_3& packet); 00069 00070 // Process a CIGI Rate Control packet 00071 virtual void processRateControl(const CigiRateCtrlV3_2& packet); 00072 00074 virtual void processArtPartControl(const CigiArtPartCtrlV3& packet); 00075 00077 virtual void processShortArtPartControl(const CigiShortArtPartCtrlV3& packet); 00078 00081 virtual void processComponentControl(CigiCompCtrlV3_3& packet); 00082 00085 virtual void processShortComponentControl(CigiShortCompCtrlV3_3& packet); 00086 00090 virtual void setTspiFromPacket( 00091 const CigiEntityCtrlV3_3& packet, DtCigiBaseEntity* entity); 00092 00095 virtual DtCigiBaseEntity* createNewEntity( 00096 int entityId, int entityType); 00097 00099 virtual void removeEntity(int entityId); 00100 00103 virtual void setArtPartWithDof(int partId, float val, 00104 CigiBaseShortArtPartCtrl::DofSelectGrp selection, 00105 DtCigiEntity* entity); 00106 00108 virtual void setAnimationState(const CigiEntityCtrlV3_3& packet, 00109 DtCigiBaseEntity* entity); 00110 00111 protected: 00112 DtCigiEntityVisualizer(const DtCigiEntityVisualizer& orig); 00113 DtCigiEntityVisualizer& operator=(const DtCigiEntityVisualizer& orig); 00114 00115 00116 protected: 00117 typedef std::map<int, DtCigiBaseEntity*> IdToEntityMap; 00118 00119 std::map<int, DtCigiBaseEntity*> myIdToEntityMap; 00120 DtAgentManagerInterface& mySceneInterface; 00121 DtCigiConnection& myConnection; 00122 }; 00123 } 00124 00125 #endif