![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrlink3DRemoteGraphicStateVisualizer.h,v $ $Revision: 1.43 $ $SceneObject: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/DtCuboidStateVisualizer.h> 00016 #include <vrvCore/DtEllipsoidStateVisualizer.h> 00017 #include <vrvCore/Dt3DTextStateVisualizer.h> 00018 #include <vrvCore/Dt3DLineStateVisualizer.h> 00019 #include <vrvCore/DtCylinderStateVisualizer.h> 00020 #include <vrvCore/DtAttributeGroupStateVisualizer.h> 00021 #include <vrvUtil/DtSignalConnectionManager.h> 00022 #include <vrvUtil/templateUtil.h> 00023 #include <vrvVrl/DtVrlinkRemoteGraphicStateVisualizer.h> 00024 00025 #include <boost/unordered_map.hpp> 00026 00027 namespace makVrv 00028 { 00029 namespace DT_PROTOCOL_NAMESPACE 00030 { 00031 template <typename BaseClass> 00032 class DL_DLL_IGCONVRLINK DtVrlink3DRemoteGraphicStateVisualizer : 00033 public DtVrlinkRemoteGraphicStateVisualizer<BaseClass> 00034 { 00035 public: 00036 DtVrlink3DRemoteGraphicStateVisualizer(DtBaseConnection& simulation, DtStateListener& listener, int modelSet); 00037 00038 virtual ~DtVrlink3DRemoteGraphicStateVisualizer(); 00039 00040 public: 00041 virtual void setHostId(const std::string& id, int vtx, double percentage); 00042 00043 protected: 00044 void slot_entityCreated(DtVrlinkEntityStateListener& esl, int vtx, double percentage); 00045 void slot_environmentalCreated(DtVrlinkEnvironmentalStateListenerInterface& esl, int vtx, double percentage); 00046 00047 protected: 00048 typedef boost::unordered_map<int, DtGlobalObjectDesignator> VertexToIdMap; 00049 VertexToIdMap myHostIds; 00050 }; 00051 } 00052 } 00053 00054 #include <vrvVrl/DtVrlink3DRemoteGraphicStateVisualizer.inl> 00055 00056 namespace makVrv 00057 { 00058 namespace DT_PROTOCOL_NAMESPACE 00059 { 00060 EXPORT_TEMPLATE_TYPEDEF(DtVrlink3DRemoteGraphicStateVisualizer<DtCuboidStateVisualizer>, DtVrlinkCuboidStateVisualizer) 00061 typedef DtStateVisualizerCreatorTemplate<DtVrlinkCuboidStateVisualizer> DtVrlinkCuboidStateVisualizerCreator; 00062 00063 EXPORT_TEMPLATE_TYPEDEF(DtVrlink3DRemoteGraphicStateVisualizer<DtEllipsoidStateVisualizer>, DtVrlinkEllipsoidStateVisualizer) 00064 typedef DtStateVisualizerCreatorTemplate<DtVrlinkEllipsoidStateVisualizer> DtVrlinkEllipsoidStateVisualizerCreator; 00065 00066 EXPORT_TEMPLATE_TYPEDEF(DtVrlink3DRemoteGraphicStateVisualizer<Dt3DTextStateVisualizer>, DtVrlink3DTextStateVisualizer) 00067 typedef DtStateVisualizerCreatorTemplate<DtVrlink3DTextStateVisualizer> DtVrlink3DTextStateVisualizerCreator; 00068 00069 EXPORT_TEMPLATE_TYPEDEF(DtVrlink3DRemoteGraphicStateVisualizer<Dt3DLineStateVisualizer>, DtVrlink3DLineStateVisualizer) 00070 typedef DtStateVisualizerCreatorTemplate<DtVrlink3DLineStateVisualizer> DtVrlink3DLineStateVisualizerCreator; 00071 00072 EXPORT_TEMPLATE_TYPEDEF(DtVrlink3DRemoteGraphicStateVisualizer<DtCylinderStateVisualizer>, DtVrlinkCylinderStateVisualizer) 00073 typedef DtStateVisualizerCreatorTemplate<DtVrlinkCylinderStateVisualizer> DtVrlinkCylinderStateVisualizerCreator; 00074 } 00075 } 00076