Program: wxMaracas
Module: $RCSfile: wxMaracas_N_ViewersWidget.cxx,v $
Language: C++
- Date: $Date: 2010/10/23 12:01:32 $
- Version: $Revision: 1.20 $
+ Date: $Date: 2012/05/30 17:23:12 $
+ Version: $Revision: 1.21 $
Copyright: (c) 2002, 2003
License:
spliter->SetMinimumPaneSize(1);
wxwindow1 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[0], mvtkmprbasedata);
wxwindow2 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[1], mvtkmprbasedata);
- spliter -> SplitVertically( wxwindow1 , wxwindow2 );
+ spliter -> SplitHorizontally( wxwindow1 , wxwindow2 );
wxwindow = spliter;
}else if (nTypeView->size()==3)
{
spliterB->SetMinimumPaneSize(1);
spliter -> SplitVertically( spliterA , spliterB );
- wxwindow1 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[0], mvtkmprbasedata);
- wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1], mvtkmprbasedata);
- spliterA-> SplitHorizontally( wxwindow1 , wxwindow2 );
- wxwindow3 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[2], mvtkmprbasedata);
- wxwindow4 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[3], mvtkmprbasedata);
- spliterB-> SplitHorizontally( wxwindow3 , wxwindow4 );
+
+
+//EED 21 mars 2012 FLIP probleme ..PLOP..
+// wxwindow1 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[0], mvtkmprbasedata);
+// wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1], mvtkmprbasedata);
+// wxwindow3 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[2], mvtkmprbasedata);
+// wxwindow4 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[3], mvtkmprbasedata);
+// spliterA-> SplitHorizontally( wxwindow1 , wxwindow2 );
+// spliterB-> SplitHorizontally( wxwindow3 , wxwindow4 );
+
+ wxwindow1 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[0], mvtkmprbasedata);
+ wxwindow2 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[1], mvtkmprbasedata);
+ wxwindow3 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[2], mvtkmprbasedata);
+ wxwindow4 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[3], mvtkmprbasedata);
+ spliterA-> SplitHorizontally( wxwindow3 , wxwindow4 );
+ spliterB-> SplitHorizontally( wxwindow2 , wxwindow1 );
+
wxwindow = spliter;
}
if(_lineAActor==NULL){
_lineAActor = vtkActor::New();
_lineAActor->GetProperty()->SetDiffuseColor(1,0,0);
- _lineAActor->GetProperty()->SetLineWidth(2);
+ _lineAActor->GetProperty()->SetLineWidth(0.5);
_ptsA = vtkPoints::New();
_ptsA->SetNumberOfPoints(2);
if(_lineBActor==NULL){
_lineBActor = vtkActor::New();
_lineBActor->GetProperty()->SetDiffuseColor(1,0,0);
- _lineBActor->GetProperty()->SetLineWidth(2);
+ _lineBActor->GetProperty()->SetLineWidth(0.5);
_lineBMapper = vtkPolyDataMapper::New();
_lineBActor->SetMapper(_lineBMapper);
vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();
//EED 17Avril2009
- /*
- if (_direction==0) {
- camera->SetViewUp ( 0 , -1 , 0 );
- camera->SetPosition ( -10000,(y1+y2)/2 , (z1+z2)/2 );
+ //EED 21 mars 2012 FLIP problem ..PLOP..
+
+ if (_direction==0) { // YZ
+ camera->SetViewUp ( 0 , 0 , 1 );
+ camera->SetPosition ( 10000,(y1+y2)/2 , (z1+z2)/2 );
camera->SetFocalPoint ( 0 , (y1+y2)/2 , (z1+z2)/2 );
camera->SetParallelScale( (z2-z1)/3.0 );
}
- if (_direction==1) {
- camera->SetViewUp ( 0 , 0 , -1 );
- camera->SetPosition ((x1+x2)/2 , 10000 , (z1+z2)/2 );
+ if (_direction==1) { // XZ
+ camera->SetViewUp ( 0 , 0 , 1 );
+ camera->SetPosition ((x1+x2)/2 , -10000 , (z1+z2)/2 );
camera->SetFocalPoint ((x1+x2)/2 , 0 , (z1+z2)/2 );
camera->SetParallelScale( (x2-x1)/3.0 );
}
- if (_direction==2) {
+ if (_direction==2) { // XY
camera->SetViewUp ( 0 , -1 , 0 );
camera->SetPosition ((x1+x2)/2 , (y1+y2)/2 , -10000);
camera->SetFocalPoint ((x1+x2)/2 , (y1+y2)/2 , 0 );
camera->SetParallelScale( (x2-x1)/3.0 );
}
- */
+/*
if (_direction==0) { // YZ
camera->SetViewUp ( 0 , 1 , 0 );
camera->SetPosition ( 10000,(y1+y2)/2 , (z1+z2)/2 );
camera->SetFocalPoint ((x1+x2)/2 , (y1+y2)/2 , 0 );
camera->SetParallelScale( (x2-x1)/3.0 );
}
-
+*/
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow (160);
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel (800);
int xx = 0, yy = 0, zz = 0;
double *spc = 0;
double *origin = 0;
-
+
+ double xx1,yy1,zz1,xx2,yy2,zz2;
+
//GetVtkmprbasedata()->GetDimensionExtention(&x1,&x2,&y1,&y2,&z1,&z2);
y2 += origin[1];
z1 += origin[2];
z2 += origin[2];
+
+ xx1 = x1*spc[0];
+ yy1 = y1*spc[1];
+ zz1 = z1*spc[2];
+
+ xx2 = x2*spc[0];
+ yy2 = y2*spc[1];
+ zz2 = z2*spc[2];
+
x1 = (int)(x1*spc[0]);
y1 = (int)(y1*spc[1]);
z1 = (int)(z1*spc[2]);
-
- x2 = (int)(x2*spc[0]);
- y2 = (int)(y2*spc[1]);
- z2 = (int)(z2*spc[2]);
+
+ x2 = (int)(x2*spc[0]);
+ y2 = (int)(y2*spc[1]);
+ z2 = (int)(z2*spc[2]);
xx = (int)(GetVtkmprbasedata()->GetX());
yy = (int)(GetVtkmprbasedata()->GetY());
x = round(xx*spc[0]);
y = round(yy*spc[1]);
z = round(zz*spc[2]);
-
+
if ((xx!=_backX) || (yy!=_backY) || (zz!=_backZ)) {
if (_direction==0) { // YZ
if(_imageViewer2XYZ)
+ {
_imageViewer2XYZ->SetXSlice( (int)(GetVtkmprbasedata()->GetX()) );
- _ptsA->SetPoint(0, x2, y1 , z );
- _ptsA->SetPoint(1, x2, y2 , z );
- _ptsB->SetPoint(0, x2, y , z1);
- _ptsB->SetPoint(1, x2, y , z2);
+ }
+//EED 21 mars 2012 FLIP probleme ..PLOP..
+ //_ptsA->SetPoint(0, x2, y1 , z );
+ //_ptsA->SetPoint(1, x2, y2 , z );
+ //_ptsB->SetPoint(0, x2, y , z1);
+ //_ptsB->SetPoint(1, x2, y , z2);
+ _ptsA->SetPoint(0, xx2, yy1 , z );
+ _ptsA->SetPoint(1, xx2, yy2 , z );
+ _ptsB->SetPoint(0, xx2, y , zz1);
+ _ptsB->SetPoint(1, xx2, y , zz2);
}
if (_direction==1) { // XZ
if(_imageViewer2XYZ)
+ {
_imageViewer2XYZ->SetYSlice( (int)(GetVtkmprbasedata()->GetY()) );
- _ptsA->SetPoint(0, x1 , y2 , z );
- _ptsA->SetPoint(1, x2 , y2 , z );
- _ptsB->SetPoint(0, x , y2 , z1);
- _ptsB->SetPoint(1, x , y2 , z2);
+ }
+//EED 21 mars 2012 FLIP probleme ..PLOP..
+ //_ptsA->SetPoint(0, x1 , y2 , z );
+ //_ptsA->SetPoint(1, x2 , y2 , z );
+ //_ptsB->SetPoint(0, x , y2 , z1);
+ //_ptsB->SetPoint(1, x , y2 , z2);
+ _ptsA->SetPoint(0, xx1 , y1 , z );
+ _ptsA->SetPoint(1, xx2 , y1 , z );
+ _ptsB->SetPoint(0, x , y1 , zz1);
+ _ptsB->SetPoint(1, x , y1 , zz2);
}
if (_direction==2) { // XY
if(_imageViewer2XYZ)
+ {
_imageViewer2XYZ->SetZSlice( (int)(GetVtkmprbasedata()->GetZ()) );
+ }
// _ptsA->SetPoint(0, x1 , y , -z2 );
// _ptsA->SetPoint(1, x2 , y , -z2 );
// _ptsB->SetPoint(0, x , y1, -z2 );
// _ptsB->SetPoint(1, x , y2, -z2 );
- _ptsA->SetPoint(0, x1 , y , z2 );
- _ptsA->SetPoint(1, x2 , y , z2 );
- _ptsB->SetPoint(0, x , y1, z2 );
- _ptsB->SetPoint(1, x , y2, z2 );
+
+//EED 21 mars 2012 FLIP probleme ..PLOP..
+ //_ptsA->SetPoint(0, x1 , y , z2 );
+ //_ptsA->SetPoint(1, x2 , y , z2 );
+ //_ptsB->SetPoint(0, x , y1, z2 );
+ //_ptsB->SetPoint(1, x , y2, z2 );
+
+ _ptsA->SetPoint(0, xx1 , y , z1 );
+ _ptsA->SetPoint(1, xx2 , y , z1 );
+ _ptsB->SetPoint(0, x , yy1, z1 );
+ _ptsB->SetPoint(1, x , yy2, z1 );
+
+
}
_backX=xx;
_backY=yy;