www.pudn.com > hobby_cpp.rar > sigcreate.h


/*
 * Copyright (C) 2003 Anne-Marie Mahfouf 
 */

#ifndef _SIGCREATE_H_
#define _SIGCREATE_H_

#ifdef HAVE_CONFIG_H
#include 
#endif

#include 
 #include 
 #include 
 #include 
 #include 
 
 #include 
 
 #include "sigcreatedlg.h"
 
/**
 * @short Application Main Window
 * @author Anne-Marie Mahfouf 
 * @version 0.1
 */
  /** SigCreate is the base class of the project */
 
 class SigCreate : public SigCreateDlg
{
    Q_OBJECT
public:
    /**
     * Default Constructor
     */
   SigCreate(QWidget *parent=0, const char *name=0);

    /**
     * Default Destructor
     */
    virtual ~SigCreate();
     public slots:
     virtual void slotCreateSig();
     virtual void slotTry();
     
protected:
     virtual void paintEvent( QPaintEvent * );
     
     double s(int,int,int,int);               //(ii,行程系数,运动方式)ii=0~360度 
     double v(int,int,int,int);              //(ii,行程系数,运动方式) ii=0~360度
     double a(int,int,int,int);              //(ii,行程系数,运动方式)
     
     double dxtj1(int,int,int,int);
     double dytj1(int,int,int,int);
     double dxtj2(int,int,int,int);
     double dytj2(int,int,int,int);

     double dstj1(int,int,int,int);                          //位移对转角的一阶导数
     double rlg(int,int,int,int);                           //压力角
     double qb(int,int,int,int);                            //曲率半径
          
     double X(int,int,int,int);                           //理论轮廓
     double Y(int,int,int,int);                           
     double X1(int,int,int,int);                        //实际轮廓内轮
     double Y1(int,int,int,int);
     double X2(int,int,int,int);                        //实际轮廓外轮                
     double Y2(int,int,int,int);
private:
     QPointArray *cruve_cs;                          //记录度_位移点
     QPointArray *cruve_cv;                          //记录度_速度点
     QPointArray *cruve_ca;                          //记录度_加速度点
     QPointArray *cruve_XY;                          //记录理论轮廓点
     QPointArray *cruve_X1Y1;                          //记录实际内轮轮廓点
     QPointArray *cruve_X2Y2;                          //记录实际外轮轮廓点
     QPointArray *cruve_zx;                            //坐标有偏移
     QPointArray *cruve_zy;
     QPointArray *cruve_zx2;                            //坐标2无偏移
     QPointArray *cruve_zy2;
     
     double pi;                                     //圆率
     double rr;                                     //角度->弧系数
     double rr2;                                    //弧->角度系数
     double s0;                                     //r0^2-e^2
     int ii;                                       //环汁数值
     
     int sg;                                       //从动件行程系数(1-程,0-回程)
     int rd;   /*推程运动方式(1等速运动,2等加速、等减速,3摆线运动,4简谐运动,5五次多项式运动)*/
     int rd2;   //回程运动方式                             
     int q;                                        //转动率数(1-逆时针,0-顺时针)
     int io;                                       //内外轮(-1内,1外)
     int p;                                       //从动件偏置方向系数(1-偏向X 正,0-Y重合,-1-偏向X负)
     int ssg[24];                                //sg数组
     int sii[24];                                 //ii数组      
     double ss[120];                             //s数组
     int *psg;                                   //sg指针
     int *pii;                                   //ii指针
     double *ps;                                 //s指针
     
     int bb;                                     //时间计数值
     int hh;                                      //从动位移
     int gg;                                      //计数值
     int gf;                                      //计数值
     
     double w;                                    //角速度
     double r0;                                   //基圆半径
     double h;                                    //从动件最大位移
     double rt;                                  //滚子半径
     double e;                                   //偏距圆半径
     
     double tj;                                   //瞬时角度
     
     double qj;                                   //起始角         
     double tcj;                                  //推程角度
     double yxj;                                  //远止角
     double hcj;                                  //回程角度
     
     double xqb;                                  //许用曲率半径
     double txyj;                                 //推程许用压力角
     double hxyj;                                 //回程许用压力角
                       
      double sx;                                  //变量(有。。。x的就是变量)
      double vx; 
      double ax;  
      
      double Xx; 
      double Yx;
      
      double dxtj1x;
      double dytj1x;
      
      double dxtj2x;
      double dytj2x;      
      
      double X1x;
      double Y1x;
      
      double X2x;
      double Y2x;
      
      double dstj1x;
      double rlgx;                        //压力角
      double qbx;                        //曲率半径
      
      
      
      
      
      
};

#endif // _SIGCREATE_H_