![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #include <vrfGuiCore/vrfGuiCore.h> 00012 #include <vrvCore/DtTacticalGraphicStateListener.h> 00013 00014 #include <vrvUtil/DtSignalConnectionManager.h> 00015 #include <vrvCore/DtBaseConnection.h> 00016 #include <vrvCore/DtSceneObjectVisualizer.h> 00017 00018 namespace makVrv 00019 { 00020 class DtOverlayEllipseArcModelAgent; 00021 } 00022 00023 namespace makVrf 00024 { 00025 class DtCircleUpdaterAgent; 00026 00033 class DT_DLL_VRFGUICORE Dt2DCircleVisualizer : public makVrv::DtSceneObjectVisualizer 00034 { 00035 public: 00036 Dt2DCircleVisualizer(makVrv::DtBaseConnection& simulation, makVrv::DtStateListener& listener, 00037 int modelSet); 00038 virtual ~Dt2DCircleVisualizer(); 00039 00040 public: 00043 virtual void setColor(float r, float g, float b, float a); 00044 00047 virtual void setPoints(const makVrv::DtEnvironmentalStateListener::ControlPointsList&); 00048 00050 virtual void addPoint(int inex, const DtVector&); 00051 00053 virtual void modifyPoint(int index, const DtVector&); 00054 00056 virtual void setOrigin(const DtVector&); 00057 virtual DtVector origin() const; 00058 00060 virtual void setSelected(bool); 00061 00063 virtual void setLineWidth(int); 00064 00066 virtual void setFill(bool); 00067 00068 00069 static const makVrv::DtVisualizerSchema& theDt2DCircleSchema(); 00070 00072 virtual const makVrv::DtStateVisualizer::TypeInfo& typeInfo() const; 00073 00075 static const makVrv::DtStateVisualizer::TypeInfo& theTypeInfo(); 00076 00077 protected: 00079 virtual void createModelAgents(); 00080 00082 virtual void destroyModelAgents(); 00083 00085 virtual void setVisualizerDefinition( const makVrv::DtVisualizerDefinition& visDef ); 00086 00087 virtual void setSolid(bool); 00088 00089 virtual void fill(); 00090 00092 virtual void setPosition(int iIndex, const DtVector&); 00093 00095 virtual void createProjectedModelAgent(); 00096 00097 protected: 00098 makVrv::DtTacticalGraphicStateListener& myCircleListener; 00099 makVrv::DtOverlayEllipseArcModelAgent* myCircleModelAgent; 00100 00101 DtCircleUpdaterAgent* myUpdater; 00102 00103 float myColor[4]; 00104 float myDefaultColor[4]; 00105 00106 int myLineWidth; 00107 00108 DtVector myOrigin; 00109 bool myFill; 00110 double myDefaultLineWidth; 00111 }; 00112 00113 typedef makVrv::DtStateVisualizerCreatorTemplate<Dt2DCircleVisualizer> 00114 Dt2DCircleVisualizerCreator; 00115 }