|
@@ -142,16 +142,27 @@ inline bool igl::readMESH(
|
|
fclose(mesh_file);
|
|
fclose(mesh_file);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //fgets(line,LINE_MAX,mesh_file);
|
|
|
|
+
|
|
|
|
+#ifdef __APPLE__
|
|
size_t number_of_vertices;
|
|
size_t number_of_vertices;
|
|
- if(1 != fscanf(mesh_file," %ld",&number_of_vertices))
|
|
|
|
|
|
+#else
|
|
|
|
+ int number_of_vertices;
|
|
|
|
+#endif
|
|
|
|
+ if(1 != fscanf(mesh_file," %ld",&number_of_vertices) || number_of_vertices > 1000000000)
|
|
{
|
|
{
|
|
- fprintf(stderr,"Error: expecting number of vertices...\n");
|
|
|
|
|
|
+ fprintf(stderr,"Error: expecting number of vertices less than 10^9...\n");
|
|
fclose(mesh_file);
|
|
fclose(mesh_file);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
// allocate space for vertices
|
|
// allocate space for vertices
|
|
V.resize(number_of_vertices,vector<Scalar>(3,0));
|
|
V.resize(number_of_vertices,vector<Scalar>(3,0));
|
|
|
|
+#ifdef __APPLE__
|
|
size_t extra;
|
|
size_t extra;
|
|
|
|
+#else
|
|
|
|
+ int extra;
|
|
|
|
+#endif
|
|
for(size_t i = 0;i<number_of_vertices;i++)
|
|
for(size_t i = 0;i<number_of_vertices;i++)
|
|
{
|
|
{
|
|
double x,y,z;
|
|
double x,y,z;
|
|
@@ -182,7 +193,11 @@ inline bool igl::readMESH(
|
|
fclose(mesh_file);
|
|
fclose(mesh_file);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+#ifdef __APPLE__
|
|
size_t number_of_triangles;
|
|
size_t number_of_triangles;
|
|
|
|
+#else
|
|
|
|
+ int number_of_triangles;
|
|
|
|
+#endif
|
|
if(1 != fscanf(mesh_file," %ld",&number_of_triangles))
|
|
if(1 != fscanf(mesh_file," %ld",&number_of_triangles))
|
|
{
|
|
{
|
|
fprintf(stderr,"Error: expecting number of triangles...\n");
|
|
fprintf(stderr,"Error: expecting number of triangles...\n");
|
|
@@ -192,7 +207,11 @@ inline bool igl::readMESH(
|
|
// allocate space for triangles
|
|
// allocate space for triangles
|
|
F.resize(number_of_triangles,vector<Index>(3));
|
|
F.resize(number_of_triangles,vector<Index>(3));
|
|
// triangle indices
|
|
// triangle indices
|
|
|
|
+#ifdef __APPLE__
|
|
size_t tri[3];
|
|
size_t tri[3];
|
|
|
|
+#else
|
|
|
|
+ int tri[3];
|
|
|
|
+#endif
|
|
for(size_t i = 0;i<number_of_triangles;i++)
|
|
for(size_t i = 0;i<number_of_triangles;i++)
|
|
{
|
|
{
|
|
if(4 != fscanf(mesh_file," %ld %ld %ld %ld",&tri[0],&tri[1],&tri[2],&extra))
|
|
if(4 != fscanf(mesh_file," %ld %ld %ld %ld",&tri[0],&tri[1],&tri[2],&extra))
|
|
@@ -222,7 +241,11 @@ inline bool igl::readMESH(
|
|
fclose(mesh_file);
|
|
fclose(mesh_file);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+#ifdef __APPLE__
|
|
size_t number_of_tetrahedra;
|
|
size_t number_of_tetrahedra;
|
|
|
|
+#else
|
|
|
|
+ int number_of_tetrahedra;
|
|
|
|
+#endif
|
|
if(1 != fscanf(mesh_file," %ld",&number_of_tetrahedra))
|
|
if(1 != fscanf(mesh_file," %ld",&number_of_tetrahedra))
|
|
{
|
|
{
|
|
fprintf(stderr,"Error: expecting number of tetrahedra...\n");
|
|
fprintf(stderr,"Error: expecting number of tetrahedra...\n");
|
|
@@ -232,7 +255,11 @@ inline bool igl::readMESH(
|
|
// allocate space for tetrahedra
|
|
// allocate space for tetrahedra
|
|
T.resize(number_of_tetrahedra,vector<Index>(4));
|
|
T.resize(number_of_tetrahedra,vector<Index>(4));
|
|
// tet indices
|
|
// tet indices
|
|
|
|
+#ifdef __APPLE__
|
|
size_t a,b,c,d;
|
|
size_t a,b,c,d;
|
|
|
|
+#else
|
|
|
|
+ int a,b,c,d;
|
|
|
|
+#endif
|
|
for(size_t i = 0;i<number_of_tetrahedra;i++)
|
|
for(size_t i = 0;i<number_of_tetrahedra;i++)
|
|
{
|
|
{
|
|
if(5 != fscanf(mesh_file," %ld %ld %ld %ld %ld",&a,&b,&c,&d,&extra))
|
|
if(5 != fscanf(mesh_file," %ld %ld %ld %ld %ld",&a,&b,&c,&d,&extra))
|