wxVtkMPR3DView::~wxVtkMPR3DView()
{
VisiblePointWidget( false );
- VisiblePlaneWidget( false );
- if(_pointWidget!=NULL){
+// VisiblePlaneWidget( false );
+ if(_pointWidget!=NULL)
+ {
_pointWidget->Delete();
}
- if(_planeWidget!=NULL){
+ if(_planeWidget!=NULL)
+ {
_planeWidget->Delete();
}
- if(_vtkplane!=NULL){
+ if(_vtkplane!=NULL)
+ {
_vtkplane->Delete();
_probe->Delete();
_contourMapper->Delete();
// -- Plane widget
_probe->SetSource( imageData );
#else
+
+
+ double colorWindow = _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorWindow();
+ double colorLevel = _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorLevel();
+
+ double spc[3];
+ vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+ if(image)
+ {
+ image->GetSpacing(spc);
+ }else{
+ spc[0] = 0;
+ spc[1] = 0;
+ spc[2] = 0;
+ }
+ double x = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX();
+ double y = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY();
+ double z = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ();
+
_planeWidgetX->SetInputData( imageData );
+ _planeWidgetX->SetWindowLevel(colorWindow,colorLevel,1);
+ _planeWidgetX->SetSlicePosition( x*spc[0] );
_planeWidgetY->SetInputData( imageData );
+ _planeWidgetY->SetWindowLevel(colorWindow,colorLevel,1);
+ _planeWidgetY->SetSlicePosition( y*spc[1] );
_planeWidgetZ->SetInputData( imageData );
+ _planeWidgetZ->SetWindowLevel(colorWindow,colorLevel,1);
+ _planeWidgetZ->SetSlicePosition( z*spc[2] );
+
// -- Plane widget
_probe->SetSourceData( imageData );
#endif
-
_vtkmpr3Ddataviewer->SetImage();
}
//-------------------------------------------------------------------
vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker)
{
- vtkProperty* prop1 = 0;
- vtkImagePlaneWidget* planeWidget = 0;
- planeWidget = vtkImagePlaneWidget::New();
+ vtkProperty* prop1 = NULL;
+ vtkImagePlaneWidget* planeWidget = vtkImagePlaneWidget::New();
planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
planeWidget->EnabledOff();
vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
_planeWidgetY->InteractionOff();
_planeWidgetZ->InteractionOff();
}
- } // if _planeWidgetX
+ } // if _planeWidgetXVisiblePointWidget
}
{
double spc[3];
vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
-
if(image)
{
image->GetSpacing(spc);
spc[1] = 0;
spc[2] = 0;
}
-
// GetVtkMPR3DDataViewer()->Configure();
-
//double nx=1,ny=0,nz=0; // JPRx
Refresh();
- double x=GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX();
- double y=GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY();
- double z=GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ();
-
- SetColorWindow( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorWindow() );
- SetColorLevel( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorLevel() );
+ double x = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX();
+ double y = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY();
+ double z = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ();
double normal[3];
// FreePlaneX
_planeWidgetZ->GetReslice()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
_planeWidgetZ->GetTexture()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
}
-
- x=x*spc[0];
- y=y*spc[1];
- z=z*spc[2];
+ SetWindowColorLevel(_vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorWindow() , _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorLevel() );
+
+ x = x*spc[0];
+ y = y*spc[1];
+ z = z*spc[2];
if(_pointWidget)
{
//EED 2017-01-01 Migration VTK7
//-------------------------------------------------------------------
//-------------------------------------------------------------------
-void wxVtkMPR3DView::VisibleImageActor(int idPosition, bool visible){
+void wxVtkMPR3DView::VisibleImageActor(int idPosition, bool visible)
+{
/*if(visible == false)
printf("CPR: wxVtkMPR3DView::VisibleImageActor-> visibleActor == false \n");
else
}
*/
if (visible!=_vtkmpr3Ddataviewer->GetVisiblePosition(idPosition)){
- if (visible==false){
+ if (visible==false)
+ {
_wxvtk3Dbaseview->GetRenderer()->RemoveActor( _vtkmpr3Ddataviewer->GetImageActor(idPosition) );
} else {
//EED 21/07/2013
// This works in ViewerNV with nTymeView=6
// Because the others modules (5) generate also more actors with an OutLineFilter -> Actor
//showOutlineActor(false);
-
// step 1, step 2
vtkActorCollection *tmpCollection = vtkActorCollection::New();
vtkActorCollection *collectionActors = _wxvtk3Dbaseview->GetRenderer()->GetActors();
tmpCollection->AddItem ( (vtkActor*)collectionActors->GetItemAsObject(0) );
_wxvtk3Dbaseview->GetRenderer()->RemoveActor( (vtkProp*)tmpCollection->GetItemAsObject(i) );
} // for
-
// step 3
_wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(idPosition) );
-
// step 4
for (i=0; i<size; i++)
{
_wxvtk3Dbaseview->GetRenderer()->AddActor( (vtkProp*)tmpCollection->GetItemAsObject(i) );
} // for
tmpCollection->Delete();
-
// step 5 Refresh
_wxvtk3Dbaseview->GetRenderer()->GetRenderWindow()->Render();
-
} // if visible
_vtkmpr3Ddataviewer->SetVisiblePosition(idPosition,visible);
} // if visible
{
_planeWidget->On();
_contourPlaneActor->VisibilityOn();
-
} else {
_planeWidget->Off();
_contourPlaneActor->VisibilityOff();
}
//CPR: Method added 30 Nov 2009
-void wxVtkMPR3DView::showOutlineActor(bool value)
+void wxVtkMPR3DView::showOutlineBoxActor(bool value)
{
vtkActor* _outlineActor = _vtkmpr3Ddataviewer->GetOutlineActor();
if(value == true)
} // value
}
+//-------------------------------------------------------------------
+void wxVtkMPR3DView::showOutlinePlaneActor(bool value)
+{
+ vtkProperty *prop1=NULL;
+ if(value == true)
+ {
+ prop1 = _planeWidgetX ->GetPlaneProperty();
+ prop1->SetOpacity(1);
+ prop1 = _planeWidgetY ->GetPlaneProperty();
+ prop1->SetOpacity(1);
+ prop1 = _planeWidgetZ ->GetPlaneProperty();
+ prop1->SetOpacity(1);
+ } else {
+ prop1 = _planeWidgetX ->GetPlaneProperty();
+ prop1->SetOpacity(0);
+ prop1 = _planeWidgetY ->GetPlaneProperty();
+ prop1->SetOpacity(0);
+ prop1 = _planeWidgetZ ->GetPlaneProperty();
+ prop1->SetOpacity(0);
+ } // value
+}
+
+
//-------------------------------------------------------------------
void wxVtkMPR3DView::SetVtkMPR3DDataViewer(vtkMPR3DDataViewer *vtkmpr3Ddataviewer)
{
}
//-------------------------------------------------------------------
-void wxVtkMPR3DView::SetColorWindow(double colorWindow)
+void wxVtkMPR3DView::SetWindowColorLevel(double colorWindow , double colorLevel)
{
- double colorLevel = _planeWidgetX->GetLevel();
_planeWidgetX->SetWindowLevel(colorWindow,colorLevel);
+ _planeWidgetY->SetWindowLevel(colorWindow,colorLevel);
+ _planeWidgetZ->SetWindowLevel(colorWindow,colorLevel);
}
-//-------------------------------------------------------------------
-void wxVtkMPR3DView::SetColorLevel(double colorLevel)
-{
- double colorWindow = _planeWidgetX->GetWindow();
- _planeWidgetX->SetWindowLevel(colorWindow,colorLevel);
-}
//-------------------------------------------------------------------
// EED 25 Janvier 2007 testLoic
if (_wxvtk3Dbaseview!=NULL)
{
if (type==0)
+ {
+ _wxvtk3Dbaseview->GetRenderer()->GradientBackgroundOn();
+ _wxvtk3Dbaseview->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
+ _wxvtk3Dbaseview->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
+ } // if type
+ else if (type==1)
{
_wxvtk3Dbaseview->GetRenderer()->GradientBackgroundOff();
_wxvtk3Dbaseview->GetRenderer()->SetBackground( 0 , 0 , 0 );
} // if type
- if (type==1)
+ else if (type==2)
{
- _wxvtk3Dbaseview->GetRenderer()->GradientBackgroundOn();
- _wxvtk3Dbaseview->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
- _wxvtk3Dbaseview->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
+ _wxvtk3Dbaseview->GetRenderer()->GradientBackgroundOff();
+ _wxvtk3Dbaseview->GetRenderer()->SetBackground( 1 , 1 , 1 );
} // if type
_wxvtk3Dbaseview->Refresh();
}// if _wxvtk3Dbaseview