X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2FpPlotter.cxx;h=97015de50c4af851b37f436bfddc0460d0dd52fd;hb=ae196719490130990cdde501c982c3370b46b21c;hp=769aa45398c039accc201b59d30f2670ef020f43;hpb=c5feadbb145eecf6d73f793535b7e23eb18db2cb;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx index 769aa45..97015de 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pPlotter.cxx @@ -100,7 +100,7 @@ END_EVENT_TABLE() { SetBackgroundColour(wxColour(255,255,255)); m_plot = new pPlotterWindow( this, -1, wxPoint(0,0), wxSize(nWidth,nHeight), wxSUNKEN_BORDER ); - + actualFunction =NULL; // Adding the axis layers to the plotter m_plot->AddLayer( new pPlotterScaleX() ); m_plot->AddLayer( new pPlotterScaleY() ); @@ -142,14 +142,14 @@ END_EVENT_TABLE() mpWindow* mplotWindow = ((mpWindow*)m_plot); float minReal_X = 0; //(float)mplotWindow->getMinScrX(); float maxReal_X =(float)mplotWindow->getMaxScrX(); - float scrX=(float)mplotWindow->GetScrX()-100; - double scaleX=(scrX/(maxReal_X))* (mplotWindow->getZoomFactor()); // ........ + //float scrX=(float)mplotWindow->GetScrX()-100; // JPRx + //double scaleX=(scrX/(maxReal_X))* (mplotWindow->getZoomFactor()); // JPRx // Creating the color bar with values according to the plotter added widget color_bar = new pColorBar(this, (m_plot->GetSize()).GetWidth(),40, true); - color_bar -> setRepresentedValues (minReal_X, maxReal_X); + color_bar -> setRepresentedValues ((int)minReal_X, (int)maxReal_X); color_bar -> setDeviceBlitStart (70,0); - color_bar -> setVisibleRange (minReal_X, maxReal_X); + color_bar -> setVisibleRange ((int)minReal_X,(int) maxReal_X); color_bar -> setDeviceEndMargin (50); @@ -182,8 +182,9 @@ END_EVENT_TABLE() pPlotter :: ~pPlotter () - { - + { + + } //--------------------------------------------------------------------------------------------- @@ -276,7 +277,7 @@ void pPlotter :: onMoved_ColorPoint(wxCommandEvent& event) { text.Clear(); text = _T( "Last event was on color bar: Color point moved to: "); - int lastReal_X = (color_bar->getLastMovedColorPoint())->getRealX(); + int lastReal_X = (int)(color_bar->getLastMovedColorPoint())->getRealX(); text << lastReal_X; barrange ->setRealX_vertical_line (lastReal_X); @@ -347,7 +348,7 @@ void pPlotter :: onChangeFunction (wxCommandEvent& event) else color_bar ->reinitiateColorBarTo(actualColorPoints); - color_bar -> setVisibleRange (realMin_X, maxShowed); + color_bar -> setVisibleRange ((int)realMin_X, maxShowed); // Refresh color_bar -> RefreshForce(); @@ -440,9 +441,9 @@ void pPlotter::onStartChange_Bar(wxCommandEvent& event) text += wxString::Format(_T("%d"), realMin_X); double realMax_X = m_plot->getMaxScrX(); - color_bar -> setVisibleRange (realMin_X, realMax_X); + color_bar -> setVisibleRange (realMin_X, (int)realMax_X); - m_plot->actualizeViewRange(realMin_X,realMax_X); + m_plot->actualizeViewRange(realMin_X, (int)realMax_X); //setting the plotter for draw the functions that //it has to move. @@ -464,8 +465,8 @@ void pPlotter::onEndChange_Bar(wxCommandEvent& event) int realMax_X = barrange->GetEnd(); text += wxString::Format(_T("%d"),realMax_X); double realMin_X = m_plot->getMinScrX(); - color_bar -> setVisibleRange (realMin_X, realMax_X); - m_plot->actualizeViewRange(realMin_X,realMax_X); + color_bar -> setVisibleRange ((int)realMin_X, realMax_X); + m_plot->actualizeViewRange((int)realMin_X,realMax_X); float startP=(float)barrange->getStartShowPorcentage(); float endP=(float)barrange->getEndShowPorcentage(); @@ -633,8 +634,8 @@ void pPlotter :: sendTMessage(wxString theText) } void pPlotter::eraseColorPoints() { - int min=color_bar->getMinValue(); - int max=color_bar->getMaxValue(); + int min=(int)color_bar->getMinValue(); + int max=(int)color_bar->getMaxValue(); color_bar->reinitiateColorBar(min,max); } @@ -717,5 +718,55 @@ void pPlotter :: sendTMessage(wxString theText) */ +/** +** Returns two vectors, the grey level of the point and its value, the value is between [0,1] +**/ +void pPlotter::GetValuesPointsFunction(std::vector& greylevel,std::vector& value, int histogramsize) +{ + if(actualFunction != NULL){ + double* xval = actualFunction->getX_RealValues(); + double* yval = actualFunction->getY_RealValues(); + + actualFunction->getScaleY(); + for(int i = 0; i < actualFunction->getSizePoints();i++){ + greylevel.push_back(xval[i]); + value.push_back(yval[i]/histogramsize); + } + } +} + +/** +** Returns two vectors, the grey level of the point and its value, the red, green +** and blue value is between [0,1] +**/ +void pPlotter::GetValuesColorPointsFunction(std::vector& greylevel, + std::vector& red, + std::vector& green, + std::vector& blue) +{ + + if(color_bar != NULL){ + + std::vector colors; + color_bar->getAddedColorsPointsList(colors); + + for(int i = 0; i < colors.size();i++){ + pColorPoint* pcolor = colors[i]; + + greylevel.push_back(pcolor->getRealX()); + wxColour colour = pcolor->getColor(); + + double _red = (double)(colour.Red())/255.0; + double _green = (double)(colour.Green())/255.0; + double _blue = (double)(colour.Blue())/255.0; + + red.push_back(_red); + green.push_back(_green); + blue.push_back(_blue); + } + } +} + +