![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtEnvironmentalAreaVisualizer.h,v $ $Revision: 100775 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvCore/DtSceneObjectVisualizer.h> 00016 #include <vrvCore/DtTacticalGraphicStateListener.h> 00017 00018 class DtVector; 00019 00020 namespace makVrv 00021 { 00022 class DtEnvironmentalStateListener; 00023 class DtPolygonModelAgent; 00024 00027 class DT_DLL_VRVCORE DtEnvironmentalAreaVisualizer : public DtSceneObjectVisualizer 00028 { 00029 public: 00031 DtEnvironmentalAreaVisualizer(DtBaseConnection& simulation, DtStateListener& listener, 00032 int modelSet); 00033 00035 virtual ~DtEnvironmentalAreaVisualizer(); 00036 00039 virtual void setColor(float r, float g, float b, float a); 00040 00042 virtual void addPoint(int index, const DtVector&); 00043 00045 virtual void removePoint(int index); 00046 00048 virtual void modifyPoint(int index, const DtVector&); 00049 00051 virtual void setPoints(const DtEnvironmentalStateListener::ControlPointsList&); 00052 00054 virtual void setSelected( bool b ); 00055 00057 virtual void resetSpatial(); 00058 00060 virtual void createModelAgents(); 00061 00063 virtual void setLineStyle(int); 00064 00067 virtual void setFillStyle(int); 00068 00070 virtual void setLineWidth(int); 00071 00073 virtual void setOrigin(const DtVector&); 00074 virtual DtVector origin() const; 00075 00080 virtual void setUseDynamicOrigin(bool); 00081 00082 protected: 00084 virtual void destroyModelAgents(); 00085 00087 virtual void setModelDefinitionForAgents(); 00088 00090 virtual DtPolygonModelAgent* createAreaAgent() = 0; 00091 00092 virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef ); 00093 00096 virtual DtVector offsetAtPosition(const DtVector& origin) const; 00097 00098 virtual void setSolid(bool); 00099 00100 protected: 00101 DtTacticalGraphicStateListener& myAreaListener; 00102 DtPolygonModelAgent* myAreaModelAgent; 00103 DtEnvironmentalStateListener::ControlPointsList myControlPoints; 00104 00105 int myLineWidth; 00106 float myColor[4]; 00107 00108 DtVector myPointOffset; 00109 bool myOriginSet; 00110 DtVector myOrigin; 00111 00112 bool myUseDynamicOrigin; 00113 }; 00114 }