#include "vtkImageAppend.h"
#include "vtkImageSlab.h"
-
#include "vtkInteractorStyleBaseView2D.h"
-
vtkPlane2DView::vtkPlane2DView( wxWindow *parent) : wxVtk2DBaseView(parent)
{
_backX = -99999;
// SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
//
// Actual version
- vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
- manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel();
+ vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
+ manualInteractorWindowLevel *_manualinteractorwindowlevel = new manualInteractorWindowLevel();
style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel );
- vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
+ vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
SetInteractorStyleImage( style2D );
_interactorstyleplane2D = new vtkInteractorStylePlane2D();
((vtkInteractorStyleBaseView*)GetInteractorStyleBaseView())->AddInteractorStyleMaracas( _interactorstyleplane2D );
- vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
+ vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
camera->SetViewUp ( 0 , 1 , 0 );
camera->SetPosition ((0+_sizeIma)/2 , (0+_sizeIma)/2 , 10000 );
UpdateColorWindowLevel();
wxVtkBaseView::Refresh();
}
+
//-------------------------------------------------------------------
void vtkPlane2DView::SetImgSize( int imgSize )
{
_sizeIma = imgSize;
}
+
//-------------------------------------------------------------------
int vtkPlane2DView::GetImgSize()
{
return _sizeIma;
}
+
//-------------------------------------------------------------------
int vtkPlane2DView::GetActualSlice() // virtual
{
}
//---------------------------------------------------------------------------
-
void vtkPlane2DView::SetMipVisualization(bool ok)
{
_mip_visualization = ok;
}
//---------------------------------------------------------------------------
-
void vtkPlane2DView::SetMipWidth(int value)
{
_mip_width = value;
wxWindow *wxWidgetMesure2D_Plane::CreateWin1a(wxWindow *parent) // virtual
{
- wxPanel *panel = new wxPanel(parent,-1);
-
- _cb_circle = new wxCheckBox(panel,-1,_T("Circle "));
- _cb_line = new wxCheckBox(panel,-1,_T("Rotation Axe "));
-
-
+ wxPanel *panel = new wxPanel(parent,-1);
+ _cb_circle = new wxCheckBox(panel,-1,_T("Circle "));
+ _cb_line = new wxCheckBox(panel,-1,_T("Rotation Axe "));
wxBoxSizer *sizerA = new wxBoxSizer(wxHORIZONTAL);
sizerA->Add(_cb_circle);
sizerA->Add(_cb_line);
-
-
wxFlexGridSizer *sizer = new wxFlexGridSizer(1);
sizer->Add( sizerA );
sizer->Add( wxWidgetMesure2D::CreateWin1a(panel) );
-
panel->SetAutoLayout(true);
panel->SetSizer(sizer);
panel->SetSize(400,30);
panel->Layout();
-//EEDxx2.4
-// panel->FitInside();
-
Connect(_cb_line->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxWidgetMesure2D_Plane::OnActiveLine );
Connect(_cb_circle->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxWidgetMesure2D_Plane::OnActiveCirlcle );
-
return panel;
}
-
//-------------------------------------------------------------------
void wxWidgetMesure2D_Plane::OnActiveCirlcle(wxCommandEvent& event)
{
_circle1Actor->GetProperty()->SetOpacity( opacity );
_circle2Actor->GetProperty()->SetOpacity( opacity );
}
+
//-------------------------------------------------------------------
void wxWidgetMesure2D_Plane::OnActiveLine(wxCommandEvent& event)
{
_wxvtk2Dbaseview->RefreshView();
}
-
//-------------------------------------------------------------------
void wxWidgetMesure2D_Plane::ConfigureA(wxVtk2DBaseView *wxvtk2Dbaseview) // virtual
{
SetVisibleCircle(false);
}
-
//-------------------------------------------------------------------
void wxWidgetMesure2D_Plane::ConfigureCircleLine()
{
double ang;
-
vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)_wxvtk2Dbaseview;
int sizeIma = vtkplane2Dview->GetImgSize();
-
double i,maxPts=20;
double k=(360/(maxPts-1)) * (3.1416/180);
- double x,y,r1=5,r2=10,r3=15;
+ double x,y,r1=5,r2=10,r3=15, z=100;
for (i=0;i<maxPts;i++)
{
x=cos( k*i ) ;
y=sin( k*i ) ;
- _ptsCircle1->SetPoint( (int)i , (sizeIma/2) + x*r1 , (sizeIma/2) + y*r1 , 1 );
- _ptsCircle2->SetPoint( (int)i , (sizeIma/2) + x*r2 , (sizeIma/2) + y*r2 , 1 );
+ _ptsCircle1->SetPoint( (int)i , (sizeIma/2) + x*r1 , (sizeIma/2) + y*r1 , z );
+ _ptsCircle2->SetPoint( (int)i , (sizeIma/2) + x*r2 , (sizeIma/2) + y*r2 , z );
}
-
//
- ang=(45) * (3.1416/180);
- x=cos( ang ) ;
- y=sin( ang ) ;
- _ptsLineRef1->SetPoint( 0 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , 1 );
-
+ ang = (45) * (3.1416/180);
+ x = cos( ang ) ;
+ y = sin( ang ) ;
+ _ptsLineRef1->SetPoint( 0 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , z );
ang=(45+180) * (3.1416/180);
x=cos( ang ) ;
y=sin( ang ) ;
- _ptsLineRef1->SetPoint( 1 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , 1 );
-
+ _ptsLineRef1->SetPoint( 1 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , z );
//
- ang=(135) * (3.1416/180);
- x=cos( ang ) ;
- y=sin( ang ) ;
- _ptsLineRef2->SetPoint( 0 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , 1 );
-
- ang=(135+180) * (3.1416/180);
- x=cos( ang ) ;
- y=sin( ang ) ;
- _ptsLineRef2->SetPoint( 1 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , 1 );
+ ang = (135) * (3.1416/180);
+ x = cos( ang ) ;
+ y = sin( ang ) ;
+ _ptsLineRef2->SetPoint( 0 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , z );
+ ang = (135+180) * (3.1416/180);
+ x = cos( ang ) ;
+ y = sin( ang ) ;
+ _ptsLineRef2->SetPoint( 1 , (sizeIma/2) + x*r3 , (sizeIma/2) + y*r3 , z);
}
-
-
//-------------------------------------------------------------------
void wxWidgetMesure2D_Plane::CircleLine()
{
- int i,maxPts=20;
+ int i,maxPts = 20;
vtkCellArray *lines;
-
vtkImageViewer2_XYZ *imageViewer2XYZ = _wxvtk2Dbaseview->_imageViewer2XYZ;
-
-
// Circle 1 Horizontal
_ptsCircle1 = vtkPoints::New();
_ptsCircle1->SetNumberOfPoints(maxPts);
lines->InsertCellPoint(0);
_ptsCircle1->SetPoint(0, -1000 , -1000 , -1000 );
_ptsCircle1->SetPoint(1, 1000 , 1000 , 1000 );
-
_pdCircle1 = vtkPolyData::New();
_pdCircle1->SetPoints( _ptsCircle1 );
_pdCircle1->SetLines( lines );
lines->Delete(); //do not delete lines ??
_circle1Actor = vtkActor::New();
_circle1Mapper = vtkPolyDataMapper::New();
-
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
_circle1Mapper->SetInput(_pdCircle1);
_circle1Actor->GetProperty()->SetDiffuseColor(0,0,1);
_circle1Actor->GetProperty()->SetLineWidth(2);
imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _circle1Actor );
-
// Circle 2 Horizontal
_ptsCircle2 = vtkPoints::New();
_ptsCircle2->SetNumberOfPoints(maxPts);
}
_ptsCircle2->SetPoint(0, -1000 , -1000 , -1000 );
_ptsCircle2->SetPoint(1, 1000 , 1000 , 1000 );
-
_pdCircle2 = vtkPolyData::New();
_pdCircle2->SetPoints( _ptsCircle2 );
_pdCircle2->SetLines( lines );
_circle2Actor->GetProperty()->SetDiffuseColor(0,0,1);
_circle2Actor->GetProperty()->SetLineWidth(2);
imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _circle2Actor );
-
// Line Referance 1
_ptsLineRef1 = vtkPoints::New();
_ptsLineRef1->SetNumberOfPoints(2);
lines->InsertNextCell(2);
lines->InsertCellPoint(0);
lines->InsertCellPoint(1);
-
_pdLineRef1 = vtkPolyData::New();
_pdLineRef1->SetPoints( _ptsLineRef1 );
_pdLineRef1->SetLines( lines );
lines->Delete(); //do not delete lines ??
_lineRef1Actor = vtkActor::New();
_lineRef1Mapper = vtkPolyDataMapper::New();
-
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
_lineRef1Mapper->SetInput(_pdLineRef1);
#else
_lineRef1Mapper->SetInputData(_pdLineRef1);
#endif
-
_lineRef1Actor->SetMapper(_lineRef1Mapper);
_lineRef1Actor->GetProperty()->BackfaceCullingOn();
_lineRef1Actor->GetProperty()->SetDiffuseColor(0,0,1);
_lineRef1Actor->GetProperty()->SetLineWidth(2);
imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineRef1Actor );
-
// Line Referance 2
_ptsLineRef2 = vtkPoints::New();
_ptsLineRef2->SetNumberOfPoints(2);
lines->InsertNextCell(2);
lines->InsertCellPoint(0);
lines->InsertCellPoint(1);
-
_pdLineRef2 = vtkPolyData::New();
_pdLineRef2->SetPoints( _ptsLineRef2 );
_pdLineRef2->SetLines( lines );
lines->Delete(); //do not delete lines ??
_lineRef2Actor = vtkActor::New();
_lineRef2Mapper = vtkPolyDataMapper::New();
-
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
_lineRef2Mapper->SetInput(_pdLineRef2);
#else
_lineRef2Mapper->SetInputData(_pdLineRef2);
#endif
-
_lineRef2Actor->SetMapper(_lineRef2Mapper);
_lineRef2Actor->GetProperty()->BackfaceCullingOn();
_lineRef2Actor->GetProperty()->SetDiffuseColor(0,0,1);
_lineRef2Actor->GetProperty()->SetLineWidth(2);
imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineRef2Actor );
-
-
}
-