![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtIntervisibilityLineVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvCore/DtSceneObjectVisualizer.h> 00016 00017 class DtVector; 00018 00019 namespace makVrv 00020 { 00021 class DtIntervisibilityEntityFanStateListener; 00022 class DtMultiLineModelAgent; 00023 class DtShapeModelAgent; 00024 class DtIntervisibilityLineVisualizer; 00025 class DtAttachableEntityFanUpdater; 00026 00030 class DT_DLL_VRVCORE DtIntervisibilityEntityFanVisualizer : public DtSceneObjectVisualizer 00031 { 00032 public: 00034 DtIntervisibilityEntityFanVisualizer(DtBaseConnection& simulation, DtStateListener& listener, 00035 int modelSet); 00036 00038 virtual ~DtIntervisibilityEntityFanVisualizer(); 00039 00041 virtual void setVisibleColor(float r, float g, float b, float a); 00042 void visibleColor(float& r, float& g, float& b, float& a) const; 00043 00045 virtual void setBlockedColor(float r, float g, float b, float a); 00046 void blockedColor(float& r, float& g, float& b, float& a) const; 00047 00049 virtual void setCircleColor(float r, float g, float b, float a) = 0; 00050 00052 virtual void setStartPoint(const DtVector&); 00053 00055 virtual void setEndPoint(const DtVector&); 00056 00058 virtual void setStartAttachPoint(DtElementID); 00059 00061 virtual void setStartPointOffset(const DtVector&); 00062 00064 virtual void setEndAttachPoint(DtElementID); 00065 00067 virtual void setEndPointOffset(const DtVector&); 00068 00069 virtual void setSelected( bool b ); 00070 00071 virtual void setEntityFanUpdateRate(double d); 00072 00073 protected: 00074 virtual void createModelAgents(); 00075 virtual void destroyModelAgents(); 00076 virtual void setModelDefinitionForAgents(); 00077 virtual void resetSpatial(); 00078 00079 virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef ); 00080 virtual void setFixedDistance(bool b); 00081 00083 virtual void createCircle() = 0; 00084 00086 virtual void selectCircle(bool) = 0; 00087 00088 protected: 00089 DtIntervisibilityEntityFanStateListener& myEntityFanListener; 00090 DtMultiLineModelAgent* myMultiLineModelAgent; 00091 DtAttachableEntityFanUpdater* myAttachableUpdater; 00092 double myEntityFanUpdateRate; 00093 }; 00094 } 00095