]> Creatis software - creaVtk.git/commitdiff
#3510 Bug windows CreateMeshFromPoints box
authorEduardo DAVILA <davila@creatis.insa-lyon.fr>
Mon, 5 Jun 2023 10:00:38 +0000 (12:00 +0200)
committerEduardo DAVILA <davila@creatis.insa-lyon.fr>
Mon, 5 Jun 2023 10:00:38 +0000 (12:00 +0200)
bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.cxx

index 21e8f72dd1f88bdde179203af6e6ba2c36712650..7431badc2802fb7110b523878a742ad37bcf98fa 100644 (file)
@@ -62,40 +62,39 @@ void CreateMeshFromPoints::Process()
                        pointsCentroid[2] /= sizeLstX;
                        
                        if ((bbGetInputCloseSurface()==true)  && (lstIndexs.size()>=2) )
-                       {
-                               //Correct surface normals if needed
-                               double pointSurf1[3], pointSurf2[3], pointSurf3[3];
-                               double vect1[3], vect2[3];
-                               double surfNormal[3], vectorCenter[3];
-                               double dotNormalSurf = 0;
-                               
-                               for(int pIndex = 0; pIndex < lstIndexs[0]-1; pIndex++){
-                                       pointSurf1[0] = lstX[pIndex];
-                                       pointSurf1[1] = lstY[pIndex];
-                                       pointSurf1[2] = lstZ[pIndex];
-                                       vtkMath::Subtract(pointsCentroid, pointSurf1, vectorCenter);
-                                       
-                                       pointSurf2[0] = lstX[pIndex+lstIndexs[1]];
-                                       pointSurf2[1] = lstY[pIndex+lstIndexs[1]];
-                                       pointSurf2[2] = lstZ[pIndex+lstIndexs[1]];
-                                       pointSurf3[0] = lstX[pIndex+1];
-                                       pointSurf3[1] = lstY[pIndex+1];
-                                       pointSurf3[2] = lstZ[pIndex+1];
-                                       vtkMath::Subtract(pointSurf2, pointSurf1, vect1);
-                                       vtkMath::Subtract(pointSurf3, pointSurf1, vect2);
-                                       vtkMath::Cross(vect1, vect2, surfNormal);
-                                       dotNormalSurf += vtkMath::Dot(surfNormal, vectorCenter);
-                               }
+            {
+                //Correct surface normals if needed
+                double pointSurf1[3], pointSurf2[3], pointSurf3[3];
+                double vect1[3], vect2[3];
+                double surfNormal[3], vectorCenter[3];
+                double dotNormalSurf = 0;
+                for(int pIndex = 0; pIndex < lstIndexs[0]-1; pIndex++)
+                {
+                        pointSurf1[0] = lstX[pIndex];
+                        pointSurf1[1] = lstY[pIndex];
+                        pointSurf1[2] = lstZ[pIndex];
+                        vtkMath::Subtract(pointsCentroid, pointSurf1, vectorCenter);
+                        pointSurf2[0] = lstX[pIndex+lstIndexs[1]];
+                        pointSurf2[1] = lstY[pIndex+lstIndexs[1]];
+                        pointSurf2[2] = lstZ[pIndex+lstIndexs[1]];
+                        pointSurf3[0] = lstX[pIndex+1];
+                        pointSurf3[1] = lstY[pIndex+1];
+                        pointSurf3[2] = lstZ[pIndex+1];
+                        vtkMath::Subtract(pointSurf2, pointSurf1, vect1);
+                        vtkMath::Subtract(pointSurf3, pointSurf1, vect2);
+                        vtkMath::Cross(vect1, vect2, surfNormal);
+                        dotNormalSurf += vtkMath::Dot(surfNormal, vectorCenter);
+                } // for pIndex
                                if(dotNormalSurf > 0){
                                        points->Delete();
                                        points = vtkPoints::New();
-                                       for(int splineI = 0; splineI < lstIndexs.size(); splineI++){                            
+                                       for(int splineI = 0; splineI < lstIndexs.size(); splineI++){
                                                for (i=lstIndexs[splineI]-1; i >= 0;i--)
                                                {
                                                        points->InsertNextPoint(lstX[splineI*lstIndexs[0]+i],lstY[splineI*lstIndexs[0]+i],lstZ[splineI*lstIndexs[0]+i]);
-                                               }
-                                       }
-                               }
+                                               } // for i
+                                       } // for splineI
+                               } // if dotNormalSurf
                        }
                        //