wxVtk2DBaseView::wxVtk2DBaseView(wxWindow *parent)
:wxVtkBaseView(parent)
{
- _imageViewer2XYZ = NULL;
- _vtkIinfoTextImage = NULL;
+ _imageViewer2XYZ = NULL;
+ _vtkIinfoTextImage = NULL;
}
//EED 5mai2009
{
if (_vtkIinfoTextImage!=NULL)
{
- delete _vtkIinfoTextImage;
+ delete _vtkIinfoTextImage;
}
if (_imageViewer2XYZ!=NULL)
{
- delete _imageViewer2XYZ;
+ delete _imageViewer2XYZ;
}
}
wxVtkBaseView::Configure();
// EED 17 Oct 2007
- if (_imageViewer2XYZ==NULL)
- {
- _imageViewer2XYZ = new vtkImageViewer2_XYZ();
- wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
- _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
- SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
- }
+ if (_imageViewer2XYZ==NULL)
+ {
+ _imageViewer2XYZ = new vtkImageViewer2_XYZ();
+ wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
+ _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
+ SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+ }
vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData();
camera->SetParallelScale( spx*(x2-x1)/3.0 );
// text information over the graphic window
- _vtkIinfoTextImage = new vtkInfoTextImage();
- _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor();
+ if(_vtkIinfoTextImage == NULL){
+ _vtkIinfoTextImage = new vtkInfoTextImage();
+ _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor();
+ ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+ }
_vtkIinfoTextImage->SetWxVtk2DBaseView(this);
_vtkIinfoTextImage->SetMarImageData( GetVtkBaseData()->GetMarImageData() );
- _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);
+ _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);
_vtkIinfoTextImage->Configure();
- ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+
} // okimage
} // imageData
int wxVtk2DBaseView::GetActualSlice() // virtual
{
- return (int)(_vtkbasedata->GetZ());
+ return (int)(_vtkbasedata->GetZ());
}
//-------------------------------------------------------------------
void wxVtk2DBaseView::SetActualSlice(int slice) // Virtual
{
- _vtkbasedata->SetZ(slice);
+ _vtkbasedata->SetZ(slice);
}
//-------------------------------------------------------------------
vtkBaseData *wxVtk2DBaseView::GetVtkBaseData()
{
- return _vtkbasedata;
+ return _vtkbasedata;
}
//-------------------------------------------------------------------
void wxVtk2DBaseView::SetVtkBaseData(vtkBaseData *vtkbasedata)
{
- _vtkbasedata=vtkbasedata;
+ _vtkbasedata=vtkbasedata;
}
//-------------------------------------------------------------------
void wxVtk2DBaseView::Refresh()
{
- int z = (int)(GetVtkBaseData()->GetZ());
- _imageViewer2XYZ->SetZSlice( z );
+ int z = (int)(GetVtkBaseData()->GetZ());
+ _imageViewer2XYZ->SetZSlice( z );
- wxVtkBaseView::Refresh();
+ wxVtkBaseView::Refresh();
}
//-------------------------------------------------------------------
//---------------------------------------------------------------------------
vtkRenderer* wxVtk2DBaseView::GetRenderer() // virtual
{
- return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer();
+ return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer();
}
//---------------------------------------------------------------------------
vtkRenderWindow* wxVtk2DBaseView::GetRenWin() // virtual
{
- return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow();
+ return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow();
}
//-------------------------------------------------------------------
void wxVtk2DBaseView::GetSpacing(double spc[3]) // virtual
{
- vtkImageData *imageData = GetVtkBaseData()->GetImageData();
- imageData->GetSpacing(spc);
-}
\ No newline at end of file
+ vtkImageData *imageData = GetVtkBaseData()->GetImageData();
+ imageData->GetSpacing(spc);
+}
+
+void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colortable){
+ if(_imageViewer2XYZ!=NULL){
+ _imageViewer2XYZ->setColorTransferFunction(colortable);
+ this->Refresh();
+ }
+}
+
+void wxVtk2DBaseView::setWindowLevel(double level){
+// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);
+
+ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+ imagemaptowindowlevel->SetWindow(level);
+ this->Refresh();
+}
+
+void wxVtk2DBaseView::setColorLevel(double level){
+// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level);
+ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+ imagemaptowindowlevel->SetLevel(level);
+ this->Refresh();
+}