manualContourContainer.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "manualContourContainer.h"
00020
00022
00024
00025
00026 manualContourContainer::manualContourContainer()
00027 {
00028
00029 _manContourControlWall = NULL;
00030 _mContourModelWall = NULL;
00031 _mViewContourWall = NULL;
00032
00033
00034 _manContourControlLumen = NULL;
00035 _mContourModelLumen = NULL;
00036 _mViewContourLumen = NULL;
00037 }
00038
00039
00040
00041
00042
00043 manualContourContainer::~manualContourContainer()
00044 {
00045
00046 }
00047
00048
00049 manualContourControler* manualContourContainer::getWallController()
00050 {
00051 return _manContourControlWall;
00052 }
00053
00054
00055 manualContourControler* manualContourContainer::getLumenController()
00056 {
00057 return _manContourControlLumen;
00058 }
00059
00060
00061 manualContourControler* manualContourContainer::getCalcController(int i)
00062 {
00063 return _manContourControlCalc[i];
00064 }
00065
00066
00067 manualContourControler* manualContourContainer::getHypoController(int i)
00068 {
00069 return _manContourControlHypo[i];
00070 }
00071
00072
00073 int manualContourContainer::addCalcificationContour(wxVtk2DBaseView *_imageviewer2D_1)
00074 {
00075 int tam = 0;
00076 manualContourControler *tempC = new manualContourControler();
00077 manualContourModel *tempM = new manualContourModel();
00078 manualViewContour *tempV = new manualViewContour();
00079
00080 tempV->SetRange((int)(0.6) );
00081
00082 _manContourControlCalc.push_back(tempC);
00083 _mContourModelCalc.push_back(tempM);
00084 _mViewContourCalc.push_back(tempV);
00085
00086 tam = _mViewContourCalc.size() - 1;
00087
00088 _mViewContourCalc[tam]->SetModel( _mContourModelCalc[tam] );
00089 _mViewContourCalc[tam]->SetWxVtkBaseView( _imageviewer2D_1 );
00090
00091 _mViewContourCalc[tam]->SetZ( 1000 );
00092 _mViewContourCalc[tam]->SetColorNormalContour(0, 0.5, 0);
00093 _mViewContourCalc[tam]->SetColorEditContour(1, 1, 0.33);
00094 _manContourControlCalc[tam]->SetModelView( _mContourModelCalc[tam] , _mViewContourCalc[tam] );
00095 _manContourControlCalc[tam]->CreateNewManualContour();
00096 _manContourControlCalc[tam]->SetActive(false);
00097 _mViewContourCalc[tam]->RefreshContour();
00098
00099 return tam;
00100 }
00101
00102 int manualContourContainer::addHypodenseContour(wxVtk2DBaseView *_imageviewer2D_1)
00103 {
00104 int tam = 0;
00105 manualContourControler *tempC = new manualContourControler();
00106 manualContourModel *tempM = new manualContourModel();
00107 manualViewContour *tempV = new manualViewContour();
00108
00109 tempV->SetRange( (int)(0.6) );
00110
00111 _manContourControlHypo.push_back(tempC);
00112 _mContourModelHypo.push_back(tempM);
00113 _mViewContourHypo.push_back(tempV);
00114
00115 tam = _mViewContourHypo.size() - 1;
00116 _mViewContourHypo[tam]->SetModel( _mContourModelHypo[tam] );
00117 _mViewContourHypo[tam]->SetWxVtkBaseView( _imageviewer2D_1 );
00118
00119 _mViewContourHypo[tam]->SetZ( 1000 );
00120 _mViewContourHypo[tam]->SetColorNormalContour(0, 0.5, 0.5);
00121 _mViewContourHypo[tam]->SetColorEditContour(1, 1, 0.33);
00122 _manContourControlHypo[tam]->SetModelView( _mContourModelHypo[tam] , _mViewContourHypo[tam] );
00123 _manContourControlHypo[tam]->CreateNewManualContour();
00124 _manContourControlHypo[tam]->SetActive(false);
00125 _mViewContourHypo[tam]->RefreshContour();
00126
00127 return tam;
00128 }
00129
00130
00131 void manualContourContainer::setWallVisibility(bool visible)
00132 {
00133 if (_mViewContourWall != NULL)
00134 {
00135 _mViewContourWall->SetVisible( visible );
00136 _mViewContourWall->Refresh();
00137 }
00138
00139 }
00140
00141
00142 void manualContourContainer::setLumenVisibility(bool visible)
00143 {
00144 if (_mViewContourLumen != NULL)
00145 {
00146 _mViewContourLumen->SetVisible( visible );
00147 _mViewContourLumen->Refresh();
00148 }
00149
00150 }
00151
00152
00153 void manualContourContainer::setCalcVisibility(bool visible)
00154 {
00155 int i;
00156 for (i = 0; i < (int)_mViewContourCalc.size(); i++)
00157 {
00158 _mViewContourCalc[i]->SetVisible( visible );
00159 _mViewContourCalc[i]->Refresh();
00160 }
00161
00162 }
00163
00164
00165 void manualContourContainer::setHypoVisibility(bool visible)
00166 {
00167 int i;
00168 for (i = 0; i < (int)_mViewContourHypo.size(); i++)
00169 {
00170 _mViewContourHypo[i]->SetVisible( visible );
00171 _mViewContourHypo[i]->Refresh();
00172 }
00173 }
00174
00175
00176 void manualContourContainer::setWallActive()
00177 {
00178 _manContourControlWall -> SetActive(true);
00179
00180 if (_manContourControlLumen != NULL)
00181 {
00182 _manContourControlLumen -> SetActive(false);
00183 }
00184
00185 int i;
00186 for (i = 0; i < (int)_manContourControlCalc.size(); i++)
00187 {
00188 _manContourControlCalc[i] -> SetActive(false);
00189 }
00190 int j;
00191 for (j = 0; j < (int)_manContourControlHypo.size(); j++)
00192 {
00193 _manContourControlHypo[j] -> SetActive(false);
00194 }
00195 }
00196
00197
00198 void manualContourContainer::setLumenActive()
00199 {
00200 if (_manContourControlWall != NULL)
00201 {
00202 _manContourControlWall -> SetActive(false);
00203 }
00204 _manContourControlLumen -> SetActive(true);
00205
00206 int i;
00207 for (i = 0; i < (int)_manContourControlCalc.size(); i++)
00208 {
00209 _manContourControlCalc[i] -> SetActive(false);
00210 }
00211
00212 int j;
00213 for (j = 0; j < (int)_manContourControlHypo.size(); j++)
00214 {
00215 _manContourControlHypo[j] -> SetActive(false);
00216 }
00217
00218
00219 }
00220
00221
00222 void manualContourContainer::setCalcActive()
00223 {
00224 if (_manContourControlWall != NULL)
00225 {
00226 _manContourControlWall -> SetActive(false);
00227 }
00228 if (_manContourControlLumen != NULL)
00229 {
00230 _manContourControlLumen -> SetActive(false);
00231 }
00232 int i;
00233 for (i = 0; i < (int)_manContourControlHypo.size(); i++)
00234 {
00235 _manContourControlHypo[i] -> SetActive(false);
00236 }
00237 int j;
00238 for (j = 0; j < (int)_manContourControlCalc.size(); j++)
00239 {
00240 _manContourControlCalc[j] -> SetActive(true);
00241 }
00242 }
00243
00244
00245 void manualContourContainer::setHypoActive()
00246 {
00247 if (_manContourControlWall != NULL)
00248 {
00249 _manContourControlWall -> SetActive(false);
00250 }
00251
00252 if (_manContourControlLumen != NULL)
00253 {
00254 _manContourControlLumen -> SetActive(false);
00255 }
00256
00257 int i;
00258 for (i = 0; i < (int)_manContourControlCalc.size(); i++)
00259 {
00260 _manContourControlCalc[i] -> SetActive(false);
00261 }
00262
00263 int j;
00264 for (j = 0; j < (int)_manContourControlHypo.size(); j++)
00265 {
00266 _manContourControlHypo[j] -> SetActive(true);
00267 }
00268 }
00269
00270
00271 void manualContourContainer::setCalcContourActive(int i)
00272 {
00273 if (_manContourControlWall != NULL)
00274 {
00275 _manContourControlWall -> SetActive(false);
00276 }
00277 if (_manContourControlLumen != NULL)
00278 {
00279 _manContourControlLumen -> SetActive(false);
00280 }
00281
00282 int j;
00283 for (j = 0; j < (int)_manContourControlHypo.size(); j++)
00284 {
00285 _manContourControlHypo[j] -> SetActive(false);
00286 }
00287
00288 _manContourControlCalc[i] -> SetActive(true);
00289 }
00290
00291
00292 void manualContourContainer::setHypoContourActive(int i)
00293 {
00294 if (_manContourControlWall != NULL)
00295 {
00296 _manContourControlWall -> SetActive(false);
00297 }
00298 if (_manContourControlLumen != NULL)
00299 {
00300 _manContourControlLumen -> SetActive(false);
00301 }
00302
00303 int j;
00304 for (j = 0; j < (int)_manContourControlCalc.size(); j++)
00305 {
00306 _manContourControlCalc[j] -> SetActive(true);
00307 }
00308
00309 _manContourControlHypo[i] -> SetActive(true);
00310 }
00311
00312
00313 int manualContourContainer::getNumberOfCalcContours()
00314 {
00315 return _manContourControlCalc.size();
00316 }
00317
00318
00319 int manualContourContainer::getNumberOfHypoContours()
00320 {
00321 return _manContourControlHypo.size();
00322 }
00323
00324
00325 void manualContourContainer::inactivate()
00326 {
00327 if (_manContourControlWall != NULL)
00328 {
00329 _manContourControlWall -> SetActive(false);
00330 }
00331 if (_manContourControlLumen != NULL)
00332 {
00333 _manContourControlLumen -> SetActive(false);
00334 }
00335
00336 int i;
00337 for (i = 0; i < (int)_manContourControlCalc.size(); i++)
00338 {
00339 _manContourControlCalc[i] -> SetActive(false);
00340 }
00341 int j;
00342 for (j = 0; j < (int)_manContourControlHypo.size(); j++)
00343 {
00344 _manContourControlHypo[j] -> SetActive(false);
00345 }
00346 }
00347
00348
00349 int manualContourContainer::getNumberOfWallContourPoints()
00350 {
00351 return _manContourControlWall->GetNumberOfPointsSplineManualContour();
00352 }
00353
00354
00355 int manualContourContainer::getNumberOfLumenContourPoints()
00356 {
00357 return _manContourControlLumen->GetNumberOfPointsSplineManualContour();
00358 }
00359
00360
00361 int manualContourContainer::getNumberOfCalcContourPoints(int i)
00362 {
00363 return _manContourControlCalc[i]->GetNumberOfPointsSplineManualContour();
00364 }
00365
00366
00367 int manualContourContainer::getNumberOfHypoContourPoints(int i)
00368 {
00369 return _manContourControlHypo[i]->GetNumberOfPointsSplineManualContour();
00370 }
00371
00372
00373 double* manualContourContainer::getXVectorWallPoints()
00374 {
00375 return _manContourControlWall->GetVectorPointsXManualContour();
00376 }
00377
00378
00379 double* manualContourContainer::getXVectorLumenPoints()
00380 {
00381 return _manContourControlLumen->GetVectorPointsXManualContour();
00382 }
00383
00384
00385 double* manualContourContainer::getXVectorCalcPoints(int i)
00386 {
00387 return _manContourControlCalc[i]->GetVectorPointsXManualContour();
00388 }
00389
00390
00391 double* manualContourContainer::getXVectorHypoPoints(int i)
00392 {
00393 return _manContourControlHypo[i]->GetVectorPointsXManualContour();
00394 }
00395
00396
00397 double* manualContourContainer::getYVectorWallPoints()
00398 {
00399 return _manContourControlWall->GetVectorPointsYManualContour();
00400 }
00401
00402
00403 double* manualContourContainer::getYVectorLumenPoints()
00404 {
00405 return _manContourControlLumen->GetVectorPointsYManualContour();
00406 }
00407
00408
00409 double* manualContourContainer::getYVectorCalcPoints(int i)
00410 {
00411 return _manContourControlCalc[i]->GetVectorPointsYManualContour();
00412 }
00413
00414
00415 double* manualContourContainer::getYVectorHypoPoints(int i)
00416 {
00417 return _manContourControlHypo[i]->GetVectorPointsYManualContour();
00418 }
00419
00420
00421 void manualContourContainer::clear()
00422 {
00423 clearWall();
00424 clearLumen();
00425 clearCalc();
00426 clearHypo();
00427 }
00428
00429
00430 void manualContourContainer::clearWall()
00431 {
00432 if (_mViewContourWall != NULL)
00433 {
00434 _mViewContourWall->ClearContour();
00435 }
00436
00437 }
00438
00439
00440 void manualContourContainer::clearLumen()
00441 {
00442 if (_mViewContourLumen != NULL)
00443 {
00444 _mViewContourLumen->ClearContour();
00445 }
00446
00447 }
00448
00449
00450 void manualContourContainer::clearCalc()
00451 {
00452 int i;
00453 for (i = 0; i < (int)_mViewContourCalc.size(); i++)
00454 {
00455 _mViewContourCalc[i] -> ClearContour();
00456 }
00457 }
00458
00459
00460 void manualContourContainer::clearHypo()
00461 {
00462 int j;
00463 for (j = 0; j < (int)_mViewContourHypo.size(); j++)
00464 {
00465 _mViewContourHypo[j] -> ClearContour();
00466 }
00467 }
00468
00469
00470
00471 void manualContourContainer::refreshWall(wxVtk2DBaseView *_imageviewer2D_1)
00472 {
00473
00474 if (_mContourModelWall == NULL)
00475 {
00476 return;
00477 }
00478
00479 int size = _mContourModelWall->GetSizeLstPoints();
00480 std::vector<manualPoint *> points;
00481
00482 int i;
00483 for (i = 0; i < size; i++)
00484 {
00485 points.push_back(_mContourModelWall->GetManualPoint(i));
00486 }
00487
00488 _mContourModelWall->DeleteAllPoints();
00489 _manContourControlWall->CreateNewManualContour();
00490 _manContourControlWall->SetActive(false);
00491 _mViewContourWall->RefreshContour();
00492 _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas(
00493 _manContourControlWall );
00494 for (i = 0; i < size; i++)
00495 {
00496 manualPoint* mp = points[i];
00497 int id = _manContourControlWall->GetManualContourModel()->AddPoint(mp->GetX(),mp->GetY(),mp->GetZ());
00498 _manContourControlWall->GetManualViewBaseContour()->AddPoint();
00499 _manContourControlWall->GetManualViewBaseContour()->Refresh();
00500 }
00501
00502
00503 }
00504
00505
00506 void manualContourContainer::refreshLumen(wxVtk2DBaseView *_imageviewer2D_1)
00507 {
00508 if (_mContourModelLumen == NULL)
00509 {
00510 return;
00511 }
00512 int size = _mContourModelLumen->GetSizeLstPoints();
00513 std::vector<manualPoint *> points;
00514
00515 int i;
00516 for (i = 0; i < size; i++)
00517 {
00518 points.push_back(_mContourModelLumen->GetManualPoint(i));
00519 }
00520
00521 _mContourModelLumen->DeleteAllPoints();
00522 _manContourControlLumen->CreateNewManualContour();
00523 _manContourControlLumen->SetActive(false);
00524 _mViewContourLumen->RefreshContour();
00525 _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas(
00526 _manContourControlLumen );
00527 for (i = 0; i < size; i++)
00528 {
00529 manualPoint* mp = points[i];
00530 int id = _manContourControlLumen->GetManualContourModel()->AddPoint(mp->GetX(),mp->GetY(),mp->GetZ());
00531 _manContourControlLumen->GetManualViewBaseContour()->AddPoint();
00532 _manContourControlLumen->GetManualViewBaseContour()->Refresh();
00533 }
00534 }
00535
00536
00537 void manualContourContainer::refreshCalc(int j,wxVtk2DBaseView *_imageviewer2D_1)
00538 {
00539
00540 int size = _mContourModelCalc[j]->GetSizeLstPoints();
00541 std::vector<manualPoint *> points;
00542
00543 int i;
00544 for (i = 0; i < size; i++)
00545 {
00546 points.push_back(_mContourModelCalc[j]->GetManualPoint(i));
00547 }
00548
00549 _mContourModelCalc[j]->DeleteAllPoints();
00550 _manContourControlCalc[j]->CreateNewManualContour();
00551 _manContourControlCalc[j]->SetActive(false);
00552 _mViewContourCalc[j]->RefreshContour();
00553 _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas(
00554 _manContourControlCalc[j] );
00555 for (i = 0; i < size; i++)
00556 {
00557 manualPoint* mp = points[i];
00558 int id = _manContourControlCalc[j]->GetManualContourModel()->AddPoint(mp->GetX(),mp->GetY(),mp->GetZ());
00559 _manContourControlCalc[j]->GetManualViewBaseContour()->AddPoint();
00560 _manContourControlCalc[j]->GetManualViewBaseContour()->Refresh();
00561 }
00562
00563
00564
00565 }
00566
00567
00568 void manualContourContainer::refreshHypo(int j,wxVtk2DBaseView *_imageviewer2D_1)
00569 {
00570
00571 int size = _mContourModelHypo[j]->GetSizeLstPoints();
00572 std::vector<manualPoint *> points;
00573
00574 int i;
00575 for (i = 0; i < size; i++)
00576 {
00577 points.push_back(_mContourModelHypo[j]->GetManualPoint(i));
00578 }
00579
00580 _mContourModelHypo[j]->DeleteAllPoints();
00581 _manContourControlHypo[j]->CreateNewManualContour();
00582 _manContourControlHypo[j]->SetActive(false);
00583 _mViewContourHypo[j]->RefreshContour();
00584 _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas(
00585 _manContourControlHypo[j] );
00586 for (i = 0; i < size; i++)
00587 {
00588 manualPoint* mp = points[i];
00589 int id = _manContourControlHypo[j]->GetManualContourModel()->AddPoint(mp->GetX(),mp->GetY(),mp->GetZ());
00590 _manContourControlHypo[j]->GetManualViewBaseContour()->AddPoint();
00591 _manContourControlHypo[j]->GetManualViewBaseContour()->Refresh();
00592 }
00593 }
00594
00595
00596 void manualContourContainer::restartWallContour(wxVtk2DBaseView *_imageviewer2D_1)
00597 {
00598 if (_manContourControlWall == NULL)
00599 {
00600 return;
00601 }
00602 delete _manContourControlWall;
00603 delete _mContourModelWall;
00604 delete _mViewContourWall;
00605
00606 _manContourControlWall = new manualContourControler();
00607 _mContourModelWall = new manualContourModel();
00608 _mViewContourWall = new manualViewContour();
00609
00610 _mViewContourWall->SetRange( (int)(0.6) );
00611
00612 _mViewContourWall->SetModel( _mContourModelWall );
00613 _mViewContourWall->SetWxVtkBaseView( _imageviewer2D_1 );
00614
00615 _mViewContourWall->SetZ( 1000 );
00616 _mViewContourWall->SetColorNormalContour(0.2, 0.6, 1);
00617 _mViewContourWall->SetColorEditContour(1, 1, 0.33);
00618
00619 _manContourControlWall->SetModelView( _mContourModelWall , _mViewContourWall );
00620 _manContourControlWall->CreateNewManualContour();
00621 _manContourControlWall->SetActive(false);
00622 _mViewContourWall->RefreshContour();
00623 }
00624
00625 void manualContourContainer::restartLumenContour(wxVtk2DBaseView *_imageviewer2D_1)
00626 {
00627
00628 if (_manContourControlLumen == NULL)
00629 {
00630 return;
00631 }
00632 delete _manContourControlLumen;
00633 delete _mContourModelLumen;
00634 delete _mViewContourLumen;
00635
00636 _manContourControlLumen = new manualContourControler();
00637 _mContourModelLumen = new manualContourModel();
00638 _mViewContourLumen = new manualViewContour();
00639 _mViewContourLumen->SetModel( _mContourModelLumen );
00640 _mViewContourLumen->SetWxVtkBaseView( _imageviewer2D_1 );
00641
00642 _mViewContourLumen->SetRange( (int)(0.6) );
00643 _mViewContourLumen->SetZ( 1000 );
00644 _mViewContourLumen->SetColorNormalContour(1, 0, 0);
00645 _mViewContourLumen->SetColorEditContour(1, 1, 0.33);
00646
00647 _manContourControlLumen->SetModelView( _mContourModelLumen , _mViewContourLumen );
00648 _manContourControlLumen->CreateNewManualContour();
00649 _manContourControlLumen->SetActive(false);
00650 _mViewContourLumen->RefreshContour();
00651 }
00652
00653
00654 void manualContourContainer::restartCalcContours()
00655 {
00656 int i;
00657 for (i = 0; i < (int)_mContourModelCalc.size(); i++)
00658 {
00659
00660 _manContourControlCalc[i] = NULL;
00661 _mContourModelCalc[i] = NULL;
00662 _mViewContourCalc[i] = NULL;
00663
00664 delete _manContourControlCalc[i];
00665 delete _mContourModelCalc[i];
00666 delete _mViewContourCalc[i];
00667 }
00668
00669 _manContourControlCalc.clear();
00670 _mContourModelCalc.clear();
00671 _mViewContourCalc.clear();
00672 }
00673
00674
00675 void manualContourContainer::restartHypoContours()
00676 {
00677 int i;
00678 for (i = 0; i < (int)_mContourModelHypo.size(); i++)
00679 {
00680
00681 _manContourControlHypo[i] = NULL;
00682 _mContourModelHypo[i] = NULL;
00683 _mViewContourHypo[i] = NULL;
00684
00685 delete _manContourControlHypo[i];
00686 delete _mContourModelHypo[i];
00687 delete _mViewContourHypo[i];
00688 }
00689
00690 _manContourControlHypo.clear();
00691 _mContourModelHypo.clear();
00692 _mViewContourHypo.clear();
00693 }
00694
00695
00696 void manualContourContainer::createWallContour(wxVtk2DBaseView *_imageviewer2D_1)
00697 {
00698
00699 _manContourControlWall = new manualContourControler();
00700 _mContourModelWall = new manualContourModel();
00701 _mViewContourWall = new manualViewContour();
00702 _mViewContourWall->SetModel( _mContourModelWall );
00703 _mViewContourWall->SetWxVtkBaseView( _imageviewer2D_1 );
00704
00705 _mViewContourWall->SetRange( (int)(0.6) );
00706
00707 _mViewContourWall->SetZ( 1000 );
00708 _mViewContourWall->SetColorNormalContour(0.2, 0.6, 1);
00709 _mViewContourWall->SetColorEditContour(1, 1, 0.33);
00710
00711 _manContourControlWall->SetModelView( _mContourModelWall , _mViewContourWall );
00712 _manContourControlWall->CreateNewManualContour();
00713 _manContourControlWall->SetActive(false);
00714 _mViewContourWall->RefreshContour();
00715 }
00716
00717
00718 void manualContourContainer::createLumenContour(wxVtk2DBaseView *_imageviewer2D_1)
00719 {
00720
00721
00722 _manContourControlLumen = new manualContourControler();
00723 _mContourModelLumen = new manualContourModel();
00724 _mViewContourLumen = new manualViewContour();
00725 _mViewContourLumen->SetModel( _mContourModelLumen );
00726 _mViewContourLumen->SetWxVtkBaseView( _imageviewer2D_1 );
00727
00728 _mViewContourLumen->SetRange( (int)(0.6) );
00729
00730 _mViewContourLumen->SetZ( 1000 );
00731 _mViewContourLumen->SetColorNormalContour(1, 0, 0);
00732 _mViewContourLumen->SetColorEditContour(1, 1, 0.33);
00733
00734 _manContourControlLumen->SetModelView( _mContourModelLumen , _mViewContourLumen );
00735 _manContourControlLumen->CreateNewManualContour();
00736 _manContourControlLumen->SetActive(false);
00737 _mViewContourLumen->RefreshContour();
00738 }