![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtBlinkingObjectManager.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 00017 #include <list> 00018 #include <boost/signals.hpp> 00019 00020 class DtVector; 00021 00022 namespace makVrv 00023 { 00024 class DtSetVisibilityInterface; 00025 00029 class DT_DLL_VRVCORE DtBlinkingObjectManager 00030 { 00031 public: 00032 00034 DtBlinkingObjectManager( double currentTime); 00035 00037 virtual ~DtBlinkingObjectManager(); 00038 00042 virtual void startBlinking(DtSetVisibilityInterface* blinkTarget, double interval = 0.3); 00043 00047 virtual void stopBlinking(DtSetVisibilityInterface* blinkTarget); 00048 00050 virtual void tick(double currentTime); 00051 00052 protected: 00053 struct BlinkTargetParameters 00054 { 00055 DtSetVisibilityInterface* blinkTarget; 00056 double blinkInterval; 00057 double lastBlink; 00058 bool lastVisibilitySetting; 00059 }; 00060 00061 typedef std::list<BlinkTargetParameters> BlinkTargetCollection; 00062 00063 BlinkTargetCollection myBlinkTargets; 00064 double myLastTime; 00065 }; 00066 }