_planeWidgetZ->AddObserver(vtkCommand::InteractionEvent, wlipwc );
}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DView::SetImage()
+{
+ vtkImageData *imageData = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+ // Orthogonal planes B&W
+ _planeWidgetX->SetInput( imageData );
+ _planeWidgetY->SetInput( imageData );
+ _planeWidgetZ->SetInput( imageData );
+ // -- Plane widget
+ _probe->SetSource( imageData );
+ _vtkmpr3Ddataviewer->SetImage();
+}
+
//-------------------------------------------------------------------
vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker)
{
//-------------------------------------------------------------------
void wxVtkMPR3DView::SetFreePlanesOrtho()
{
-
-
-
_planeWidgetX->SetPlaneOrientationToXAxes();
_planeWidgetY->SetPlaneOrientationToYAxes();
_planeWidgetZ->SetPlaneOrientationToZAxes();
{
if(_planeWidgetX)
{
- if (ok==true)
- {
+ if (ok==true)
+ {
//EED 21/07/2013
// 1. Make backup of actors
// 2. Putting out all the actors
// 5. Refresh
// step 1, step 2
- vtkActorCollection *tmpCollection = vtkActorCollection::New();
+ vtkActorCollection *tmpCollection = vtkActorCollection::New();
vtkActorCollection *collectionActors = _wxvtk3Dbaseview->GetRenderer()->GetActors();
- int i,size=collectionActors->GetNumberOfItems();
+ int i,size=collectionActors->GetNumberOfItems();
for (i=0; i<size; i++)
{
tmpCollection->AddItem ( (vtkActor*)collectionActors->GetItemAsObject(0) );
// step 5 Refresh
_wxvtk3Dbaseview->GetRenderer()->GetRenderWindow()->Render();
- } // if ok
+ } // if ok
if ((plane==1) && (ok==false)) _planeWidgetX->EnabledOff();
if ((plane==2) && (ok==false)) _planeWidgetY->EnabledOff();
if ((plane==3) && (ok==false)) _planeWidgetZ->EnabledOff();
//-------------------------------------------------------------------
void wxVtkMPR3DView::Refresh() // virtual
{
- _vtkmpr3Ddataviewer -> Refresh();
+ _vtkmpr3Ddataviewer->Refresh();
if (_wxvtkmpr3DviewCntrlPanel!=NULL)
{
_wxvtkmpr3DviewCntrlPanel->Refresh();
}
-
}
//-------------------------------------------------------------------
double spc[3];
vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
- if(image){
+ if(image)
+ {
image->GetSpacing(spc);
}else{
spc[0] = 0;
spc[1] = 0;
spc[2] = 0;
}
- //this->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData()->GetSpacing(spc);
+
+// GetVtkMPR3DDataViewer()->Configure();
+
//double nx=1,ny=0,nz=0; // JPRx
Refresh();
SetColorWindow( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorWindow() );
SetColorLevel( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetColorLevel() );
-
double normal[3];
// FreePlaneX
_planeWidgetX->GetNormal(normal);
if ((normal[0]==1)&&(normal[1]==0)&&(normal[2]==0))
{
_planeWidgetX->SetSlicePosition( x*spc[0] );
+//EED 2016/02/19
+// _planeWidgetX->GetReslice()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
+ _planeWidgetX->GetTexture()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
}
// FreePlaneY
_planeWidgetY->GetNormal(normal);
if ((normal[0]==0)&&(normal[1]==1)&&(normal[2]==0))
{
_planeWidgetY->SetSlicePosition( y*spc[1] );
+//EED 2016/02/19
+ _planeWidgetY->GetReslice()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
+ _planeWidgetY->GetTexture()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
}
// FreePlaneZ
_planeWidgetZ->GetNormal(normal);
if ((normal[0]==0)&&(normal[1]==0)&&(normal[2]==1))
{
_planeWidgetZ->SetSlicePosition( z*spc[2] );
+//EED 2016/02/19
+ _planeWidgetZ->GetReslice()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
+ _planeWidgetZ->GetTexture()->SetInterpolate( _vtkmpr3Ddataviewer->GetVtkMPRBaseData()->GetInterpolate() );
}
x=x*spc[0];
y=y*spc[1];
z=z*spc[2];
- if(_pointWidget){
+ if(_pointWidget)
+ {
+ _pointWidget->SetInput( image );
+ _pointWidget->PlaceWidget();
+
_pointWidget->SetPosition( x,y,z );
double in[3];
double normal[3];
_planeWidget->UpdatePlacement();
_planeWidget->GetPolyData(_vtkplane);
}
+
+ if (_wxvtkmpr3DviewCntrlPanel!=NULL)
+ {
+ _wxvtkmpr3DviewCntrlPanel->UpdateControlPanel(false);
+ } // if _wxvtkmpr3DviewCntrlPanel
}
//-------------------------------------------------------------------
int i,size=collectionActors->GetNumberOfItems();
for (i=0; i<size; i++)
{
- printf(" wxVtkMPR3DView::VisibleImageActor %d\n" , i);
tmpCollection->AddItem ( (vtkActor*)collectionActors->GetItemAsObject(0) );
_wxvtk3Dbaseview->GetRenderer()->RemoveActor( (vtkProp*)tmpCollection->GetItemAsObject(i) );
} // for