00001 //--------------------------------------------------------------------------- 00002 // 00003 // File: Txq3dLine.h 00004 // 00005 // Purpose: Draw a line on the Txq3dCanvas 00006 00007 // Version: $Id: Txq3dLine.h,v 1.5 2001/10/11 19:54:13 kgl Exp $ 00008 // 00009 // Author: Kelly G. Luetkemeyer 00010 // 00011 //--------------------------------------------------------------------------- 00012 00013 #ifndef TXQ3D_LINE_H 00014 #define TXQ3D_LINE_H 00015 00016 // STL includes 00017 #include <cmath> 00018 #include <cfloat> 00019 #include <vector> 00020 00021 // Txq includes 00022 #include "Txq3dDrawable.h" 00023 00036 class Txq3dLine: public Txq3dDrawable 00037 { 00038 00039 public: 00040 00044 Txq3dLine(); 00045 00057 Txq3dLine(int x1, int y1, int z1, int x2, int y2, int z2 ); 00058 00067 Txq3dLine(const std::vector<int> & xpoints, 00068 const std::vector<int> & ypoints, 00069 const std::vector<int> & zpoints); 00070 00082 Txq3dLine(float x1, float y1, float z1, 00083 float x2, float y2, float z2); 00084 00093 Txq3dLine(const std::vector<float> & xpoints, 00094 const std::vector<float> & ypoints, 00095 const std::vector<float> & zpoints); 00096 00108 Txq3dLine(double x1, double y1, double z1, 00109 double x2, double y2, double z2); 00110 00119 Txq3dLine(const std::vector<double> & xpoints, 00120 const std::vector<double> & ypoints, 00121 const std::vector<double> & zpoints); 00122 00126 virtual ~Txq3dLine(); 00127 00135 void addPoint(int x, int y, int z); 00136 00144 void addPoint(float x, float y, float z); 00145 00153 void addPoint(double x, double y, double z); 00154 00158 void initialize(); 00159 00163 void paintGL(); 00164 00170 void dump(QTextStream *ts); 00171 00172 private: 00173 00177 std::vector<int> ixpoints; 00178 00182 std::vector<int> iypoints; 00183 00187 std::vector<int> izpoints; 00188 00192 std::vector<float> fxpoints; 00193 00197 std::vector<float> fypoints; 00198 00202 std::vector<float> fzpoints; 00203 00207 std::vector<double> dxpoints; 00208 00212 std::vector<double> dypoints; 00213 00217 std::vector<double> dzpoints; 00218 00222 int numPoints; 00223 00224 }; 00225 00226 #endif 00227
Copyright Tech-X Corporation, all rights reserved.