00001 //--------------------------------------------------------------------------- 00002 // 00003 // File: Txq3dAxis.h 00004 // 00005 // Purpose: Constructs a three-dimensional axis for the Txq3dCanvas. 00006 // 00007 // Version: $Id: Txq3dAxis.h,v 1.12 2001/10/11 17:02:53 kgl Exp $ 00008 // 00009 // Author: Kelly G. Luetkemeyer 00010 // 00011 //--------------------------------------------------------------------------- 00012 00013 #ifndef TXQ3D_AXIS_H 00014 #define TXQ3D_AXIS_H 00015 00016 // std includes 00017 #include <vector> 00018 00019 // Tx includes 00020 #include <TxqAxis.h> 00021 #include "Txq3dDrawable.h" 00022 #include "Txq3dStrokeLabel.h" 00023 00036 class Txq3dAxis: public Txq3dDrawable, public TxqAxis 00037 { 00038 00039 public: 00040 00044 Txq3dAxis(); 00045 00049 virtual ~Txq3dAxis(); 00050 00061 void setOrientation(QString direction); 00062 00070 QString getOrientation(); 00071 00082 void setLocation(double x, double y, double z); 00083 00087 void setLocation(int x, int y) {TxqDrawable::setLocation(x,y);} 00088 00093 void setTitleLabel(QString lablel); 00094 00102 void setTitleLabel(QString lablel, double xpos, double ypos, double zpos); 00103 00114 void setTitleLabel(QString label, double xpos, double ypos){ 00115 setTitleLabel(label, xpos, ypos, 0.0); 00116 } 00117 00122 QString getTitleLabel(); 00123 00128 void setTitleLabelFont(QFont f); 00129 00134 void setTitleLabelColor(QColor c); 00135 00142 int getAxisMaxWidth(); 00143 00149 int getAxisMaxHeight(); 00150 00154 void paintGL(); 00155 00156 00157 protected: 00158 00159 00160 private: 00161 00165 inline void paintAxis(); 00166 00170 inline void paintTickMarks(); 00171 00175 inline void paintLogTickMarks(); 00176 00180 inline void paintLabels(); 00181 00182 00186 Txq3dStrokeLabel titleLabel; 00187 00191 bool xAxis; 00195 bool yAxis; 00199 bool zAxis; 00200 00204 double xLoc; 00208 double yLoc; 00212 double zLoc; 00213 00217 double yAxisTitleX; 00218 00222 double zAxisTitleX; 00223 00227 double xAxisTitleY; 00228 00229 }; 00230 #endif
Copyright Tech-X Corporation, all rights reserved.