Skip to content
Snippets Groups Projects
Select Git revision
  • 9cba41a382d10f5a5b2bc8395b7e0fb40259d5a7
  • master default protected
  • comm_opt
  • clem_dev
  • clem_dev_corrected
  • kokkos
  • devel
  • bcast_debug
  • MC/high_order_geometry
  • MC/mpi_nonblocking
  • MC/multigpu
  • MC/lifting_oneshot
  • MC/physent
  • curls_marco
  • MC/gefpg_lua_binding
  • emdant/dg-cherry-pick-8f1f09f5
  • v0.3.0
  • v0.2.0
  • v0.1.0
19 results

lua_api.md

Blame
  • PViewDataListIO.cpp 23.46 KiB
    // Gmsh - Copyright (C) 1997-2013 C. Geuzaine, J.-F. Remacle
    //
    // See the LICENSE.txt file for license information. Please report all
    // bugs and problems to the public mailing list <gmsh@geuz.org>.
    
    #include <string.h>
    #include <set>
    #include "PViewDataList.h"
    #include "MElement.h"
    #include "Numeric.h"
    #include "StringUtils.h"
    #include "GmshMessage.h"
    #include "GmshDefines.h"
    #include "MVertexPositionSet.h"
    #include "Context.h"
    #include "adaptiveData.h"
    #include "OS.h"
    
    static void dVecRead(std::vector<double> &v, int n, FILE *fp,
                         bool binary, int swap)
    {
      if(!n) return;
      v.resize(n);
      if(binary){
        if(!fread(&v[0], sizeof(double), n, fp))
          Msg::Error("Read error");
        if(swap) SwapBytes((char*)&v[0], sizeof(double), n);
      }
      else{
        for(int i = 0; i < n; i++){
          if(!fscanf(fp, "%lf", &v[i])){
            Msg::Error("Read error");
            break;
          }
        }
      }
    }
    
    static void cVecRead(std::vector<char> &v, int n, FILE *fp,
                         bool binary, int swap, bool oldStyle)
    {
      if(!n) return;
      v.resize(n);
      if(binary){
        if(!fread(&v[0], sizeof(char), n, fp))
          Msg::Error("Read error");
        if(swap) SwapBytes((char*)&v[0], sizeof(char), n);
      }
      else{
        if(oldStyle){
          for(int i = 0; i < n; i++){
            if(!fscanf(fp, "%c", &v[i])){
              Msg::Error("Read error");
              break;
            }
            if(v[i] == '^') v[i] = '\0';
          }
        }
        else{
          for(int i = 0; i < n; i++){
            char c = (char)fgetc(fp);
            if(c == EOF){
              Msg::Error("Read error");
              break;
            }
            else{
              v[i] = c;
            }
          }
        }