X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuTransferFunctionView.cxx;h=5d2e2941b0fcfa1e305d24dd97f07d5bcaa6ce8e;hb=de28ababf60ed57a0f4381c159a2ee8c7515b213;hp=fb08960103c2527342858756b5930475927995cd;hpb=6e940f8b87d85a90438f01d56c3c6c92da2bc14a;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuTransferFunctionView.cxx b/bbtk/src/bbmaracasvisuTransferFunctionView.cxx index fb08960..5d2e294 100644 --- a/bbtk/src/bbmaracasvisuTransferFunctionView.cxx +++ b/bbtk/src/bbmaracasvisuTransferFunctionView.cxx @@ -10,13 +10,7 @@ BBTK_BLACK_BOX_IMPLEMENTATION(TransferFunctionView,bbtk::WxBlackBox); void TransferFunctionView::Process() { - std::vector greylevel; - std::vector value; - - std::vector greylevelcolors; - std::vector red; - std::vector green; - std::vector blue; + @@ -24,28 +18,13 @@ void TransferFunctionView::Process() if(_currentimg != bbGetInputIn()){ _currentimg = bbGetInputIn(); - mwxwidget->initializeHistogram(_currentimg); - mwxwidget->Refresh(); - } - - mwxwidget->GetValuesPointsFunction(greylevel, value); - mwxwidget->GetValuesColorPointsFunction(greylevelcolors,red, green,blue); - - - _tfun->RemoveAllPoints(); - for(int i = 0; i < greylevel.size();i++){ - _tfun->AddPoint(greylevel[i], value[i]); -// std::cout<<"transfer function "<RemoveAllPoints(); - for(int i = 0; i < greylevelcolors.size();i++){ - _ctfun->AddRGBPoint(greylevelcolors[i], red[i],green[i], blue[i]); -// std::cout<<"transfer color function "<initializeHistogram(_currentimg); + mwxwidget->setImageData(_currentimg); + //mwxwidget->Refresh(); } - - bbSetOutputOpacityFunction(_tfun); - bbSetOutputColorFunction(_ctfun); + onColorChange(); + /*bbSetOutputGreyLevel(greylevel); bbSetOutputValue(value); bbSetOutputGreyLevelColors(greylevelcolors); @@ -61,17 +40,69 @@ void TransferFunctionView::Process() } +void TransferFunctionView::onColorChange(){ + + std::vector greylevel; + std::vector value; + + std::vector greylevelcolors; + std::vector red; + std::vector green; + std::vector blue; + + mwxwidget->GetValuesPointsFunction(greylevel, value); + mwxwidget->GetValuesColorPointsFunction(greylevelcolors,red, green,blue); + + + _tfun->RemoveAllPoints(); + for(int i = 0; i < greylevel.size();i++){ + _tfun->AddPoint(greylevel[i], value[i]); + //std::cout<<"TransferFunctionView::Process()transfer function "<RemoveAllPoints(); + for(int i = 0; i < greylevelcolors.size();i++){ + _ctfun->AddRGBPoint(greylevelcolors[i], red[i],green[i], blue[i]); + //std::cout<<"TransferFunctionView::Process()transfer color function "<Update(); + bbSetOutputOpacityFunction(_tfun); + bbSetOutputColorFunction(_ctfun); +} + +void TransferFunctionView::onSliderChange(){ + + + + + bbSignalOutputModification(); + + bbSetOutputWindowLevel(mwxwidget->GetWindowLevel()); + bbSetOutputColorLevel(mwxwidget->GetColorLevel()); + +} + //----------------------------------------------------- void TransferFunctionView::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"TransferFunctionView::CreateWxWindow()"<Connect(mwxwidget->GetId(), wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction) (&HandlerTransferFunctionView::onColorChange),NULL,handler); + parent->Connect(mwxwidget->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction) (&HandlerTransferFunctionView::onSliderChange),NULL,handler); - mwxwidget = new HistogramWidget(parent, -1); bbtkDebugDecTab("Core",9); - bbSetOutputWidget( mwxwidget ); + bbSetOutputWidget( mwxwidget ); } //----------------------------------------------------- + void TransferFunctionView::bbUserSetDefaultValues() { mwxwidget = NULL; @@ -98,10 +129,27 @@ void TransferFunctionView::bbUserSetDefaultValues() void TransferFunctionView::bbUserFinalizeProcessing() { } - + + //----------------------------------------------------------------- + + + HandlerTransferFunctionView::HandlerTransferFunctionView(TransferFunctionView* box){ + _box = box; + } + HandlerTransferFunctionView::~HandlerTransferFunctionView(){ + + } + void HandlerTransferFunctionView::onColorChange(wxCommandEvent& event){ + _box->onColorChange(); + } + void HandlerTransferFunctionView::onSliderChange(wxCommandEvent& event){ + _box->onSliderChange(); + } } + + // EO namespace bbcreaMaracasVisu