From 06b4871abe344407fcce79f440ecef87a2afe8f0 Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Thu, 28 Jun 2012 10:58:26 +0000 Subject: [PATCH] BUG 1440 and 1441 - Opacity of the text in the ShowNPoints box is not working - The IO in ShowNPoints is not working with an empty description of points. And BUG 1439 from creaContours --- bbtk/src/bbmaracasvisuShowNPoints.cxx | 14 +++- .../manualContour/manualViewContour.cpp | 76 +++++++++++++------ .../widgets/manualContour/manualViewContour.h | 8 +- 3 files changed, 69 insertions(+), 29 deletions(-) diff --git a/bbtk/src/bbmaracasvisuShowNPoints.cxx b/bbtk/src/bbmaracasvisuShowNPoints.cxx index 63b5236..25debba 100644 --- a/bbtk/src/bbmaracasvisuShowNPoints.cxx +++ b/bbtk/src/bbmaracasvisuShowNPoints.cxx @@ -6,6 +6,7 @@ #include "vtkPolyDataMapper.h" #include "vtkRenderWindow.h" #include "vtkTextActor3D.h" +#include namespace bbcreaMaracasVisu { @@ -344,7 +345,8 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event) //EED int result_FD = FD->ShowModal(); - + std::string tmpLabel; + // This line is need it by windows //EED FD->SetReturnCode( result_FD ); @@ -366,7 +368,13 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event) y=lstPointsY[i]; z=lstPointsZ[i]; value= mimage->GetScalarComponentAsDouble(x,y,z,0); - fprintf(ff,"%d\t%d\t%d\t%f\t%s\n", x , y , z , value , lstLabels[i].c_str()); + if (lstLabels[i]!="") + { + tmpLabel=lstLabels[i]; + } else{ + tmpLabel="<_VOID_>"; + } + fprintf(ff,"%d\t%d\t%d\t%f\t%s\n", x , y , z , value , tmpLabel.c_str()); } // for fclose(ff); } else { // else ff @@ -409,6 +417,7 @@ void WidgetShowNPoints::OnAddPoint (wxCommandEvent& event) for (i=0; i")==0) { strcpy(chartmp,""); } AddPoint(x,y,z, chartmp ); } fclose(ff); @@ -591,6 +600,7 @@ void WidgetShowNPoints::UpdatePoints(wxCommandEvent &event) { this->lstSourceSphere[i]->SetRadius(mradio); this->lstActorsSphere[i]->GetProperty()->SetOpacity(mopacity); + this->lstActorsText[i]->GetTextProperty()->SetOpacity(mopacity); this->lstActorsText[i]->SetPosition(this->lstActorsText[i]->GetPosition()[0]+difradio,this->lstActorsText[i]->GetPosition()[1], this->lstActorsText[i]->GetPosition()[2]); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.cpp index ceaa1c2..3a42953 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.cpp @@ -6,9 +6,15 @@ manualViewContour::manualViewContour() { - _id_viewPoint_for_text = 0; - _mesureScale = 1; - _initialConoturModel = new manualContourModel(); + _id_viewPoint_for_text = 0; + _mesureScale = 1; + _initialConoturModel = new manualContourModel(); + + _minX = 99999; + _minY = 99999; + _maxX = -99999; + _maxY = -99999; + } // ---------------------------------------------------------------------------- manualViewContour::~manualViewContour() @@ -63,6 +69,7 @@ void manualViewContour::RefreshContour() // virtual //JSTG 25-02-08 -------------------- //double t,delta, x,y,z; double x,y,z; + double xx,yy,zz; //---------------------------------- _manContModel->UpdateSpline(); @@ -71,7 +78,11 @@ void manualViewContour::RefreshContour() // virtual nps = _manContModel->GetNumberOfPointsSpline(); //delta=( double ) ( np ) / ( double ) ( nps-1 ); //JSTG 25-02-08 - + _minX=99999; + _minY=99999; + _maxX=-99999; + _maxY=-99999; + if ( _pts!=NULL ) { if (np>=2 ) @@ -85,8 +96,17 @@ void manualViewContour::RefreshContour() // virtual //-------------------------------------------------------------- // EED 27 sep 2006 // _pts->SetPoint(i, x,y,z ); - _pts->SetPoint(i, x*_spc[0], y*_spc[1], z*_spc[2] ); - + xx=x*_spc[0]; + yy=y*_spc[1]; + zz=z*_spc[2]; + _pts->SetPoint(i,xx,yy,zz ); + +//EED 27 Juin 2012 + if (xx < _minX) { _minX = xx; } + if (yy < _minY) { _minY = yy; } + if (xx > _maxX) { _maxX = xx; } + if (yy > _maxY) { _maxY = yy; } + }// for } else @@ -190,30 +210,36 @@ bool manualViewContour::ifTouchContour(int x,int y,int z) yy = yy * _spc[1]; zz = zz * _spc[2]; - unsigned int i, nps,nps_t; - nps = _sizePointsContour; + if ( (xx>=_minX) && (yy>=_minY) && (xx<=_maxX) && (yy<=_maxY)) { - if (this->_manContModel->IfCloseContour()==true) - { - nps_t = nps; - } else { + unsigned int i, nps,nps_t; + nps = _sizePointsContour; + + if (this->_manContModel->IfCloseContour()==true) + { + nps_t = nps; + } else { nps_t = nps-1; - } + } // if close - for( i = 0; i < nps_t; i++ ) - { - _pts->GetPoint(i%nps, ppA); - _pts->GetPoint((i+1)%nps, ppB); - d1= sqrt( (ppA[0]-xx)*(ppA[0]-xx) + (ppA[1]-yy)*(ppA[1]-yy) + (ppA[2]-zz)*(ppA[2]-zz)); - d2= sqrt( (ppB[0]-xx)*(ppB[0]-xx) + (ppB[1]-yy)*(ppB[1]-yy) + (ppB[2]-zz)*(ppB[2]-zz)); - d3= sqrt( (ppB[0]-ppA[0])*(ppB[0]-ppA[0]) + (ppB[1]-ppA[1])*(ppB[1]-ppA[1]) + (ppB[2]-ppA[2])*(ppB[2]-ppA[2])); + printf("EED manualViewContour::ifTouchContour \n"); - if ( ((d1+d2)>=d3) && ((d1+d2)<=d3*1.3) ) + for( i = 0; i < nps_t; i++ ) { - result=true; - i=nps; - } - } +printf("%d ", i); + _pts->GetPoint(i%nps, ppA); + _pts->GetPoint((i+1)%nps, ppB); + d1 = sqrt( (ppA[0]-xx)*(ppA[0]-xx) + (ppA[1]-yy)*(ppA[1]-yy) + (ppA[2]-zz)*(ppA[2]-zz)); + d2 = sqrt( (ppB[0]-xx)*(ppB[0]-xx) + (ppB[1]-yy)*(ppB[1]-yy) + (ppB[2]-zz)*(ppB[2]-zz)); + d3 = sqrt( (ppB[0]-ppA[0])*(ppB[0]-ppA[0]) + (ppB[1]-ppA[1])*(ppB[1]-ppA[1]) + (ppB[2]-ppA[2])*(ppB[2]-ppA[2])); + + if ( ((d1+d2)>=d3) && ((d1+d2)<=d3*1.3) ) + { + result=true; + i=nps; + } // if + } // for i + } // if min max return result; } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.h index 330526d..3acc8fa 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewContour.h @@ -33,10 +33,14 @@ private: double _mesureScale; std::vector< std::vector > _initialMovingPoints; manualContourModel * _initialConoturModel; - virtual void RefreshText(); -protected: +protected: + double _minX; + double _minY; + double _maxX; + double _maxY; + }; #endif // manualViewContour_h -- 2.47.1