wxWidgetVOI::wxWidgetVOI(wxWindow* parent, wxVtkBaseView *wxvtkbaseview, vtkImageData *imagedata)
: wxPanel( parent, -1 )
{
- wxPanel *panel = this;
+// wxPanel *panel = this;
- mcontourvoiwidget = new ContourVOIWidget( panel, wxvtkbaseview, imagedata );
+ if(wxvtkbaseview!=NULL&&imagedata!=NULL){
+
+ setBaseView(wxvtkbaseview);
+ setImageData(imagedata);
+ initializeVOIWidget();
+
+ }
+
+
+ }
+
+ void wxWidgetVOI::setBaseView(wxVtkBaseView * wxvtkbaseview){
+ this->wxvtkbaseview = wxvtkbaseview;
+ }
+ void wxWidgetVOI::setImageData(vtkImageData * imagedata){
+ this->imagedata = imagedata;
+ }
+
+ void wxWidgetVOI::initializeVOIWidget(){
+ mcontourvoiwidget = new ContourVOIWidget( this, wxvtkbaseview, imagedata );
mcontourvoiwidget->ConfigureVTK();
// wxwidget = new wxMPRWidget2( panel, marimagedata , 1 );
wxFlexGridSizer *sizer=new wxFlexGridSizer(1);
sizer -> Add( mcontourvoiwidget,1,wxGROW );
sizer -> AddGrowableCol(0);
- panel -> SetSizer(sizer);
- panel -> SetAutoLayout(true);
- panel -> Layout();
+ this -> SetSizer(sizer);
+ this -> SetAutoLayout(true);
+ this -> Layout();
+ this->Refresh();
}
//--------------------------------------------------------------------------
wxWidgetVOI::~wxWidgetVOI()
//--------------------------------------------------------------------------
void wxWidgetVOI::Refresh()
{
- printf("EED wxWidgetVOI::Refresh \n");
// wxwidget->RefreshView();
}
//---------------
void wxWidgetVOI::OnRefreshView(wxCommandEvent &event)
{
- printf("EED wxWidgetVOI::OnRefreshView \n");
/*
if((wxwidget!=NULL) && (mbbViewerMPR!=NULL))
{
//--------------------------------------------------------------------------
void wxWidgetVOI::OnDClickLeft(wxCommandEvent & event)
{
- printf("EED wxWidgetVOI::OnDClickLeft \n");
// wxwidget->RefreshView();
}
//------------------------------------------------------
void ContourVOI::Process()
{
+
+ /*if (bbGetInputwxVtkBaseView()==NULL)
+ {
+ wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'wxVtkBaseView' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
+ }
+ if (bbGetInputIn()==NULL)
+ {
+ wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'In' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
+ }*/
+
+
+ vtkImageData* img = bbGetInputIn();
+ wxVtkBaseView* base = bbGetInputwxVtkBaseView();
+
wxWidgetVOI* wxwidgetvoi = (wxWidgetVOI*)bbGetOutputWidget();
- if (wxwidgetvoi!=NULL){
+
+ if(base !=NULL && img != NULL && _img != img){
+
+ _img = img;
+ _base = base;
+
+ wxwidgetvoi->setBaseView(base);
+ wxwidgetvoi->setImageData(img);
+ wxwidgetvoi->initializeVOIWidget();
+ }
+
+
+ if (wxwidgetvoi!=NULL && _img!=NULL && _base != NULL){
ContourVOIWidget* contourvoiwidget = wxwidgetvoi->GetContourVOIWidget();
-
+
int voi[6];
contourvoiwidget->GetVOI(voi);
char buffer[40];
sprintf(buffer,"%d %d %d ", voi[1]-voi[0]+1, voi[3]-voi[2]+1, voi[5]-voi[4]+1 );
std::string Size(buffer);
+ std::cout<<"ContourVOI index "<<Index<<" size "<<Size<<std::endl;
+
bbSetOutputIndex( Index );
bbSetOutputSize( Size );
- } //wxwidgetvoi
+ }
+
}
//------------------------------------------------------
void ContourVOI::CreateWidget(wxWindow* parent)
{
bbtkDebugMessageInc("Core",9,"ContourVOI::CreateWidget()"<<std::endl);
-
- if (bbGetInputwxVtkBaseView()==NULL)
- {
- wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'wxVtkBaseView' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
- }
- if (bbGetInputIn()==NULL)
- {
- wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'In' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
- }
-
- wxWidgetVOI *mwxwidget = new wxWidgetVOI( parent, bbGetInputwxVtkBaseView(), bbGetInputIn() );
-
+ wxWidgetVOI *mwxwidget = new wxWidgetVOI( parent );
bbSetOutputWidget(mwxwidget);
bbtkDebugDecTab("Core",9);
+ this->bbSignalOutputModification();
+
+ //Process();
}
//------------------------------------------------------
void ContourVOI::bbUserConstructor()
{
+
+ _img = NULL;
+ _base = NULL;
+ bbSetInputwxVtkBaseView(NULL);
+ bbSetInputIn(NULL);
+ bbSetOutputWidget(NULL);
+
+ bbSetInputIn(NULL);
+ bbSetInputwxVtkBaseView(NULL);
+
}
//------------------------------------------------------
void ContourVOI::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
{
+ _img = NULL;
+ _base = NULL;
+
}
//------------------------------------------------------