VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/Dt2DCircleVisualizer.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)