]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMagnitudVector.cxx
#3495 Extrude normals conflict
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMagnitudVector.cxx
index c409205ddc0f70a7ccc648a8ecbb4da6e88ed794..43c869792ae3a89e8809e227c0206d23965222e6 100644 (file)
@@ -4,6 +4,8 @@
 #include "bbcreaVtkMagnitudVector.h"
 #include "bbcreaVtkPackage.h"
 #include "creaVtk_MACROS.h"
+#include <math.h>
+
 namespace bbcreaVtk
 {
 
@@ -68,17 +70,30 @@ void MagnitudVector::Process()
                DEF_POINTER_IMAGE_VTK_CREA(vvZ,ssvZ,pvZ,stvZ,bbGetInputvZ() )   
                DEF_POINTER_IMAGE_VTK_CREA(vOut,ssOut,pOut,stOut,imageoutput )  
                long int i, size=dim[0]*dim[1]*dim[2];
-#pragma omp parallel for
+
+long int k1omp=(double)(size-1)*0.0;
+long int k2omp=(double)(size-1)*0.2;
+long int k3omp=(double)(size-1)*0.4;
+long int k4omp=(double)(size-1)*0.6;
+long int k5omp=(double)(size-1)*0.8;
+long int k6omp=(double)(size-1)*1.0;
+printf("EED MagnitudVector::Process (with openmp)\n");
+               #pragma omp parallel for
                for (i=0; i<size; i++)
                {
-                       GETVALUE2_VTK_CREA(vvX,pvX,stvX,i) 
-                       GETVALUE2_VTK_CREA(vvY,pvY,stvY,i) 
-                       GETVALUE2_VTK_CREA(vvZ,pvZ,stvZ,i) 
-                       if ( (vvX==0) && (vvY==0) &&(vvZ==0) ) 
+if ( (k1omp==i) || (k2omp==i) || (k3omp==i) || 
+     (k4omp==i) || (k5omp==i) || (k6omp==i) ) { printf("  %d%\n", (int)(((double)i/(double)(size-1))*100 )); }
+                       double vvXtmpOMP;
+                       double vvYtmpOMP;
+                       double vvZtmpOMP;
+                       GETVALUE2_VTK_CREA(vvXtmpOMP,pvX,stvX,i) 
+                       GETVALUE2_VTK_CREA(vvYtmpOMP,pvY,stvY,i) 
+                       GETVALUE2_VTK_CREA(vvZtmpOMP,pvZ,stvZ,i) 
+                       if ( (vvXtmpOMP==0) && (vvYtmpOMP==0) &&(vvZtmpOMP==0) ) 
                        {
                                SETVALUE2_VTK_CREA( 0 ,pOut,stOut,i)
                        } else {
-                               SETVALUE2_VTK_CREA( sqrt(vvX*vvX + vvY*vvY + vvZ*vvZ),pOut,stOut,i)
+                               SETVALUE2_VTK_CREA( sqrt(vvXtmpOMP*vvXtmpOMP + vvYtmpOMP*vvYtmpOMP + vvZtmpOMP*vvZtmpOMP) ,pOut,stOut,i)
                        } // if vvX  vvY  vvZ  != 0
 
                } // for i