From d4f6c5cb7ede3153395f46a4dbfd9e741672b3f4 Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Thu, 18 Nov 2021 14:41:45 +0100 Subject: [PATCH] #3474 PlaneWidget Box with representation:Wireframe and resolution --- bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx | 13 ++++++++-- bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h | 2 ++ lib/creaVtk/creaVtkPlaneWidget.cpp | 24 +++++++++++++++---- lib/creaVtk/creaVtkPlaneWidget.h | 3 +++ 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx index 91de0a6..4100723 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx @@ -44,6 +44,8 @@ void PlaneWidget::Process() // * TYPE is the C++ type of the input/output // (the one provided in the attribute 'type' of the tag 'input') +printf("EED void PlaneWidget::Process Start\n"); + if ((bbGetInputIn()==NULL) || (bbGetInputRenderer()==NULL)) { bbSetOutputOut( NULL ); @@ -56,11 +58,17 @@ void PlaneWidget::Process() _boxcreavtkplanewidget.SetImage( bbGetInputIn() ); _boxcreavtkplanewidget.SetResolution( bbGetInputResolution() ); _boxcreavtkplanewidget.SetRenderer( bbGetInputRenderer() ); + _boxcreavtkplanewidget.SetRepresentation( bbGetInputRepresentation() ); +printf("EED void PlaneWidget::Process 1\n"); _boxcreavtkplanewidget.Process(); +printf("EED void PlaneWidget::Process 2\n"); + bbSetOutputOut( _boxcreavtkplanewidget.GetPlaneSource()->GetOutput() ); bbSetOutputCenter( _boxcreavtkplanewidget.GetCenter() ); bbSetOutputNormal( _boxcreavtkplanewidget.GetNormal() ); } +printf("EED void PlaneWidget::Process End\n"); + } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) @@ -74,6 +82,7 @@ void PlaneWidget::bbUserSetDefaultValues() bbSetInputActive(false); bbSetInputIn(NULL); bbSetInputResolution(60); + bbSetInputRepresentation(1); bbSetInputRenderer(NULL); bbSetOutputOut(NULL); _boxcreavtkplanewidget.box = this; @@ -103,7 +112,7 @@ void PlaneWidget::bbUserFinalizeProcessing() // if any } -} -// EO namespace bbcreaVtk + +}// EO namespace bbcreaVtk diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h index 08b6413..02dcce0 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.h @@ -40,6 +40,7 @@ class bbcreaVtk_EXPORT PlaneWidget BBTK_DECLARE_INPUT(In,vtkImageData*); BBTK_DECLARE_INPUT(Resolution,int); BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); + BBTK_DECLARE_INPUT(Representation,int); BBTK_DECLARE_OUTPUT(Out,vtkDataSet*); BBTK_DECLARE_OUTPUT(Center,std::vector); BBTK_DECLARE_OUTPUT(Normal,std::vector); @@ -65,6 +66,7 @@ BBTK_CATEGORY("empty"); BBTK_INPUT(PlaneWidget,In,"Reference Image",vtkImageData*,""); BBTK_INPUT(PlaneWidget,Resolution,"Resolution (60 default)",int,""); BBTK_INPUT(PlaneWidget,Renderer,"vtkRenderer",vtkRenderer*,""); + BBTK_INPUT(PlaneWidget,Representation,"(default 1) 0:OutLine 1:Wireframe 2:Surface",int,""); BBTK_OUTPUT(PlaneWidget,Out,"Dynamic plane result from vtkPlaneSource",vtkDataSet*,""); BBTK_OUTPUT(PlaneWidget,Center,"Center of the plane",std::vector,""); diff --git a/lib/creaVtk/creaVtkPlaneWidget.cpp b/lib/creaVtk/creaVtkPlaneWidget.cpp index 76af319..609d425 100644 --- a/lib/creaVtk/creaVtkPlaneWidget.cpp +++ b/lib/creaVtk/creaVtkPlaneWidget.cpp @@ -48,7 +48,8 @@ void creaVtkCallbackPlaneWidget::Execute(vtkObject *caller, unsigned long, void* //------------------------------------------------------------------------ creaVtkPlaneWidget::creaVtkPlaneWidget() { - _firsttime = true; + _firsttime = true; + _representation = 1; _vPlaneWidget = vtkPlaneWidget::New(); _vPlaneSource = vtkPlaneSource::New(); } @@ -114,6 +115,19 @@ int creaVtkPlaneWidget::GetResolution() } +//------------------------------------------------------------------------ +void creaVtkPlaneWidget::SetRepresentation(int representation) +{ + _representation = representation; +} + +//------------------------------------------------------------------------ +int creaVtkPlaneWidget::GetRepresentation() +{ + return _representation; +} + + //------------------------------------------------------------------------ std::vector creaVtkPlaneWidget::GetCenter() @@ -152,13 +166,15 @@ void creaVtkPlaneWidget::Process() #else _vPlaneWidget->SetInputData( GetImage() ); #endif - _vPlaneWidget->SetInteractor( GetRenderer()->GetRenderWindow()->GetInteractor() ); _vPlaneWidget->NormalToXAxisOn(); _vPlaneWidget->NormalToZAxisOn(); - _vPlaneWidget->SetResolution(10); - _vPlaneWidget->SetRepresentationToOutline(); + _vPlaneWidget->SetResolution(_resolution); + if (_representation==0){ _vPlaneWidget->SetRepresentationToOutline(); } + if (_representation==1){ _vPlaneWidget->SetRepresentationToWireframe(); } + if (_representation==2){ _vPlaneWidget->SetRepresentationToSurface(); } _vPlaneWidget->SetPlaceFactor(1); //defini zoom initial + _vPlaneWidget->SetHandleSize(0.5); _vPlaneWidget->On(); if (_firsttime==true ) { diff --git a/lib/creaVtk/creaVtkPlaneWidget.h b/lib/creaVtk/creaVtkPlaneWidget.h index b0ef2fd..2e87e48 100644 --- a/lib/creaVtk/creaVtkPlaneWidget.h +++ b/lib/creaVtk/creaVtkPlaneWidget.h @@ -78,6 +78,8 @@ public : vtkPlaneSource* GetPlaneSource(); void SetResolution(int resolution); int GetResolution(); + void SetRepresentation(int represtation); + int GetRepresentation(); std::vector GetCenter(); std::vector GetNormal(); @@ -101,6 +103,7 @@ private: vtkImageData *_image; vtkRenderer *_renderer; int _resolution; + int _representation; vtkPlaneWidget *_vPlaneWidget; vtkPlaneSource *_vPlaneSource; -- 2.47.1