]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkVoiMPR.cxx
#spc.push_back(1);
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkVoiMPR.cxx
index 3e89bb71ae17bd293d92222154ea803eb79a28a7..2ecd5cabd007fd68b4c0265e51084cf2948ebd3a 100644 (file)
@@ -37,24 +37,35 @@ void VoiMPR::Process()
                bool showActorYZ;
                bool showActorXZ;
 
-               std::vector<int> vecP = bbGetInputIn();
+               std::vector<int> vecVOI = bbGetInputIn();
+               std::vector<double> spc = bbGetInputSpacing();
+               vecVOI[0] = vecVOI[0]*spc[0];
+               vecVOI[1] = vecVOI[1]*spc[0];
+               vecVOI[2] = vecVOI[2]*spc[1];
+               vecVOI[3] = vecVOI[3]*spc[1];
+               vecVOI[4] = vecVOI[4]*spc[2];
+               vecVOI[5] = vecVOI[5]*spc[2];
                int dep;
                std::vector<int> vecPoint = bbGetInputActualPoint();
+               vecPoint[0] = vecPoint[0]*spc[0];
+               vecPoint[1] = vecPoint[1]*spc[1];
+               vecPoint[2] = vecPoint[2]*spc[2];
+
                if (vecPoint.size()==3)
                {
-                       if ((vecPoint[0]>=vecP[0]) && (vecPoint[0]<=vecP[1]) ) 
+                       if ((vecPoint[0]>=vecVOI[0]) && (vecPoint[0]<=vecVOI[1]) ) 
                        {       
                                showActorYZ=bbGetInputActive() && true; 
                        } else {
                                showActorYZ=bbGetInputActive() && false;        
                        }
-                       if ((vecPoint[1]>=vecP[2]) && (vecPoint[1]<=vecP[3]) ) 
+                       if ((vecPoint[1]>=vecVOI[2]) && (vecPoint[1]<=vecVOI[3]) ) 
                        {       
                                showActorXZ=bbGetInputActive() && true; 
                        } else {
                                showActorXZ=bbGetInputActive() && false;        
                        }
-                       if ((vecPoint[2]>=vecP[4]) && (vecPoint[2]<=vecP[5]) ) 
+                       if ((vecPoint[2]>=vecVOI[4]) && (vecPoint[2]<=vecVOI[5]) ) 
                        {       
                                showActorXY=bbGetInputActive() && true; 
                        } else {
@@ -70,10 +81,10 @@ void VoiMPR::Process()
                if (bbGetInputXYrender()!=NULL)
                {
                        dep=-900;
-                       pointsXY->SetPoint(0, vecP[0], vecP[2], dep);
-                       pointsXY->SetPoint(1, vecP[0], vecP[3], dep);
-                       pointsXY->SetPoint(2, vecP[1], vecP[3], dep);
-                       pointsXY->SetPoint(3, vecP[1], vecP[2], dep);
+                       pointsXY->SetPoint(0, vecVOI[0], vecVOI[2], dep);
+                       pointsXY->SetPoint(1, vecVOI[0], vecVOI[3], dep);
+                       pointsXY->SetPoint(2, vecVOI[1], vecVOI[3], dep);
+                       pointsXY->SetPoint(3, vecVOI[1], vecVOI[2], dep);
                        pointsXY-> Modified();
                        if ( showActorXY==true )
                        {
@@ -93,10 +104,10 @@ void VoiMPR::Process()
                if (bbGetInputYZrender()!=NULL)
                {
                        dep=900;
-                       pointsYZ->SetPoint(0, dep,vecP[2], vecP[4] );
-                       pointsYZ->SetPoint(1, dep,vecP[2], vecP[5] );
-                       pointsYZ->SetPoint(2, dep,vecP[3], vecP[5] );
-                       pointsYZ->SetPoint(3, dep,vecP[3], vecP[4] );
+                       pointsYZ->SetPoint(0, dep,vecVOI[2], vecVOI[4] );
+                       pointsYZ->SetPoint(1, dep,vecVOI[2], vecVOI[5] );
+                       pointsYZ->SetPoint(2, dep,vecVOI[3], vecVOI[5] );
+                       pointsYZ->SetPoint(3, dep,vecVOI[3], vecVOI[4] );
                        pointsYZ-> Modified();
                        if ( showActorYZ==true )
                        {
@@ -116,10 +127,10 @@ void VoiMPR::Process()
                if (bbGetInputXZrender()!=NULL)
                {
                        dep=-900;
-                       pointsXZ->SetPoint(0, vecP[0],dep, vecP[4] );
-                       pointsXZ->SetPoint(1, vecP[0],dep, vecP[5] );
-                       pointsXZ->SetPoint(2, vecP[1],dep, vecP[5] );
-                       pointsXZ->SetPoint(3, vecP[1],dep, vecP[4] );
+                       pointsXZ->SetPoint(0, vecVOI[0],dep, vecVOI[4] );
+                       pointsXZ->SetPoint(1, vecVOI[0],dep, vecVOI[5] );
+                       pointsXZ->SetPoint(2, vecVOI[1],dep, vecVOI[5] );
+                       pointsXZ->SetPoint(3, vecVOI[1],dep, vecVOI[4] );
                        pointsXZ-> Modified();
                        if ( showActorXZ==true )
                        {
@@ -146,13 +157,19 @@ void VoiMPR::bbUserSetDefaultValues()
 
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
-       actorAddedXY=false;
-       actorAddedXZ=false;
-       actorAddedYZ=false;
+       actorAddedXY            = false;
+       actorAddedXZ            = false;
+       actorAddedYZ            = false;
        bbSetInputActive(true);
        bbSetInputXYrender(NULL);
        bbSetInputYZrender(NULL);
        bbSetInputXZrender(NULL);
+
+       std::vector<double> spc;
+       spc.push_back(1);
+       spc.push_back(1);
+       spc.push_back(1);
+       bbSetInputSpacing(spc);
 }
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
@@ -165,6 +182,7 @@ void VoiMPR::bbUserInitializeProcessing()
 //    but this is where you should allocate the internal/output pointers 
 //    if any 
 
+
        pointsXY                = vtkPoints                     ::New();
        linesXY                 = vtkCellArray          ::New();
        polygonXY               = vtkPolyData           ::New();