![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: Dt2DRectangleStateVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvCore/DtStateVisualizer.h> 00016 #include <vrvCore/DtRemoteGraphicVisualizerAttributes.h> 00017 #include <vrvCore/DtWindowPolygonAgent.hpp> 00018 #include <vrvCore/Dt2DRectangleStateListener.h> 00019 #include <vrvCore/DtVisibilityAdapter.h> 00020 00021 namespace makVrv 00022 { 00025 class DT_DLL_VRVCORE Dt2DRectangleStateVisualizer : public DtStateVisualizer, 00026 public DtRemoteGraphicVisualizerAttributes 00027 { 00028 public: 00030 Dt2DRectangleStateVisualizer(DtBaseConnection& simulation, 00031 DtStateListener& listener, int modelSet); 00032 00034 virtual ~Dt2DRectangleStateVisualizer(); 00035 00037 virtual void setColor(float r,float g,float b,float a); 00038 00040 virtual void setFlashing(bool flashing); 00041 00044 virtual void setDimensions(double xLength, double yLength); 00045 00048 virtual void setBottomLeftCorner(double x, double y); 00049 00052 virtual void setRotation(double rotation); 00053 00055 virtual void setScale(double scale); 00056 00059 virtual void setFillPattern(unsigned int pattern); 00060 00062 virtual void setFill(bool fill); 00063 00066 virtual void updateVertices(); 00067 00069 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00070 00072 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00073 00074 protected: 00078 virtual void setVisible(bool yesNo); 00079 00081 virtual void createModelAgents(); 00082 00091 virtual void destroyModelAgents(); 00092 00094 virtual void setModelDefinitionForAgents(); 00095 00096 protected: 00097 00098 DtWindowPolygonAgent* myPolygonAgent; 00099 DtVisibilityAdapter<DtWindowPolygonAgent>* myVisibilityAdapter; 00100 00101 double myWidth; 00102 double myHeight; 00103 double myBottomLeftX; 00104 double myBottomLeftY; 00105 }; 00106 00107 typedef DtStateVisualizerCreatorTemplate<Dt2DRectangleStateVisualizer> 00108 Dt2DRectangleStateVisualizerCreator; 00109 }