![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2012 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtEntityExtentVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 00014 #include <vrfGuiCore/vrfGuiCore.h> 00015 #include <vrvCore/DtStateVisualizer.h> 00016 #include <vrvCore/DtSceneObjectAgent.hpp> 00017 #include <matrix/vlVector.h> 00018 #include <vrvCore/DtShowHideContext.h> 00019 00020 const makVrv::DtShowHideContext::ShowHideContext EntityExtentsHidden = (makVrv::DtShowHideContext::ShowHideContext)(makVrv::DtShowHideContext::UserBase + 10); 00021 const makVrv::DtShowHideContext::ShowHideContext EntityExtentHiddenBySelection = (makVrv::DtShowHideContext::ShowHideContext)(makVrv::DtShowHideContext::UserBase + 11); 00022 00023 namespace makVrv 00024 { 00025 class DtModelAgent; 00026 class DtAttachableUpdaterAgent; 00027 } 00028 00029 namespace makVrf 00030 { 00033 class DT_DLL_VRFGUICORE DtEntityExtentVisualizer : public makVrv::DtStateVisualizer 00034 { 00035 public: 00037 DtEntityExtentVisualizer(makVrv::DtBaseConnection& simulation, makVrv::DtStateListener& listener, 00038 int modelSet); 00039 00041 virtual ~DtEntityExtentVisualizer(); 00042 00044 virtual void setDimensions(const DtVector& dim); 00045 00048 virtual void setOffset(const DtVector& offset); 00049 00051 virtual void setColor(float r,float g,float b,float a); 00052 00054 virtual void setShowExtents(bool); 00055 00057 virtual void setShowOnlyIfSelected(bool); 00058 bool showOnlyIfSelected() const 00059 { 00060 return myShowOnlyIfSelected; 00061 } 00062 00063 virtual void setVisible(bool yesNo); 00064 00066 virtual void setSelected(bool); 00067 00068 virtual void setLockUpdates(bool b); 00069 bool updatesLocked() const; 00070 00071 protected: 00072 virtual void createModelAgents(); 00073 00074 virtual void destroyModelAgents(); 00075 00076 virtual void setModelDefinitionForAgents(); 00077 00079 virtual makVrv::DtModelAgent* createExtentModelAgent() = 0; 00080 00081 protected: 00082 makVrv::DtModelAgent* myEntityExtentModelAgent; 00083 makVrv::DtAttachableUpdaterAgent* myUpdater; 00084 makVrv::DtSceneObjectAgent* myExtentVisualizerAgent; 00085 float myColor[4]; 00086 DtVector myDimensions; 00087 DtVector myOffset; 00088 bool myShowOnlyIfSelected; 00089 00090 bool myLockUpdates; 00091 }; 00092 } 00093