1 #include "bbmaracasvisuPlotterView.h"
2 #include "bbcreaMaracasVisuPackage.h"
4 #include "pPlotterScaleX.h"
5 #include "pPlotterScaleY.h"
8 namespace bbcreaMaracasVisu
11 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,PlotterView)
12 BBTK_BLACK_BOX_IMPLEMENTATION(PlotterView,bbtk::WxBlackBox);
14 //---------------------------------------------------
15 void PlotterView::Process()
17 // if (firsttime==true)
22 printf("EED PlotterView::Process %d %d \n ", bbGetInputInY().size(),bbGetInputInY2().size());
24 pGraphicalFunction *pGF = mwxwidget->getFunction(0);
25 pGraphicalFunction *pGF2 = mwxwidget->getFunction(1);
27 if ( (bbGetInputInY().size()!=0) && (bbGetInputInY2().size()==0) )
29 bbSetInputInY2( bbGetInputInY() );
32 if ( (bbGetInputInY().size()!=0) && (pGF==NULL) )
34 // avoid 'taking address of temporary '
35 //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
37 std::vector<double> inX;
38 if (bbGetInputInX().size()==0)
40 int i,size=bbGetInputInY().size();
43 inX.push_back((double)i);
46 inX = bbGetInputInX();
48 std::vector<double> inY = bbGetInputInY();
51 std::vector<double> inX;
52 std::vector<double> inY;
53 inX.push_back(0); inX.push_back(200);
54 inY.push_back(0); inY.push_back(1);
56 pGF = mwxwidget->getFunctionForVectors( &inX, &inY );
57 mwxwidget->addFunction(pGF);
60 if ((bbGetInputInY2().size()!=0)&& (pGF2==NULL) )
62 // avoid 'taking address of temporary '
63 //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
65 std::vector<double> inX2;
66 if (bbGetInputInX().size()==0)
68 int i,size=bbGetInputInY2().size();
71 inX2.push_back((double)i);
74 inX2 = bbGetInputInX();
76 std::vector<double> inY2 = bbGetInputInY();
78 std::vector<double> inX2;
79 std::vector<double> inY2;
80 inX2.push_back(0); inX2.push_back(200);
81 inY2.push_back(0); inY2.push_back(1);
83 pGF2 = mwxwidget->getFunctionForVectors( &inX2, &inY2 );
84 mwxwidget->addFunction(pGF2);
92 int i,sizePoints = pGF->getSizePoints();
93 for (i=1; i<sizePoints;i++)
95 pGF->deletePointAt(1); // EED here NOT 0 is 1
99 sizePoints=bbGetInputInY().size();
100 for (i=0; i<sizePoints;i++)
102 if (i<bbGetInputInX().size())
104 px = bbGetInputInX()[i];
108 pGF->AddNewPoint( px, bbGetInputInY()[i] );
116 int i,sizePoints = pGF2->getSizePoints();
117 for (i=0; i<sizePoints;i++)
119 pGF2->deletePointAt(1); // EED here NOT 0 is 1
123 sizePoints=bbGetInputInY2().size();
124 for (i=0; i<sizePoints;i++)
126 if (i<bbGetInputInX().size())
128 px = bbGetInputInX()[i];
132 pGF2->AddNewPoint( px, bbGetInputInY2()[i] );
136 mwxwidget->UpdateAll();
142 //---------------------------------------------------
143 void PlotterView::CreateWidget(wxWindow* parent)
145 bbtkDebugMessageInc("Core",9,"PlotterView::CreateWxWindow()"<<std::endl);
147 mwxwidget = new pPlotterWindow( parent , -1,wxDefaultPosition, wxDefaultSize, 0 );
148 mwxwidget->AddLayer(new pPlotterScaleX());
149 mwxwidget->AddLayer(new pPlotterScaleY());
151 mwxwidget->setMinScrY(0);
152 mwxwidget->setMaxScrY(5000);
155 bbtkDebugDecTab("Core",9);
156 bbSetOutputWidget( mwxwidget );
159 //---------------------------------------------------
160 void PlotterView::bbUserSetDefaultValues()
166 //-----------------------------------------------------------------
167 void PlotterView::bbUserInitializeProcessing()
171 //-----------------------------------------------------------------
172 void PlotterView::bbUserFinalizeProcessing()
176 //-----------------------------------------------------------------
179 // EO namespace bbcreaMaracasVisu