![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2012 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00009 00010 #pragma once 00011 #include <vrvCore/DtSceneObjectVisualizer.h> 00012 #include <vrvCore/DtEnvironmentalStateListener.h> 00013 #include <matrix/vlVector.h> 00014 00015 namespace makVrv 00016 { 00017 class DtTacticalGraphicStateListener; 00018 class DtLineModelAgent; 00019 00023 class DT_DLL_VRVCORE DtEnvironmentalLineVisualizer : 00024 public DtSceneObjectVisualizer 00025 { 00026 public: 00028 DtEnvironmentalLineVisualizer(DtBaseConnection& simulation, 00029 DtStateListener& listener, int modelSet); 00030 00032 virtual ~DtEnvironmentalLineVisualizer(); 00033 00037 virtual void setColor(float r, float g, float b, float a); 00038 00041 virtual void addPoint(int index, const DtVector&); 00042 00044 virtual void removePoint(int index); 00045 00047 virtual void modifyPoint(int index, const DtVector&); 00048 00051 virtual void setPoints( 00052 const DtEnvironmentalStateListener::ControlPointsList&); 00053 00055 virtual void setSelected( bool b ); 00056 00058 virtual void resetSpatial(); 00059 00061 virtual void createModelAgents(); 00062 00064 virtual void setLineStyle(int); 00065 00068 virtual void setLineWidth(int); 00069 00071 virtual void setOrigin(const DtVector&); 00072 00074 virtual const DtVector& origin() const; 00075 00076 protected: 00078 virtual void destroyModelAgents(); 00079 00081 virtual void setModelDefinitionForAgents(); 00082 00084 virtual DtLineModelAgent* createLineAgent() = 0; 00085 00088 virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef ); 00089 00092 virtual DtVector offsetAtPosition(const DtVector& origin) const; 00093 00096 virtual void setSolid(bool); 00097 00098 protected: 00099 DtTacticalGraphicStateListener& myLineListener; 00100 DtLineModelAgent* myLineModelAgent; 00101 DtEnvironmentalStateListener::ControlPointsList myControlPoints; 00102 int myLineWidth; 00103 00104 DtVector myPointOffset; 00105 bool myOriginSet; 00106 DtVector myOrigin; 00107 }; 00108 }