#include "manualContourModelBullEyeSector.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- manualContourModelBullEyeSector::manualContourModelBullEyeSector() : manualContourModel() { } manualContourModelBullEyeSector::~manualContourModelBullEyeSector() { } // ---------------------------------------------------------------------------- manualContourModelBullEyeSector * manualContourModelBullEyeSector :: Clone() // virtual { manualContourModelBullEyeSector * clone = new manualContourModelBullEyeSector(); CopyAttributesTo(clone); return clone; } // --------------------------------------------------------------------------- void manualContourModelBullEyeSector::CopyAttributesTo( manualContourModelBullEyeSector * cloneObject) { // Fathers object manualContourModel::CopyAttributesTo(cloneObject); } //---------------------------------------------------------------- int manualContourModelBullEyeSector::GetTypeModel() //virtual { return 5; } //---------------------------------------------------------------- void manualContourModelBullEyeSector::SetSector( double radioA, double radioB, double ang, double angDelta) { _radioA = radioA; _radioB = radioB; _ang = ang*3.14159265/180.0; _angDelta = angDelta*3.14159265/180.0; } //---------------------------------------------------------------- void manualContourModelBullEyeSector::GetSector( double *radioA, double *radioB, double *ang, double *angDelta) { *radioA = _radioA; *radioB = _radioB; *ang = _ang; *angDelta = _angDelta; } // ---------------------------------------------------------------------------- void manualContourModelBullEyeSector::SetCenter(double cx,double cy) { _cx = cx; _cy = cy; } //---------------------------------------------------------------- void manualContourModelBullEyeSector::SetSize(double ww,double hh) { _ww = ww; _hh = hh; } //---------------------------------------------------------------- void manualContourModelBullEyeSector::GetSpline_i_Point(int i, double *x, double *y, double *z) { //EED004 int ii,nps; // double x,y,z; double ang,angcos, angsin; double radio; nps = GetNumberOfPointsSpline() - 3; if (i==GetNumberOfPointsSpline()-1) { i=0; } if (i<=nps/2) { ii=i; radio=_radioA; } else { ii=nps-i+1; radio=_radioB; } ang = ((double)ii/(nps/2))*_angDelta + _ang; angcos = cos(ang); angsin = sin(ang); *x = _ww*radio*angcos + _cx; *y = _hh*radio*angsin + _cy; *z= 900; } //---------------------------------------------------------------- void manualContourModelBullEyeSector::Save(FILE *ff) // virtual { manualContourModel::Save(ff); fprintf(ff,"rA= %f rB= %f ang= %f deltaAng= %f\n", _radioA,_radioB, _ang , _angDelta); } //---------------------------------------------------------------- void manualContourModelBullEyeSector::Open(FILE *ff) // virtual { char tmp[255]; fscanf(ff,"%s",tmp); // TypeModel fscanf(ff,"%s",tmp); // ## manualContourModel::Open(ff); fscanf(ff,"%s",tmp); // radioA= fscanf(ff,"%s",tmp); // radioA _radioA = atof(tmp); fscanf(ff,"%s",tmp); // radioB= fscanf(ff,"%s",tmp); // radioB _radioB = atof(tmp); fscanf(ff,"%s",tmp); // ang= fscanf(ff,"%s",tmp); // ang _ang = atof(tmp); fscanf(ff,"%s",tmp); // deltaAng= fscanf(ff,"%s",tmp); // deltaAng _angDelta = atof(tmp); }