![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00008 00009 #pragma once 00010 00011 #include <vrvCore/vrvCore.h> 00012 #include <vrvCore/DtSceneObjectVisualizer.h> 00013 00014 #include <matrix/vlVector.h> 00015 00016 namespace makVrv 00017 { 00018 class DtIntervisibilityFanStateListener; 00019 class DtMultiLineModelAgent; 00020 class DtShapeModelAgent; 00021 class DtIntervisibilityLineVisualizer; 00022 class DtAttachableFanUpdaterAgent; 00023 00027 class DT_DLL_VRVCORE DtIntervisibilityFanVisualizer : public DtSceneObjectVisualizer 00028 { 00029 public: 00031 DtIntervisibilityFanVisualizer(DtBaseConnection& simulation, DtStateListener& listener, 00032 int modelSet); 00033 00035 virtual ~DtIntervisibilityFanVisualizer(); 00036 00038 virtual void setVisibleColor(float r, float g, float b, float a); 00039 void visibleColor(float& r, float& g, float& b, float& a) const; 00040 00042 virtual void setBlockedColor(float r, float g, float b, float a); 00043 void blockedColor(float& r, float& g, float& b, float& a) const; 00044 00046 virtual void setCircleColor(float r, float g, float b, float a) = 0; 00047 00049 virtual void setStartPoint(const DtVector&); 00050 00052 virtual void setEndPoint(const DtVector&); 00053 00055 virtual void setStartAttachPoint(DtElementID); 00056 00058 virtual void setStartPointOffset(const DtVector&); 00059 00061 virtual void setEndAttachPoint(DtElementID); 00062 00064 virtual void setEndPointOffset(const DtVector&); 00065 00066 virtual void setSelected( bool b ); 00067 00069 virtual void setFanModeSamplingRate(double d); 00070 00073 virtual void setStartPointOffsetFromCenter(const DtVector&); 00074 00075 protected: 00076 virtual void createModelAgents(); 00077 virtual void destroyModelAgents(); 00078 virtual void setModelDefinitionForAgents(); 00079 virtual void resetSpatial(); 00080 00082 virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef ); 00083 virtual void setFixedDistance(bool b); 00084 00086 virtual void createCircle() = 0; 00087 00089 virtual void selectCircle(bool) = 0; 00090 00091 protected: 00092 00093 DtMultiLineModelAgent* myMultiLineModelAgent; 00094 DtIntervisibilityFanStateListener& myFanListener; 00095 DtAttachableFanUpdaterAgent* myAttachableUpdaterAgent; 00096 DtVector myStartPointOffsetFromCenter; 00097 }; 00098 } 00099