![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtChannelCompassInstance.h,v $ $Revision: 1.0 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 00017 #include <vrvCore/DtChannelCompass.h> 00018 #include <vrvCore/DtSetVisibilityInterface.h> 00019 00020 00021 namespace makVrv 00022 { 00026 class DT_DLL_VRVCORE DtChannelCompassInstance : public DtSetVisibilityInterface 00027 { 00028 public: 00029 00031 DtChannelCompassInstance(); 00032 00034 virtual ~DtChannelCompassInstance(); 00035 00037 virtual void setChannelName( const std::string& deName, 00038 const std::string& winName, const std::string& channelName ); 00039 00041 virtual void setCompassHeading( double heading ); 00042 00045 virtual void setModelDefinition( const std::string& modelDefinition ); 00046 00050 virtual void setLocation( DtChannelCompass::Locations location ); 00051 00053 DtChannelCompass::Locations location() const; 00054 00058 virtual void setMargins( unsigned int xMargin, unsigned int yMargin ); 00059 00062 virtual void setNorthLetterFilename( const std::string& filename ); 00063 00066 virtual void setSouthLetterFilename( const std::string& filename ); 00067 00070 virtual void setEastLetterFilename( const std::string& filename ); 00071 00074 virtual void setWestLetterFilename( const std::string& filename ); 00075 00077 virtual void setCompassRadius( unsigned int radius ); 00078 00080 virtual void setNorthLetterSize( unsigned int width, unsigned int height ); 00081 00083 void setSouthLetterSize( unsigned int width, unsigned int height ); 00084 00086 virtual void setEastLetterSize( unsigned int width, unsigned int height ); 00087 00089 virtual void setWestLetterSize( unsigned int width, unsigned int height ); 00090 00092 virtual void showSmallTickMarks( bool show ); 00093 00095 virtual void setDarkTickColor( float r, float g, float b, float a ); 00096 00098 virtual void setLightTickColor( float r, float g, float b, float a ); 00099 00102 virtual void updateCompass( bool force=false ) = 0; 00103 00104 00105 protected: 00106 std::string myModelDefinitionName; 00107 std::string myDisplayEngineName; 00108 std::string myWindowName; 00109 std::string myChannelName; 00110 DtChannelCompass::Locations myLocation; 00111 unsigned int myMargins[2]; 00112 std::string myNorthLetterFilename; 00113 std::string mySouthLetterFilename; 00114 std::string myEastLetterFilename; 00115 std::string myWestLetterFilename; 00116 unsigned int myCompassRadius; 00117 double myCompassHeading; 00118 unsigned int myNorthLetterSize[2]; 00119 unsigned int mySouthLetterSize[2]; 00120 unsigned int myEastLetterSize[2]; 00121 unsigned int myWestLetterSize[2]; 00122 float myDarkTickColor[4]; 00123 float myLightTickColor[4]; 00124 bool myShowSmallTickMarks; 00125 }; 00126 }