![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /***************************************************************************** 00006 * $RCSfile: DtAttachableRangeTextUpdater.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 00017 #include <vrvCore/DtAttachableUpdater.h> 00018 00019 #include <vrvCore/DtUniqueID.h> 00020 00021 #include <matrix/vlVector.h> 00022 00023 namespace makVrv 00024 { 00025 class DtDe; 00026 class DtWidgetLabel; 00027 } 00028 00029 namespace exampleRangeLine 00030 { 00031 00035 class DtAttachableRangeTextUpdater : public makVrv::DtAttachableUpdater 00036 { 00037 protected: 00038 00041 struct RangePointInformation 00042 { 00043 makVrv::DtUniqueID id; 00044 makVrv::DtSceneObject* sceneObject; 00045 makVrv::DtUpdater* updater; 00046 DtVector position; 00047 }; 00048 00049 public: 00050 00052 DtAttachableRangeTextUpdater( makVrv::DtDe& de, makVrv::DtUniqueID id ); 00053 00055 virtual ~DtAttachableRangeTextUpdater(); 00056 00058 virtual void update( double simTime ); 00059 00060 public: 00062 virtual void setRangeFrom( makVrv::DtUniqueID fromID ); 00063 00065 virtual void setRangeFrom( const DtVector& fromPoint ); 00066 00068 virtual void setRangeTo( makVrv::DtUniqueID toID ); 00069 00071 virtual void setRangeTo( const DtVector& toPoint ); 00072 00073 virtual void updateWidgetLabel( makVrv::DtWidgetLabel* widgetLabel, double distanceInMeters ); 00074 00076 virtual DtVector position( const RangePointInformation&, double simTime ) const; 00077 00078 protected: 00079 virtual void cleanup( RangePointInformation&, bool isFrom ); 00080 00081 virtual void slot_attachedUpdaterToBeDeleted( const makVrv::DtUniqueID& id, bool isFrom ); 00082 virtual void slot_attachedSceneObjectToBeDeleted( const makVrv::DtUniqueID& id, bool isFrom ); 00083 00084 protected: 00085 00086 RangePointInformation myRangeFrom; 00087 RangePointInformation myRangeTo; 00088 00089 }; 00090 00091 }