![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtOsgWidgetUpdater_H_ 00014 #define DtOsgWidgetUpdater_H_ 00015 00016 #include <vrvOsg/vrvOsg.h> 00017 #include <vrvCore/DtModelInstance.h> 00018 #include <vector> 00019 00020 namespace osg 00021 { 00022 class Vec3d; 00023 } 00024 00025 namespace makVrv 00026 { 00027 00028 class DtWidget; 00029 class DtOsgWidget; 00030 class DtOverlayRenderer; 00031 00034 class DT_DLL_VRVOSG DtOsgWidgetUpdater : public DtModelInstance 00035 { 00036 public: 00037 00038 typedef std::vector<DtWidget*> WidgetList; 00039 00041 DtOsgWidgetUpdater(DtDe& de); 00042 00044 virtual void setVisible(bool isVisible); 00045 00047 virtual void setVisibleViaSwitch(bool isVisible); 00048 00051 void addWidget(DtWidget* widget); 00052 00056 void removeWidget(DtWidget* widget); 00057 00059 WidgetList& widgets(); 00060 00061 void update(const osg::Vec3d& worldPosition); 00062 void updateGeocentric(const osg::Vec3d& worldPosition); 00063 00064 protected: 00065 00066 std::vector<DtWidget*> myWidgets; 00067 }; 00068 00069 } 00070 00071 #endif 00072