![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: Dt2DLineStateVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 #include <vrvCore/DtStateVisualizer.h> 00014 #include <vrvCore/DtRemoteGraphicVisualizerAttributes.h> 00015 #include <vrvCore/DtWindowLineAgent.hpp> 00016 #include <vrvCore/DtVisibilityAdapter.h> 00017 00018 namespace makVrv 00019 { 00022 class DT_DLL_VRVCORE Dt2DLineStateVisualizer : public DtStateVisualizer, 00023 public DtRemoteGraphicVisualizerAttributes 00024 { 00025 public: 00027 Dt2DLineStateVisualizer(DtBaseConnection& simulation, 00028 DtStateListener& listener, int modelSet); 00029 00031 virtual ~Dt2DLineStateVisualizer(); 00032 00034 virtual void setNumSegments(unsigned int numSegments); 00035 00038 virtual void setSegmentPercentage(unsigned int segmentIndex, 00039 double percentage); 00040 00044 virtual void setSegmentStyle(unsigned int segmentIndex, int lineStyle); 00045 00049 virtual void setSegmentArrowStyle(unsigned int segmentIndex, 00050 int arrowStyle); 00051 00053 virtual void setSegmentWidth(unsigned int segmentIndex, 00054 unsigned int width); 00055 00057 virtual void setSegmentStipplePattern(unsigned int segmentIndex, 00058 unsigned int pattern); 00059 00061 virtual void setSegmentColor(unsigned int segmentIndex, float r, float g, 00062 float b, float a); 00063 00065 virtual void setFlashing(bool blinking); 00066 00072 virtual void setStartVertex(double x, double y); 00073 00079 virtual void setEndVertex(double x, double y); 00080 00082 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00083 00085 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00086 00087 protected: 00091 virtual void setVisible(bool yesNo); 00092 00094 virtual void createModelAgents(); 00095 00103 virtual void destroyModelAgents(); 00104 00106 virtual void setModelDefinitionForAgents(); 00107 00108 DtWindowLineAgent* myLineAgent; 00109 DtVisibilityAdapter<DtWindowLineAgent>* myVisibilityAdapter; 00110 00111 typedef std::vector<double> Segments; 00112 Segments mySegments; 00113 }; 00114 00115 typedef DtStateVisualizerCreatorTemplate<Dt2DLineStateVisualizer> 00116 Dt2DLineStateVisualizerCreator; 00117 }