jalec 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
..
EPS.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
EPS.h bd4d115fea major reorganization of directory structure 13 anos atrás
MatlabWorkspace.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
MatlabWorkspace.h 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
ONE.h bd4d115fea major reorganization of directory structure 13 anos atrás
PI.h bd4d115fea major reorganization of directory structure 13 anos atrás
ReAntTweakBar.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
ReAntTweakBar.h bd4d115fea major reorganization of directory structure 13 anos atrás
Timer.h 0c1a1ad9f5 added clock tick precision to the timer (macosx) 13 anos atrás
ZERO.h bd4d115fea major reorganization of directory structure 13 anos atrás
adjacency_list.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
adjacency_list.h bd4d115fea major reorganization of directory structure 13 anos atrás
adjacency_matrix.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
adjacency_matrix.h bd4d115fea major reorganization of directory structure 13 anos atrás
all_pairs_distances.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
all_pairs_distances.h bd4d115fea major reorganization of directory structure 13 anos atrás
axis_angle_to_quat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
axis_angle_to_quat.h bd4d115fea major reorganization of directory structure 13 anos atrás
basename.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
basename.h bd4d115fea major reorganization of directory structure 13 anos atrás
boundary_faces.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
boundary_faces.h 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
canonical_quaternions.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
canonical_quaternions.h bd4d115fea major reorganization of directory structure 13 anos atrás
cat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
cat.h bd4d115fea major reorganization of directory structure 13 anos atrás
cocoa_key_to_anttweakbar_key.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
cocoa_key_to_anttweakbar_key.h bd4d115fea major reorganization of directory structure 13 anos atrás
colon.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
colon.h bd4d115fea major reorganization of directory structure 13 anos atrás
concat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
concat.h bd4d115fea major reorganization of directory structure 13 anos atrás
cotangent.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
cotangent.h bd4d115fea major reorganization of directory structure 13 anos atrás
cotmatrix.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
cotmatrix.h bd4d115fea major reorganization of directory structure 13 anos atrás
create_index_vbo.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
create_index_vbo.h bd4d115fea major reorganization of directory structure 13 anos atrás
create_mesh_vbo.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
create_mesh_vbo.h bd4d115fea major reorganization of directory structure 13 anos atrás
create_shader_program.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
create_shader_program.h bd4d115fea major reorganization of directory structure 13 anos atrás
create_vector_vbo.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
create_vector_vbo.h bd4d115fea major reorganization of directory structure 13 anos atrás
cross.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
cross.h bd4d115fea major reorganization of directory structure 13 anos atrás
destroy_shader_program.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
destroy_shader_program.h bd4d115fea major reorganization of directory structure 13 anos atrás
diag.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
diag.h bd4d115fea major reorganization of directory structure 13 anos atrás
dirname.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
dirname.h bd4d115fea major reorganization of directory structure 13 anos atrás
dot.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
dot.h bd4d115fea major reorganization of directory structure 13 anos atrás
edge_lengths.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
edge_lengths.h bd4d115fea major reorganization of directory structure 13 anos atrás
edges.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
edges.h bd4d115fea major reorganization of directory structure 13 anos atrás
edgetopology.h bd4d115fea major reorganization of directory structure 13 anos atrás
example_fun.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
example_fun.h bd4d115fea major reorganization of directory structure 13 anos atrás
face_occurences.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
face_occurences.h bd4d115fea major reorganization of directory structure 13 anos atrás
faces_first.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
faces_first.h bd4d115fea major reorganization of directory structure 13 anos atrás
file_contents_as_string.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
file_contents_as_string.h bd4d115fea major reorganization of directory structure 13 anos atrás
file_exists.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
file_exists.h bd4d115fea major reorganization of directory structure 13 anos atrás
find.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
find.h bd4d115fea major reorganization of directory structure 13 anos atrás
full.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
full.h bd4d115fea major reorganization of directory structure 13 anos atrás
get_seconds.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
get_seconds.h bd4d115fea major reorganization of directory structure 13 anos atrás
get_seconds_hires.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
get_seconds_hires.h bd4d115fea major reorganization of directory structure 13 anos atrás
gl_type_size.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
gl_type_size.h bd4d115fea major reorganization of directory structure 13 anos atrás
grad.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
grad.h bd4d115fea major reorganization of directory structure 13 anos atrás
igl_inline.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_border_vertex.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_border_vertex.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_dir.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_dir.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_file.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_file.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_manifold.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_manifold.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_readable.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_readable.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_symmetric.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_symmetric.h bd4d115fea major reorganization of directory structure 13 anos atrás
is_writable.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
is_writable.h bd4d115fea major reorganization of directory structure 13 anos atrás
limit_faces.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
limit_faces.h bd4d115fea major reorganization of directory structure 13 anos atrás
list_to_matrix.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
list_to_matrix.h bd4d115fea major reorganization of directory structure 13 anos atrás
load_shader.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
load_shader.h bd4d115fea major reorganization of directory structure 13 anos atrás
lu_lagrange.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
lu_lagrange.h bd4d115fea major reorganization of directory structure 13 anos atrás
mat_max.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
mat_max.h bd4d115fea major reorganization of directory structure 13 anos atrás
mat_min.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
mat_min.h bd4d115fea major reorganization of directory structure 13 anos atrás
material_colors.h bd4d115fea major reorganization of directory structure 13 anos atrás
matlabinterface.h 877f75db21 fixed instructions for mac 13 anos atrás
matrix_to_list.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
matrix_to_list.h bd4d115fea major reorganization of directory structure 13 anos atrás
max_size.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
max_size.h bd4d115fea major reorganization of directory structure 13 anos atrás
min_quad_dense.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
min_quad_dense.h bd4d115fea major reorganization of directory structure 13 anos atrás
min_quad_with_fixed.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
min_quad_with_fixed.h bd4d115fea major reorganization of directory structure 13 anos atrás
min_size.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
min_size.h bd4d115fea major reorganization of directory structure 13 anos atrás
mode.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
mode.h bd4d115fea major reorganization of directory structure 13 anos atrás
moveFV.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
moveFV.h bd4d115fea major reorganization of directory structure 13 anos atrás
mvc.h bd4d115fea major reorganization of directory structure 13 anos atrás
normalize_quat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
normalize_quat.h bd4d115fea major reorganization of directory structure 13 anos atrás
normalize_rows.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
normalize_rows.h bd4d115fea major reorganization of directory structure 13 anos atrás
on_boundary.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
on_boundary.h bd4d115fea major reorganization of directory structure 13 anos atrás
orth.h bd4d115fea major reorganization of directory structure 13 anos atrás
pathinfo.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
pathinfo.h bd4d115fea major reorganization of directory structure 13 anos atrás
per_corner_normals.cpp e1f423c312 removed some warnings 13 anos atrás
per_corner_normals.h bd4d115fea major reorganization of directory structure 13 anos atrás
per_face_normals.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
per_face_normals.h bd4d115fea major reorganization of directory structure 13 anos atrás
per_vertex_normals.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
per_vertex_normals.h bd4d115fea major reorganization of directory structure 13 anos atrás
plot_vector.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
plot_vector.h bd4d115fea major reorganization of directory structure 13 anos atrás
point_in_circle.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
point_in_circle.h bd4d115fea major reorganization of directory structure 13 anos atrás
pos.h bd4d115fea major reorganization of directory structure 13 anos atrás
print_gl_get.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
print_gl_get.h bd4d115fea major reorganization of directory structure 13 anos atrás
print_ijv.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
print_ijv.h bd4d115fea major reorganization of directory structure 13 anos atrás
print_program_info_log.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
print_program_info_log.h bd4d115fea major reorganization of directory structure 13 anos atrás
print_shader_info_log.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
print_shader_info_log.h bd4d115fea major reorganization of directory structure 13 anos atrás
project.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
project.h bd4d115fea major reorganization of directory structure 13 anos atrás
quat_conjugate.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
quat_conjugate.h bd4d115fea major reorganization of directory structure 13 anos atrás
quat_mult.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
quat_mult.h bd4d115fea major reorganization of directory structure 13 anos atrás
quat_to_mat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
quat_to_mat.h bd4d115fea major reorganization of directory structure 13 anos atrás
read.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
read.h bd4d115fea major reorganization of directory structure 13 anos atrás
readDMAT.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
readDMAT.h bd4d115fea major reorganization of directory structure 13 anos atrás
readMESH.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
readMESH.h bd4d115fea major reorganization of directory structure 13 anos atrás
readOBJ.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
readOBJ.h bd4d115fea major reorganization of directory structure 13 anos atrás
readOFF.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
readOFF.h bd4d115fea major reorganization of directory structure 13 anos atrás
removeDuplicates.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
removeDuplicates.h bd4d115fea major reorganization of directory structure 13 anos atrás
removeUnreferenced.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
removeUnreferenced.h bd4d115fea major reorganization of directory structure 13 anos atrás
reorder.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
reorder.h bd4d115fea major reorganization of directory structure 13 anos atrás
repdiag.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
repdiag.h bd4d115fea major reorganization of directory structure 13 anos atrás
repmat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
repmat.h bd4d115fea major reorganization of directory structure 13 anos atrás
report_gl_error.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
report_gl_error.h bd4d115fea major reorganization of directory structure 13 anos atrás
rotate_by_quat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
rotate_by_quat.h bd4d115fea major reorganization of directory structure 13 anos atrás
rows_to_matrix.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
rows_to_matrix.h bd4d115fea major reorganization of directory structure 13 anos atrás
slice.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
slice.h bd4d115fea major reorganization of directory structure 13 anos atrás
slice_into.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
slice_into.h bd4d115fea major reorganization of directory structure 13 anos atrás
snap_to_canonical_view_quat.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
snap_to_canonical_view_quat.h bd4d115fea major reorganization of directory structure 13 anos atrás
sort.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
sort.h bd4d115fea major reorganization of directory structure 13 anos atrás
sparse.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
sparse.h bd4d115fea major reorganization of directory structure 13 anos atrás
speye.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
speye.h bd4d115fea major reorganization of directory structure 13 anos atrás
stdin_to_temp.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
stdin_to_temp.h bd4d115fea major reorganization of directory structure 13 anos atrás
sum.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
sum.h bd4d115fea major reorganization of directory structure 13 anos atrás
texture_from_tga.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
texture_from_tga.h bd4d115fea major reorganization of directory structure 13 anos atrás
tga.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
tga.h bd4d115fea major reorganization of directory structure 13 anos atrás
trackball.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
trackball.h bd4d115fea major reorganization of directory structure 13 anos atrás
transpose_blocks.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
transpose_blocks.h bd4d115fea major reorganization of directory structure 13 anos atrás
tt.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
tt.h bd4d115fea major reorganization of directory structure 13 anos atrás
uniform_type_to_string.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
uniform_type_to_string.h bd4d115fea major reorganization of directory structure 13 anos atrás
unproject.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
unproject.h bd4d115fea major reorganization of directory structure 13 anos atrás
upsample.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
upsample.h bd4d115fea major reorganization of directory structure 13 anos atrás
verbose.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
verbose.h e1f423c312 removed some warnings 13 anos atrás
vf.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
vf.h bd4d115fea major reorganization of directory structure 13 anos atrás
write.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
write.h bd4d115fea major reorganization of directory structure 13 anos atrás
writeDMAT.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
writeDMAT.h bd4d115fea major reorganization of directory structure 13 anos atrás
writeMESH.cpp bd4d115fea major reorganization of directory structure 13 anos atrás
writeMESH.h bd4d115fea major reorganization of directory structure 13 anos atrás
writeOBJ.cpp e1f423c312 removed some warnings 13 anos atrás
writeOBJ.h bd4d115fea major reorganization of directory structure 13 anos atrás
writeOFF.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning 13 anos atrás
writeOFF.h bd4d115fea major reorganization of directory structure 13 anos atrás

readMESH.cpp

#include "readMESH.h"

#include
#include "verbose.h"

template
IGL_INLINE bool igl::readMESH(
const std::string mesh_file_name,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
using namespace igl;
FILE * mesh_file = fopen(mesh_file_name.c_str(),"r");
if(NULL==mesh_file)
{
fprintf(stderr,"IOError: %s could not be opened...",mesh_file_name.c_str());
return false;
}
#ifndef LINE_MAX
# define LINE_MAX 2048
#endif
char line[LINE_MAX];
bool still_comments;
V.clear();
T.clear();
F.clear();

// eat comments at beginning of file
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

char str[LINE_MAX];
sscanf(line," %s",str);
// check that first word is MeshVersionFormatted
if(0!=strcmp(str,"MeshVersionFormatted"))
{
fprintf(stderr,
"Error: first word should be MeshVersionFormatted not %s\n",str);
fclose(mesh_file);
return false;
}
int one = -1;
if(2 != sscanf(line,"%s %d",str,&one))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&one);
}
if(one != 1)
{
fprintf(stderr,"Error: second word should be 1 not %d\n",one);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that third word is Dimension
if(0!=strcmp(str,"Dimension"))
{
fprintf(stderr,"Error: third word should be Dimension not %s\n",str);
fclose(mesh_file);
return false;
}
int three = -1;
if(2 != sscanf(line,"%s %d",str,&three))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&three);
}
if(three != 3)
{
fprintf(stderr,"Error: only Dimension 3 supported not %d\n",three);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that fifth word is Vertices
if(0!=strcmp(str,"Vertices"))
{
fprintf(stderr,"Error: fifth word should be Vertices not %s\n",str);
fclose(mesh_file);
return false;
}

//fgets(line,LINE_MAX,mesh_file);

#ifdef __APPLE__
size_t 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 less than 10^9...\n");
fclose(mesh_file);
return false;
}
// allocate space for vertices
V.resize(number_of_vertices,vector(3,0));
#ifdef __APPLE__
size_t extra;
#else
int extra;
#endif
for(size_t i = 0;i {
double x,y,z;
if(4 != fscanf(mesh_file," %lg %lg %lg %ld",&x,&y,&z,&extra))
{
fprintf(stderr,"Error: expecting vertex position...\n");
fclose(mesh_file);
return false;
}
V[i][0] = x;
V[i][1] = y;
V[i][2] = z;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Triangles"))
{
fprintf(stderr,"Error: sixth word should be Triangles not %s\n",str);
fclose(mesh_file);
return false;
}
#ifdef __APPLE__
size_t number_of_triangles;
#else
int number_of_triangles;
#endif
if(1 != fscanf(mesh_file," %ld",&number_of_triangles))
{
fprintf(stderr,"Error: expecting number of triangles...\n");
fclose(mesh_file);
return false;
}
// allocate space for triangles
F.resize(number_of_triangles,vector(3));
// triangle indices
#ifdef __APPLE__
size_t tri[3];
#else
int tri[3];
#endif
for(size_t i = 0;i {
if(4 != fscanf(mesh_file," %ld %ld %ld %ld",&tri[0],&tri[1],&tri[2],&extra))
{
printf("Error: expecting triangle indices...\n");
return false;
}
for(size_t j = 0;j<3;j++)
{
F[i][j] = tri[j]-1;
}
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Tetrahedra"))
{
fprintf(stderr,"Error: seventh word should be Tetrahedra not %s\n",str);
fclose(mesh_file);
return false;
}
#ifdef __APPLE__
size_t number_of_tetrahedra;
#else
int number_of_tetrahedra;
#endif
if(1 != fscanf(mesh_file," %ld",&number_of_tetrahedra))
{
fprintf(stderr,"Error: expecting number of tetrahedra...\n");
fclose(mesh_file);
return false;
}
// allocate space for tetrahedra
T.resize(number_of_tetrahedra,vector(4));
// tet indices
#ifdef __APPLE__
size_t a,b,c,d;
#else
int a,b,c,d;
#endif
for(size_t i = 0;i {
if(5 != fscanf(mesh_file," %ld %ld %ld %ld %ld",&a,&b,&c,&d,&extra))
{
fprintf(stderr,"Error: expecting tetrahedra indices...\n");
fclose(mesh_file);
return false;
}
T[i][0] = a-1;
T[i][1] = b-1;
T[i][2] = c-1;
T[i][3] = d-1;
}
fclose(mesh_file);
return true;
}

#include
#include "list_to_matrix.h"


template
IGL_INLINE bool igl::readMESH(
const std::string str,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& F)
{
std::vector > vV,vT,vF;
bool success = igl::readMESH(str,vV,vT,vF);
if(!success)
{
// readOBJ(str,vV,vTC,vN,vF,vFTC,vFN) should have already printed an error
// message to stderr
return false;
}
bool V_rect = igl::list_to_matrix(vV,V);
if(!V_rect)
{
// igl::list_to_matrix(vV,V) already printed error message to std err
return false;
}
bool T_rect = igl::list_to_matrix(vT,T);
if(!T_rect)
{
// igl::list_to_matrix(vT,T) already printed error message to std err
return false;
}
bool F_rect = igl::list_to_matrix(vF,F);
if(!F_rect)
{
// igl::list_to_matrix(vF,F) already printed error message to std err
return false;
}
assert(V.cols() == 3);
assert(T.cols() == 4);
assert(F.cols() == 3);
return true;
}

#ifndef IGL_HEADER_ONLY
// Explicit template specialization
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
#endif