Alec Jacobson (jalec d3b6c5ed4d compiles on alec's webserver před 12 roky
..
matlab d3b6c5ed4d compiles on alec's webserver před 12 roky
mosek d3b6c5ed4d compiles on alec's webserver před 12 roky
png e114234703 mosek qquadprog asserts před 13 roky
tetgen d3b6c5ed4d compiles on alec's webserver před 12 roky
Camera.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
Camera.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
EPS.cpp bd4d115fea major reorganization of directory structure před 13 roky
EPS.h bd4d115fea major reorganization of directory structure před 13 roky
MCTables.hh 9f80dbdd02 minor updates to marching cubes před 13 roky
NormalType.h 4c00932f06 normal type před 13 roky
ONE.h bd4d115fea major reorganization of directory structure před 13 roky
PI.h bd4d115fea major reorganization of directory structure před 13 roky
ReAntTweakBar.cpp 93b617064b draw mesh functions (from autodof/FAST code) and fixed bug in ReAntTweakbar and fixed warning in writeDMAT před 13 roky
ReAntTweakBar.h 88ab84a1d9 readDMAT binary před 13 roky
Timer.h 0c1a1ad9f5 added clock tick precision to the timer (macosx) před 13 roky
ZERO.h bd4d115fea major reorganization of directory structure před 13 roky
adjacency_list.cpp 21f9758feb added a few specializations před 13 roky
adjacency_list.h bd4d115fea major reorganization of directory structure před 13 roky
adjacency_matrix.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
adjacency_matrix.h bd4d115fea major reorganization of directory structure před 13 roky
all_pairs_distances.cpp bd4d115fea major reorganization of directory structure před 13 roky
all_pairs_distances.h bd4d115fea major reorganization of directory structure před 13 roky
axis_angle_to_quat.cpp bd4d115fea major reorganization of directory structure před 13 roky
axis_angle_to_quat.h bd4d115fea major reorganization of directory structure před 13 roky
basename.cpp bd4d115fea major reorganization of directory structure před 13 roky
basename.h bd4d115fea major reorganization of directory structure před 13 roky
boundary_faces.cpp 0deb1ee265 boundary faces explicit template před 13 roky
boundary_faces.h 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning před 13 roky
canonical_quaternions.cpp 5f7bb2d694 support for double quats in reanttweakbar and some templates před 13 roky
canonical_quaternions.h 5f7bb2d694 support for double quats in reanttweakbar and some templates před 13 roky
cat.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
cat.h bd4d115fea major reorganization of directory structure před 13 roky
cocoa_key_to_anttweakbar_key.cpp 430c37544c ci before daniele moves to hg před 13 roky
cocoa_key_to_anttweakbar_key.h bd4d115fea major reorganization of directory structure před 13 roky
colon.cpp bd4d115fea major reorganization of directory structure před 13 roky
colon.h bd4d115fea major reorganization of directory structure před 13 roky
concat.cpp bd4d115fea major reorganization of directory structure před 13 roky
concat.h bd4d115fea major reorganization of directory structure před 13 roky
cotangent.cpp 3888611403 compiles with skinning app před 13 roky
cotangent.h bd4d115fea major reorganization of directory structure před 13 roky
cotmatrix.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
cotmatrix.h bd4d115fea major reorganization of directory structure před 13 roky
create_index_vbo.cpp bd4d115fea major reorganization of directory structure před 13 roky
create_index_vbo.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
create_mesh_vbo.cpp bd4d115fea major reorganization of directory structure před 13 roky
create_mesh_vbo.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
create_shader_program.cpp bd4d115fea major reorganization of directory structure před 13 roky
create_shader_program.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
create_vector_vbo.cpp bd4d115fea major reorganization of directory structure před 13 roky
create_vector_vbo.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
cross.cpp bd4d115fea major reorganization of directory structure před 13 roky
cross.h bd4d115fea major reorganization of directory structure před 13 roky
destroy_shader_program.cpp 9e49a8d87b fixed verbose and merged před 13 roky
destroy_shader_program.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
diag.cpp 93b617064b draw mesh functions (from autodof/FAST code) and fixed bug in ReAntTweakbar and fixed warning in writeDMAT před 13 roky
diag.h b46010fc5f massmatrix před 13 roky
dirname.cpp 9e49a8d87b fixed verbose and merged před 13 roky
dirname.h bd4d115fea major reorganization of directory structure před 13 roky
dot.cpp bd4d115fea major reorganization of directory structure před 13 roky
dot.h bd4d115fea major reorganization of directory structure před 13 roky
draw_mesh.cpp a3f5502612 draw meshes with any type of normals před 13 roky
draw_mesh.h d3b6c5ed4d compiles on alec's webserver před 12 roky
draw_point.cpp 0d4d643d08 draw point in Alec's 2d style před 13 roky
draw_point.h 430c37544c ci before daniele moves to hg před 13 roky
edge_lengths.cpp bd4d115fea major reorganization of directory structure před 13 roky
edge_lengths.h bd4d115fea major reorganization of directory structure před 13 roky
edges.cpp bd4d115fea major reorganization of directory structure před 13 roky
edges.h bd4d115fea major reorganization of directory structure před 13 roky
edgetopology.cpp 5d88fb8cc0 edgetopology now sorts the EF relation před 13 roky
edgetopology.h 5d88fb8cc0 edgetopology now sorts the EF relation před 13 roky
example_fun.cpp bd4d115fea major reorganization of directory structure před 13 roky
example_fun.h bd4d115fea major reorganization of directory structure před 13 roky
face_occurences.cpp bd4d115fea major reorganization of directory structure před 13 roky
face_occurences.h bd4d115fea major reorganization of directory structure před 13 roky
faces_first.cpp 1f70076a7a fixed optimization flags in some Makefiles, tetgen wraper, launch medit, mosek wrapper před 13 roky
faces_first.h 1f70076a7a fixed optimization flags in some Makefiles, tetgen wraper, launch medit, mosek wrapper před 13 roky
file_contents_as_string.cpp bd4d115fea major reorganization of directory structure před 13 roky
file_contents_as_string.h bd4d115fea major reorganization of directory structure před 13 roky
file_exists.cpp bd4d115fea major reorganization of directory structure před 13 roky
file_exists.h bd4d115fea major reorganization of directory structure před 13 roky
find.cpp 98be5f8569 fixed bug in render to tga před 13 roky
find.h 98be5f8569 fixed bug in render to tga před 13 roky
full.cpp bd4d115fea major reorganization of directory structure před 13 roky
full.h bd4d115fea major reorganization of directory structure před 13 roky
get_seconds.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
get_seconds.h bd4d115fea major reorganization of directory structure před 13 roky
get_seconds_hires.cpp bd4d115fea major reorganization of directory structure před 13 roky
get_seconds_hires.h bd4d115fea major reorganization of directory structure před 13 roky
gl_type_size.cpp bd4d115fea major reorganization of directory structure před 13 roky
gl_type_size.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
grad.cpp bd4d115fea major reorganization of directory structure před 13 roky
grad.h bd4d115fea major reorganization of directory structure před 13 roky
harwell_boeing.cpp 98be5f8569 fixed bug in render to tga před 13 roky
harwell_boeing.h 98be5f8569 fixed bug in render to tga před 13 roky
igl_inline.h bd4d115fea major reorganization of directory structure před 13 roky
invert_diag.cpp 98be5f8569 fixed bug in render to tga před 13 roky
invert_diag.h 15ccf65951 invert diag před 13 roky
is_border_vertex.cpp f7d4aaeaf3 make is_border_vertex() + tt() work for general face matrix types před 13 roky
is_border_vertex.h f7d4aaeaf3 make is_border_vertex() + tt() work for general face matrix types před 13 roky
is_dir.cpp bd4d115fea major reorganization of directory structure před 13 roky
is_dir.h bd4d115fea major reorganization of directory structure před 13 roky
is_file.cpp bd4d115fea major reorganization of directory structure před 13 roky
is_file.h bd4d115fea major reorganization of directory structure před 13 roky
is_manifold.cpp 4d8b3576f5 fixed warnings in daniele functions před 13 roky
is_manifold.h 1f7f30930c changed templates for tt to enable different types for F and TT,TTi (F might be unsigned but TT has to contain -1's) před 13 roky
is_readable.cpp 88ab84a1d9 readDMAT binary před 13 roky
is_readable.h bd4d115fea major reorganization of directory structure před 13 roky
is_symmetric.cpp bd4d115fea major reorganization of directory structure před 13 roky
is_symmetric.h bd4d115fea major reorganization of directory structure před 13 roky
is_writable.cpp bd4d115fea major reorganization of directory structure před 13 roky
is_writable.h bd4d115fea major reorganization of directory structure před 13 roky
launch_medit.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
launch_medit.h 98be5f8569 fixed bug in render to tga před 13 roky
limit_faces.cpp bd4d115fea major reorganization of directory structure před 13 roky
limit_faces.h bd4d115fea major reorganization of directory structure před 13 roky
list_to_matrix.cpp 98be5f8569 fixed bug in render to tga před 13 roky
list_to_matrix.h bd4d115fea major reorganization of directory structure před 13 roky
load_shader.cpp bd4d115fea major reorganization of directory structure před 13 roky
load_shader.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
lu_lagrange.cpp ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
lu_lagrange.h bd4d115fea major reorganization of directory structure před 13 roky
marching_cubes.cpp 9f80dbdd02 minor updates to marching cubes před 13 roky
marching_cubes.h 9f80dbdd02 minor updates to marching cubes před 13 roky
massmatrix.cpp 84b995054f fixed massmatrix před 13 roky
massmatrix.h b46010fc5f massmatrix před 13 roky
mat_max.cpp bd4d115fea major reorganization of directory structure před 13 roky
mat_max.h bd4d115fea major reorganization of directory structure před 13 roky
mat_min.cpp bd4d115fea major reorganization of directory structure před 13 roky
mat_min.h bd4d115fea major reorganization of directory structure před 13 roky
material_colors.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
matrix_to_list.cpp 98be5f8569 fixed bug in render to tga před 13 roky
matrix_to_list.h 98be5f8569 fixed bug in render to tga před 13 roky
max_size.cpp bd4d115fea major reorganization of directory structure před 13 roky
max_size.h bd4d115fea major reorganization of directory structure před 13 roky
min_quad_dense.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
min_quad_dense.h 97e8cb20bd add use_lu as parameter to min_quad_dense před 13 roky
min_quad_with_fixed.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
min_quad_with_fixed.h 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
min_size.cpp bd4d115fea major reorganization of directory structure před 13 roky
min_size.h bd4d115fea major reorganization of directory structure před 13 roky
mode.cpp bd4d115fea major reorganization of directory structure před 13 roky
mode.h bd4d115fea major reorganization of directory structure před 13 roky
moveFV.cpp bd4d115fea major reorganization of directory structure před 13 roky
moveFV.h bd4d115fea major reorganization of directory structure před 13 roky
mvc.h adefe2d4aa added marching cubes implementation před 13 roky
normalize_quat.cpp bd4d115fea major reorganization of directory structure před 13 roky
normalize_quat.h bd4d115fea major reorganization of directory structure před 13 roky
normalize_row_lengths.cpp 20641d7778 normalize rows disambiguation před 13 roky
normalize_row_lengths.h 20641d7778 normalize rows disambiguation před 13 roky
normalize_row_sums.cpp 98be5f8569 fixed bug in render to tga před 13 roky
normalize_row_sums.h 98be5f8569 fixed bug in render to tga před 13 roky
on_boundary.cpp 778c042ccf explicit templates matlab workspace and last commit before hunting bug in alec's skinning před 13 roky
on_boundary.h bd4d115fea major reorganization of directory structure před 13 roky
orth.h bd4d115fea major reorganization of directory structure před 13 roky
pathinfo.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
pathinfo.h bd4d115fea major reorganization of directory structure před 13 roky
per_corner_normals.cpp 2032eaf5a1 found missing style sheet před 13 roky
per_corner_normals.h 2032eaf5a1 found missing style sheet před 13 roky
per_face_normals.cpp 21f9758feb added a few specializations před 13 roky
per_face_normals.h 98be5f8569 fixed bug in render to tga před 13 roky
per_vertex_attribute_smoothing.cpp b0c36fb339 per vertex attribute smoothing před 13 roky
per_vertex_attribute_smoothing.h b0c36fb339 per vertex attribute smoothing před 13 roky
per_vertex_normals.cpp 2032eaf5a1 found missing style sheet před 13 roky
per_vertex_normals.h 5aaf034493 indentation in per_vertex_normals před 13 roky
plot_vector.cpp bd4d115fea major reorganization of directory structure před 13 roky
plot_vector.h bd4d115fea major reorganization of directory structure před 13 roky
point_in_circle.cpp bd4d115fea major reorganization of directory structure před 13 roky
point_in_circle.h bd4d115fea major reorganization of directory structure před 13 roky
pos.h bd4d115fea major reorganization of directory structure před 13 roky
print_gl_get.cpp bd4d115fea major reorganization of directory structure před 13 roky
print_gl_get.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
print_ijv.cpp bd4d115fea major reorganization of directory structure před 13 roky
print_ijv.h bd4d115fea major reorganization of directory structure před 13 roky
print_program_info_log.cpp bd4d115fea major reorganization of directory structure před 13 roky
print_program_info_log.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
print_shader_info_log.cpp bd4d115fea major reorganization of directory structure před 13 roky
print_shader_info_log.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
project.cpp 9e49a8d87b fixed verbose and merged před 13 roky
project.h bd4d115fea major reorganization of directory structure před 13 roky
project_to_line.cpp 3888611403 compiles with skinning app před 13 roky
project_to_line.h a90c38cbe1 project to line před 13 roky
quat_conjugate.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
quat_conjugate.h bd4d115fea major reorganization of directory structure před 13 roky
quat_mult.cpp bd4d115fea major reorganization of directory structure před 13 roky
quat_mult.h bd4d115fea major reorganization of directory structure před 13 roky
quat_to_mat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
quat_to_mat.h bd4d115fea major reorganization of directory structure před 13 roky
read.cpp df3470adb9 read works with vector of vector před 13 roky
read.h df3470adb9 read works with vector of vector před 13 roky
readDMAT.cpp 98d73ddd0e fixed bug in writeDMAT, also added templates for read/writeDMAT před 13 roky
readDMAT.h d8c6aebae3 readDMAT for vectors of vectors před 13 roky
readMESH.cpp 3888611403 compiles with skinning app před 13 roky
readMESH.h bd4d115fea major reorganization of directory structure před 13 roky
readOBJ.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
readOBJ.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
readOFF.cpp df3470adb9 read works with vector of vector před 13 roky
readOFF.h df3470adb9 read works with vector of vector před 13 roky
removeDuplicates.cpp adefe2d4aa added marching cubes implementation před 13 roky
removeDuplicates.h adefe2d4aa added marching cubes implementation před 13 roky
removeUnreferenced.cpp bd4d115fea major reorganization of directory structure před 13 roky
removeUnreferenced.h bd4d115fea major reorganization of directory structure před 13 roky
render_to_tga.cpp 0fa5eef8b0 fixed missing header in render_to_tga and make file for non llvm users před 12 roky
render_to_tga.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
reorder.cpp bd4d115fea major reorganization of directory structure před 13 roky
reorder.h bd4d115fea major reorganization of directory structure před 13 roky
repdiag.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
repdiag.h bd4d115fea major reorganization of directory structure před 13 roky
repmat.cpp b46010fc5f massmatrix před 13 roky
repmat.h bd4d115fea major reorganization of directory structure před 13 roky
report_gl_error.cpp bd4d115fea major reorganization of directory structure před 13 roky
report_gl_error.h bd4d115fea major reorganization of directory structure před 13 roky
rotate_by_quat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
rotate_by_quat.h bd4d115fea major reorganization of directory structure před 13 roky
rows_to_matrix.cpp bd4d115fea major reorganization of directory structure před 13 roky
rows_to_matrix.h bd4d115fea major reorganization of directory structure před 13 roky
slice.cpp 88d917db2b slice template před 13 roky
slice.h bd4d115fea major reorganization of directory structure před 13 roky
slice_into.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
slice_into.h bd4d115fea major reorganization of directory structure před 13 roky
snap_to_canonical_view_quat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
snap_to_canonical_view_quat.h bd4d115fea major reorganization of directory structure před 13 roky
sort.cpp bd4d115fea major reorganization of directory structure před 13 roky
sort.h bd4d115fea major reorganization of directory structure před 13 roky
sparse.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
sparse.h bd4d115fea major reorganization of directory structure před 13 roky
speye.cpp bd4d115fea major reorganization of directory structure před 13 roky
speye.h bd4d115fea major reorganization of directory structure před 13 roky
stdin_to_temp.cpp bd4d115fea major reorganization of directory structure před 13 roky
stdin_to_temp.h bd4d115fea major reorganization of directory structure před 13 roky
sum.cpp bd4d115fea major reorganization of directory structure před 13 roky
sum.h bd4d115fea major reorganization of directory structure před 13 roky
texture_from_tga.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
texture_from_tga.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
tga.cpp bd4d115fea major reorganization of directory structure před 13 roky
tga.h d3b6c5ed4d compiles on alec's webserver před 12 roky
trackball.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), před 13 roky
trackball.h bd4d115fea major reorganization of directory structure před 13 roky
transpose_blocks.cpp bd4d115fea major reorganization of directory structure před 13 roky
transpose_blocks.h bd4d115fea major reorganization of directory structure před 13 roky
tt.cpp f7d4aaeaf3 make is_border_vertex() + tt() work for general face matrix types před 13 roky
tt.h 1f7f30930c changed templates for tt to enable different types for F and TT,TTi (F might be unsigned but TT has to contain -1's) před 13 roky
uniform_type_to_string.cpp bd4d115fea major reorganization of directory structure před 13 roky
uniform_type_to_string.h ad715f0020 hopefully fixed a bunch of missing includes for windows před 13 roky
unproject.cpp bd4d115fea major reorganization of directory structure před 13 roky
unproject.h 1d90da86f8 unproject to zero plane před 13 roky
unproject_to_zero_plane.cpp 1d90da86f8 unproject to zero plane před 13 roky
unproject_to_zero_plane.h 1d90da86f8 unproject to zero plane před 13 roky
upsample.cpp 3888611403 compiles with skinning app před 13 roky
upsample.h 3888611403 compiles with skinning app před 13 roky
verbose.h 64cc763dd8 compiles on mac (bug fix in upsample) před 13 roky
vf.cpp 21f9758feb added a few specializations před 13 roky
vf.h bd4d115fea major reorganization of directory structure před 13 roky
write.cpp bd4d115fea major reorganization of directory structure před 13 roky
write.h bd4d115fea major reorganization of directory structure před 13 roky
writeDMAT.cpp 93b617064b draw mesh functions (from autodof/FAST code) and fixed bug in ReAntTweakbar and fixed warning in writeDMAT před 13 roky
writeDMAT.h ae1d358ed8 writedmat vectors před 13 roky
writeMESH.cpp 1f70076a7a fixed optimization flags in some Makefiles, tetgen wraper, launch medit, mosek wrapper před 13 roky
writeMESH.h 1f70076a7a fixed optimization flags in some Makefiles, tetgen wraper, launch medit, mosek wrapper před 13 roky
writeOBJ.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
writeOBJ.h bd4d115fea major reorganization of directory structure před 13 roky
writeOFF.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar před 13 roky
writeOFF.h bd4d115fea major reorganization of directory structure před 13 roky

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);

int number_of_vertices;
if(1 != fscanf(mesh_file," %d",&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));
int extra;
for(int i = 0;i {
double x,y,z;
if(4 != fscanf(mesh_file," %lg %lg %lg %d",&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;
}
int number_of_triangles;
if(1 != fscanf(mesh_file," %d",&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
int tri[3];
for(int i = 0;i {
if(4 != fscanf(mesh_file," %d %d %d %d",&tri[0],&tri[1],&tri[2],&extra))
{
printf("Error: expecting triangle indices...\n");
return false;
}
for(int 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;
}
int number_of_tetrahedra;
if(1 != fscanf(mesh_file," %d",&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
int a,b,c,d;
for(int i = 0;i {
if(5 != fscanf(mesh_file," %d %d %d %d %d",&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