![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00006 #pragma once 00007 00008 #include <bhave3DGui/bhave3DGuiDefines.h> 00009 00010 #include <string> 00011 #include "kypathdata/pathdata/pathdata.h" 00012 #include "kypathdata/visualsystem/ivisualgeometry.h" 00013 #include "matrix/vlVector.h" 00014 #include <deque> 00015 #include "bhavePdgDrawerManager.h" 00016 #include "kypathdata/visualsystem/visualcolor.h" 00017 #include "osg/MatrixTransform" 00018 #include "osg/Vec3d" 00019 00020 namespace BHAVE 00021 { 00022 namespace BHAVE3DGui 00023 { 00026 class DT_DLL_bhave3DGui DtPathDataDrawerHelper; 00027 typedef DT_DLL_bhave3DGui DtPathDataDrawerHelper* (*DtPathDataDrawerHelperCreatorFunc)(); 00028 00029 class DT_DLL_bhave3DGui DtPathDataDrawerHelper 00030 { 00031 protected: 00032 DtPathDataDrawerHelper(); 00033 DtPathDataDrawerHelper(const DtPathDataDrawerHelper& orig); 00034 void operator=(const DtPathDataDrawerHelper& orig); 00035 00036 static DtPathDataDrawerHelper* creator(); 00037 static void setCreator(DtPathDataDrawerHelperCreatorFunc creatorFunc); 00038 00039 public: 00041 virtual bool init(DtBhavePdgDrawerManager* drawManager); 00042 static DtPathDataDrawerHelper* instance(); 00043 static bool isInitialized(); 00044 virtual ~DtPathDataDrawerHelper(); 00045 virtual Kaim::PathData* addPathData(const std::string&); 00046 virtual void removePathData(Kaim::PathData*); 00047 virtual void triggerNavDraw(Kaim::IVisualGeometry*); 00048 virtual bool triggerGraphDraw(std::deque<DtVector>&, 00049 std::deque<DtVector>&, std::deque<Kaim::VisualColor>&); 00050 virtual bool allowLines(); 00051 virtual void setAllowLines(bool); 00052 virtual const DtVector* transformVec() const; 00053 virtual void setTransformVec(const osg::Vec3d& point); 00054 virtual void resetTransformVec(); 00055 virtual void setNavVisibleDistance(float); 00056 virtual float navVisibleDistance() const; 00057 virtual void setGraphVisibleDistance(float); 00058 virtual float graphVisibleDistance() const; 00059 00060 virtual void setUsePagedDrawing(bool use); 00061 virtual void setShowWarningDialog(bool show); 00062 00063 protected: 00064 static DtPathDataDrawerHelper* theInstance; 00065 static DtPathDataDrawerHelperCreatorFunc theCreator; 00066 00067 DtBhavePdgDrawerManager* myDrawManager; 00068 bool myInitialized; 00069 bool myAllowLines; 00070 }; 00071 } 00072 }