manualContourModelBullEyeSector.cpp

Go to the documentation of this file.
00001 #include "manualContourModelBullEyeSector.h"
00002 
00003 
00004 // ----------------------------------------------------------------------------
00005 // ----------------------------------------------------------------------------
00006 // ----------------------------------------------------------------------------
00007 
00008 manualContourModelBullEyeSector::manualContourModelBullEyeSector()
00009 : manualContourModel()
00010 {
00011 }
00012 
00013 manualContourModelBullEyeSector::~manualContourModelBullEyeSector()
00014 {
00015 }
00016 
00017 
00018 // ----------------------------------------------------------------------------
00019 manualContourModelBullEyeSector * manualContourModelBullEyeSector :: Clone()  // virtual
00020 {
00021         manualContourModelBullEyeSector * clone = new manualContourModelBullEyeSector();
00022         CopyAttributesTo(clone);
00023         return clone;
00024 }
00025 
00026 // ---------------------------------------------------------------------------
00027 
00028 void manualContourModelBullEyeSector::CopyAttributesTo( manualContourModelBullEyeSector * cloneObject)
00029 {
00030         // Fathers object
00031         manualContourModel::CopyAttributesTo(cloneObject);
00032 }
00033 
00034 //----------------------------------------------------------------
00035 int manualContourModelBullEyeSector::GetTypeModel() //virtual
00036 {
00037         return 5;
00038 }
00039 
00040 
00041 //----------------------------------------------------------------
00042 void manualContourModelBullEyeSector::SetSector(        double radioA,
00043                                                 double radioB,
00044                                                 double ang,
00045                                                 double angDelta)
00046 {
00047         _radioA         = radioA;
00048         _radioB         = radioB;
00049         _ang            = ang*3.14159265/180.0;
00050         _angDelta       = angDelta*3.14159265/180.0;
00051 }
00052 
00053 //----------------------------------------------------------------
00054 void manualContourModelBullEyeSector::GetSector(
00055                                                 double *radioA,
00056                                                 double *radioB,
00057                                                 double *ang,
00058                                                 double *angDelta)
00059 {
00060         *radioA         = _radioA;
00061         *radioB         = _radioB;
00062         *ang            = _ang;
00063         *angDelta       = _angDelta;
00064 }
00065 
00066 // ----------------------------------------------------------------------------
00067 void manualContourModelBullEyeSector::SetCenter(double cx,double cy)
00068 {
00069         _cx = cx;
00070         _cy = cy;
00071 }
00072 
00073 //----------------------------------------------------------------
00074 void manualContourModelBullEyeSector::SetSize(double ww,double hh)
00075 {
00076         _ww = ww;
00077         _hh = hh;
00078 }
00079 
00080 //----------------------------------------------------------------
00081 void manualContourModelBullEyeSector::GetSpline_i_Point(int i, double *x, double *y, double *z)
00082 {
00083 //EED004
00084 
00085         int ii,nps;
00086 //      double x,y,z;
00087         double ang,angcos, angsin;
00088         double radio;
00089 
00090         nps     =  GetNumberOfPointsSpline() - 3;
00091 
00092         if (i==GetNumberOfPointsSpline()-1)
00093         {
00094                 i=0;
00095         }
00096 
00097         if (i<=nps/2)
00098         {
00099                 ii=i;
00100                 radio=_radioA;
00101         } else {
00102                 ii=nps-i+1;
00103                 radio=_radioB;
00104         }
00105         ang = ((double)ii/(nps/2))*_angDelta + _ang;
00106         angcos =  cos(ang);
00107         angsin =  sin(ang);
00108 
00109         *x = _ww*radio*angcos + _cx;
00110         *y = _hh*radio*angsin + _cy;
00111         *z= 900;
00112 }
00113 
00114 //----------------------------------------------------------------
00115 void manualContourModelBullEyeSector::Save(FILE *ff) // virtual
00116 {
00117         manualContourModel::Save(ff);
00118         fprintf(ff,"rA= %f rB= %f ang= %f deltaAng= %f\n", _radioA,_radioB, _ang , _angDelta);
00119 }
00120 
00121 //----------------------------------------------------------------
00122 void manualContourModelBullEyeSector::Open(FILE *ff) // virtual
00123 {
00124         char tmp[255];
00125         fscanf(ff,"%s",tmp); // TypeModel
00126         fscanf(ff,"%s",tmp); // ##
00127 
00128         manualContourModel::Open(ff);
00129 
00130 
00131         fscanf(ff,"%s",tmp); // radioA=
00132         fscanf(ff,"%s",tmp); // radioA
00133         _radioA = atof(tmp);
00134 
00135         fscanf(ff,"%s",tmp); // radioB=
00136         fscanf(ff,"%s",tmp); // radioB
00137         _radioB = atof(tmp);
00138 
00139         fscanf(ff,"%s",tmp); // ang=
00140         fscanf(ff,"%s",tmp); // ang
00141         _ang = atof(tmp);
00142 
00143         fscanf(ff,"%s",tmp); // deltaAng=
00144         fscanf(ff,"%s",tmp); // deltaAng
00145         _angDelta = atof(tmp);
00146 }
00147 
00148 

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1