![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /***************************************************************************** 00006 * $RCSfile: DtOsgChannelGridLinesInstance.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvOsg/vrvOsg.h> 00016 00017 #include <vrvCore/DtChannelGridLinesInstance.h> 00018 00019 #include <vrvUtil/DtSignalConnectionManager.h> 00020 00021 #include <matrix/vlVector.h> 00022 00023 #include <osg/Quat> 00024 00025 namespace makVrv 00026 { 00027 00028 class DtDe; 00029 class DtChannel; 00030 class DtChannelConfiguration; 00031 class DtChannelManager; 00032 class DtOsgChannel; 00033 class DtWindowConfiguration; 00034 class DtGridLinesDrawer; 00035 class DtProjectedGridLinesDrawer; 00036 class DtGeocentricGridLinesDrawer; 00037 00040 class DT_DLL_VRVOSG DtOsgChannelGridLinesInstance 00041 : public DtChannelGridLinesInstance 00042 { 00043 public: 00044 00046 DtOsgChannelGridLinesInstance(DtDe& de); 00047 00049 virtual ~DtOsgChannelGridLinesInstance(); 00050 00052 virtual void setChannelName( const std::string& deName, 00053 const std::string& winName, const std::string& channelName ); 00054 00057 virtual void setModelDefinition( const std::string& modelDefinition ); 00058 00060 virtual void setVisible(bool isVisible); 00061 00063 virtual void setGridType( 00064 makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType ); 00065 00067 virtual void setUnitType( 00068 makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unitType ); 00069 00071 virtual void setUnitType( 00072 makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unitType ); 00073 00075 virtual void setAutoSpacing( bool autoSpacing ); 00076 00078 virtual void setFixedSpacingAmount( double amount ); 00079 00081 virtual void setXOffset( double offset ); 00082 00084 virtual void setYOffset( double offset ); 00085 00087 virtual void setMinSpacing( int pixels ); 00088 00090 virtual void setDecimalPlaces( unsigned decimalPlaces ); 00091 00093 virtual void setMaxGridLines( int maxGridLines ); 00094 00096 virtual void setEastWestGridLineColor( float r, float g, float b, float a ); 00097 00099 virtual void setEastWestLabelColor( float r, float g, float b, float a ); 00100 00102 virtual void setNorthSouthGridLineColor( float r, float g, float b, float a ); 00103 00105 virtual void setNorthSouthLabelColor( float r, float g, float b, float a ); 00106 00108 virtual void setLabelFont( const std::string& fontName ); 00109 00111 virtual void setLabelPointSize( int pointSize ); 00112 00114 virtual void setLabelXOffset( int pixels ); 00115 00117 virtual void setLabelYOffset( int pixels ); 00118 00120 virtual void setLabelTextWidth( int width ); 00121 00123 virtual void setLabelTextHeight( int height ); 00124 00126 virtual void setGridLineWidth( float width ); 00127 00129 virtual void updateGridLines(); 00130 00131 protected: 00132 00135 virtual DtProjectedGridLinesDrawer* createAndInitializeProjectedDBGridLinesDrawer(); 00136 00139 virtual DtGeocentricGridLinesDrawer* createAndInitializeGeocentricDBGridLinesDrawer(); 00140 00142 virtual void slot_channelCreated(DtChannelManager*, DtChannel*); 00143 00145 virtual void slot_channelToBeDestroyed(DtChannelManager*, DtChannel*); 00146 00148 void slot_channelUpdated( DtChannelManager*, DtChannel* ); 00149 00150 private: 00151 00153 DtOsgChannelGridLinesInstance( const DtOsgChannelGridLinesInstance& orig ); 00154 00156 DtOsgChannelGridLinesInstance&operator=( const DtOsgChannelGridLinesInstance& rhs ); 00157 00158 protected: 00159 00160 DtDe& myDe; 00161 DtSignalConnectionManager myConnections; 00162 00163 DtOsgChannel* myChannel; 00164 00165 bool myFirstFrame; 00166 DtGridLinesDrawer* myGridLinesDrawer; 00167 DtVector myPreviousCameraPosition; 00168 osg::Quat myPreviousCameraRotation; 00169 double myPreviousScale; 00170 double myPreviousWindowHeight; 00171 double myPreviousWindowWidth; 00172 double myPreviousViewportLeft; 00173 double myPreviousViewportRight; 00174 double myPreviousViewportTop; 00175 double myPreviousViewportBottom; 00176 bool myParamsChanged; 00177 00178 }; 00179 00180 }