#include "manualContourModelBullEye.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- manualContourModelBullEye::manualContourModelBullEye() : manualContourModel() { _numberPointsSlineBySector=101; // impaire } manualContourModelBullEye::~manualContourModelBullEye() { } // ---------------------------------------------------------------------------- manualContourModelBullEye * manualContourModelBullEye :: Clone() // virtual { manualContourModelBullEye * clone = new manualContourModelBullEye(); CopyAttributesTo(clone); return clone; } // --------------------------------------------------------------------------- void manualContourModelBullEye::CopyAttributesTo( manualContourModelBullEye * cloneObject) { // Fathers object manualContourModel::CopyAttributesTo(cloneObject); } //---------------------------------------------------------------- int manualContourModelBullEye::GetTypeModel() //virtual { return 4; } //---------------------------------------------------------------- int manualContourModelBullEye::GetNumberOfPointsSplineSectorBulleEje() { return _numberPointsSlineBySector; } //---------------------------------------------------------------- void manualContourModelBullEye::SetNumberOfPointsSplineSectorBulleEje(int numpoints) { this->_numberPointsSlineBySector = numpoints; } //---------------------------------------------------------------- void manualContourModelBullEye::AddSector( double radioA, double radioB, double ang, double angDelta) { manualContourModelBullEyeSector *modelSector = new manualContourModelBullEyeSector(); modelSector->SetSector(radioA,radioB,ang,angDelta); modelSector->SetNumberOfPointsSpline( this->GetNumberOfPointsSplineSectorBulleEje() ); _lstModelBullEyeSector.push_back(modelSector); } //---------------------------------------------------------------- manualContourModelBullEyeSector * manualContourModelBullEye::GetModelSector(int id) { return _lstModelBullEyeSector[id]; } //---------------------------------------------------------------- void manualContourModelBullEye::GetSector(int id, double *radioA, double *radioB, double *ang, double *angDelta) { _lstModelBullEyeSector[id]->GetSector(radioA,radioB,ang,angDelta); } void manualContourModelBullEye::UpdateSpline() // virtual { manualContourModel::UpdateSpline(); if (this->GetSizeLstPoints()>2){ double cx,cy; double ww,hh; manualPoint *mpA = GetManualPoint(0); manualPoint *mpB = GetManualPoint(2); cx = (mpA->GetX() + mpB->GetX()) / 2.0; cy = (mpA->GetY() + mpB->GetY()) / 2.0; ww = fabs( mpA->GetX() - mpB->GetX() )/2.0; hh = fabs( mpA->GetY() - mpB->GetY() )/2.0; int i,size = _lstModelBullEyeSector.size(); for (i=0;iSetCenter(cx,cy); _lstModelBullEyeSector[i]->SetSize(ww,hh); } // for } } //---------------------------------------------------------------- void manualContourModelBullEye::ResetSectors() { int i,size=_lstModelBullEyeSector.size(); for (i=0;iSave(ff); } } //---------------------------------------------------------------- void manualContourModelBullEye::Open(FILE *ff) // virtual { manualContourModel::Open(ff); ResetSectors(); char tmp[255]; int i; int numberOfSections; // double radioA,radioB,ang,deltaAng; fscanf(ff,"%s",tmp); // NumberOfSections fscanf(ff,"%s",tmp); // ## numberOfSections = atoi(tmp); for (i=0;iOpen(ff); } } // ---------------------------------------------------------------------------- std::vector manualContourModelBullEye::ExploseModel( ) { //EED004 std::vector lstTmp; int i,iSize=_lstModelBullEyeSector.size(); for (i=0;i