]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/ModelShowNPoints.cxx
#3485 ShowNPionts for Multiple Groups
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / ModelShowNPoints.cxx
index 7468bfdc2bef2de9d43921ef2da7e89ff5ad17b8..422c299f380b78646d9e3a3d552ac6abff799b09 100644 (file)
@@ -181,59 +181,71 @@ int ModelShowNPoints::InsertPoint(int x, int y, int z, std::string label)
 }
 
 
+//------------------------------------------------------------------------
+void ModelShowNPoints::SavePoints_(FILE* ff)
+{
+        std::string tmpLabel;
+        int i , size = (int) (lstPointsX.size());
+        fprintf(ff,"NumberOfPoints %d \n",size);
+        fprintf(ff," X\tY\tZ\tvalue\tLabel\n");
+        int x, y, z;
+        double value;
+        for (i=0; i<size; i++)
+        {
+            x       = lstPointsX[i];
+            y       = lstPointsY[i];
+            z       = lstPointsZ[i];
+            value   = mimage->GetScalarComponentAsDouble(x,y,z,0);
+            if (lstLabels[i]!="")
+            {
+                tmpLabel=lstLabels[i];
+            } else{
+                tmpLabel="<_VOID_>";
+            }
+            fprintf(ff,"%d\t%d\t%d\t%f\t%s\n", x , y , z , value  , tmpLabel.c_str());
+        } // for
+}
+
 //------------------------------------------------------------------------
 void ModelShowNPoints::SavePoints(std::string filename)
 {
-       std::string tmpLabel;
-       FILE *ff;
-       ff = fopen( filename.c_str() , "w+" );
-       if (ff!=NULL)
-       {
-               int i , size = (int) (lstPointsX.size());
-               fprintf(ff,"NumberOfPoints %d \n",size);
-               fprintf(ff," X\tY\tZ\tvalue\tLabel\n");
-               int x, y, z;
-               double value;
-               for (i=0; i<size; i++)
-               {
-                       x=lstPointsX[i];
-                       y=lstPointsY[i];
-                       z=lstPointsZ[i];
-                       value= mimage->GetScalarComponentAsDouble(x,y,z,0);
-                       if (lstLabels[i]!="") 
-                       {
-                               tmpLabel=lstLabels[i];
-                       } else{
-                               tmpLabel="<_VOID_>";
-                       }
-                       fprintf(ff,"%d\t%d\t%d\t%f\t%s\n", x , y , z , value  , tmpLabel.c_str());
-               } // for
+       FILE* ff = fopen( filename.c_str() , "w+" );
+    if (ff!=NULL)
+    {
+        SavePoints_(ff);
                fclose(ff);
        } else {   // else ff
-               printf("ModelShowNPoints::SavePoints  ...Error... creating file");
+               printf("ModelShowNPoints::SavePoints  ...Error... creating file\n");
        } //ff
 }
 
+//------------------------------------------------------------------------
+int ModelShowNPoints::ReadPoints_(FILE* ff)
+{
+    int i,size;
+    char chartmp[256];
+    fscanf(ff," %s %d",chartmp,&size);
+    fscanf(ff," %s %s %s %s %s",chartmp, chartmp,chartmp,chartmp,chartmp );
+
+    float value;
+    int x,y,z;
+    for (i=0; i<size; i++)
+    {
+        fscanf(ff,"%d%d%d%f%s",&x,&y,&z,&value,chartmp );  // x,y,z,value,label
+        if (strcmp(chartmp,"<_VOID_>")==0) { strcpy(chartmp,""); }
+        AddPoint(x,y,z, chartmp );
+    }
+    return size;
+}
+
 //------------------------------------------------------------------------
 int ModelShowNPoints::ReadPoints(std::string filename)
 {
-       int i,size;
-       char chartmp[256];
-       FILE *ff;
-       ff = fopen( filename.c_str() , "r+" );
+    int size=0;
+       FILE *ff = fopen( filename.c_str() , "r+" );
        if (ff!=NULL)
        {
-               fscanf(ff," %s %d",chartmp,&size);
-               fscanf(ff," %s %s %s %s %s",chartmp, chartmp,chartmp,chartmp,chartmp );
-
-               float value;
-               int x,y,z;
-               for (i=0; i<size; i++)
-               {
-                       fscanf(ff,"%d%d%d%f%s",&x,&y,&z,&value,chartmp );  // x,y,z,value,label
-                       if (strcmp(chartmp,"<_VOID_>")==0) { strcpy(chartmp,""); }
-                       AddPoint(x,y,z, chartmp );
-               }
+        size = ReadPoints_(ff);
                fclose(ff);
        } else {   // else ff
                printf("ModelShowNPoints::LoadPoints  ...Error... reading file");