Daniele Panozzo 2c9843f164 * greatly improved the tutorial MIQ example 11 år sedan
..
bbw df7b363ece rotation widget example 11 år sedan
boost c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
cgal c3325c9d16 duplicate vertex support in selfintersect 11 år sedan
comiso 2c9843f164 * greatly improved the tutorial MIQ example 11 år sedan
embree 1de0c75000 arap parameterization no longer allowing reflections, using ref triangles 11 år sedan
matlab 889234511e Merge branch 'master' of https://github.com/libigl/libigl 11 år sedan
mosek b473232452 preprend license header to every file 11 år sedan
png c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
svd3x3 363027c9ff fixed bug in arap for *not* parameterizing 11 år sedan
tetgen c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
viewer 2c9843f164 * greatly improved the tutorial MIQ example 11 år sedan
xml 50665ab20a Merge branch 'master' of https://github.com/libigl/libigl 11 år sedan
ARAPEnergyType.h 6025da57dc ARAp example 11 år sedan
C_STR.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
Camera.h b3914046f0 fix alignment in Camera 11 år sedan
EPS.cpp b473232452 preprend license header to every file 11 år sedan
EPS.h b473232452 preprend license header to every file 11 år sedan
IO 40aa09d1f3 templates and clean up 11 år sedan
InElementAABB.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
IndexComparison.h b473232452 preprend license header to every file 11 år sedan
MCTables.hh c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
MouseController.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
NormalType.h b2b071dc31 desaturate disabled rotate wdiget 11 år sedan
ONE.h b473232452 preprend license header to every file 11 år sedan
OpenGL_convenience.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
PI.h b473232452 preprend license header to every file 11 år sedan
REDRUM.h b473232452 preprend license header to every file 11 år sedan
ReAntTweakBar.cpp c2646d97f6 medit 11 år sedan
ReAntTweakBar.h c2646d97f6 medit 11 år sedan
RotateWidget.h 3c1a54ee20 init order in RotateWidget 11 år sedan
STR.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
SolverStatus.h b473232452 preprend license header to every file 11 år sedan
SortableRow.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
Timer.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
Viewport.h 072cde3df4 bug fixes in rotate wiget, templates 11 år sedan
WindingNumberAABB.h 946a60f916 mv most winding number code from project 11 år sedan
WindingNumberMethod.h 946a60f916 mv most winding number code from project 11 år sedan
WindingNumberTree.h c3325c9d16 duplicate vertex support in selfintersect 11 år sedan
ZERO.h b473232452 preprend license header to every file 11 år sedan
active_set.cpp 0f69e26554 Started camera example (not working correctly yet) 11 år sedan
active_set.h fde20c73d9 Merge branch 'master' of https://github.com/libigl/libigl 11 år sedan
add_barycenter.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
add_barycenter.h b473232452 preprend license header to every file 11 år sedan
adjacency_list.cpp 450d22530b clean up principal curvature example 11 år sedan
adjacency_list.h b473232452 preprend license header to every file 11 år sedan
adjacency_matrix.cpp dd6bcb61bd non deprecated adjacency matrix 11 år sedan
adjacency_matrix.h b473232452 preprend license header to every file 11 år sedan
all_edges.cpp b473232452 preprend license header to every file 11 år sedan
all_edges.h b473232452 preprend license header to every file 11 år sedan
all_pairs_distances.cpp b473232452 preprend license header to every file 11 år sedan
all_pairs_distances.h b473232452 preprend license header to every file 11 år sedan
angular_distance.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
angular_distance.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
any_of.cpp b0f3bad258 added mouse controller and any_of wrapper and license 11 år sedan
any_of.h b0f3bad258 added mouse controller and any_of wrapper and license 11 år sedan
arap_linear_block.cpp d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
arap_linear_block.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
arap_rhs.cpp 49dadb340c arap parameterization working, really 11 år sedan
arap_rhs.h ac36e0fddb arap works as parameterization (note interface changes) 11 år sedan
areamatrix.cpp 6ccca30cba clean up lscm and areamatrix 11 år sedan
areamatrix.h 6ccca30cba clean up lscm and areamatrix 11 år sedan
avg_edge_length.cpp 450d22530b clean up principal curvature example 11 år sedan
avg_edge_length.h 5b5f473c0d fixed weird include situation in avg_edge_length 11 år sedan
axis_angle_to_quat.cpp b473232452 preprend license header to every file 11 år sedan
axis_angle_to_quat.h b473232452 preprend license header to every file 11 år sedan
barycenter.cpp b473232452 preprend license header to every file 11 år sedan
barycenter.h b473232452 preprend license header to every file 11 år sedan
barycentric2global.cpp 4582a4f49d added a function that projects a mesh onto another using embree 11 år sedan
barycentric2global.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
barycentric_coordinates.cpp aba141dec1 support for 2d bary coords 11 år sedan
barycentric_coordinates.h aba141dec1 support for 2d bary coords 11 år sedan
basename.cpp b473232452 preprend license header to every file 11 år sedan
basename.h b473232452 preprend license header to every file 11 år sedan
boundary_conditions.cpp 5c04a7b9d2 Removed overzealous check in boundary_conditions when there's only a single point handle. 11 år sedan
boundary_conditions.h b473232452 preprend license header to every file 11 år sedan
boundary_faces.cpp e100aa33d6 note in reanttweakbar and boundary faces assertion 11 år sedan
boundary_faces.h b473232452 preprend license header to every file 11 år sedan
boundary_vertices_sorted.cpp 3674980304 comments in boundary* and map_vert* 11 år sedan
boundary_vertices_sorted.h 3674980304 comments in boundary* and map_vert* 11 år sedan
bounding_box_diagonal.cpp b473232452 preprend license header to every file 11 år sedan
bounding_box_diagonal.h b473232452 preprend license header to every file 11 år sedan
canonical_quaternions.cpp b473232452 preprend license header to every file 11 år sedan
canonical_quaternions.h 5b73716bcf major camera refactor 11 år sedan
cat.cpp b473232452 preprend license header to every file 11 år sedan
cat.h b473232452 preprend license header to every file 11 år sedan
cocoa_key_to_anttweakbar_key.cpp b473232452 preprend license header to every file 11 år sedan
cocoa_key_to_anttweakbar_key.h b473232452 preprend license header to every file 11 år sedan
colon.cpp 0176fe9813 removed colon error message, color example 11 år sedan
colon.h b473232452 preprend license header to every file 11 år sedan
column_to_quats.cpp 3ee6fa10ec mouse controller and quaternion io 11 år sedan
column_to_quats.h 3ee6fa10ec mouse controller and quaternion io 11 år sedan
columnize.cpp 04d3a59a57 floats and doubles for arap_dof 11 år sedan
columnize.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
comb_cross_field.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
comb_cross_field.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
comb_frame_field.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
comb_frame_field.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
compute_frame_field_bisectors.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
compute_frame_field_bisectors.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
cotangent.cpp 11efa92d41 added cot3 references 11 år sedan
cotangent.h 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
cotmatrix.cpp 7801bae065 fix slow cotmatrix 11 år sedan
cotmatrix.h 1de0c75000 arap parameterization no longer allowing reflections, using ref triangles 11 år sedan
covariance_scatter_matrix.cpp 49dadb340c arap parameterization working, really 11 år sedan
covariance_scatter_matrix.h 49dadb340c arap parameterization working, really 11 år sedan
create_index_vbo.cpp b473232452 preprend license header to every file 11 år sedan
create_index_vbo.h b473232452 preprend license header to every file 11 år sedan
create_mesh_vbo.cpp b473232452 preprend license header to every file 11 år sedan
create_mesh_vbo.h b473232452 preprend license header to every file 11 år sedan
create_shader_program.cpp b473232452 preprend license header to every file 11 år sedan
create_shader_program.h b473232452 preprend license header to every file 11 år sedan
create_vector_vbo.cpp b473232452 preprend license header to every file 11 år sedan
create_vector_vbo.h b473232452 preprend license header to every file 11 år sedan
cross.cpp 38cd4684cd better cross, volume and new barycentric coordinates (tets only) 11 år sedan
cross.h 38cd4684cd better cross, volume and new barycentric coordinates (tets only) 11 år sedan
cross_field_missmatch.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
cross_field_missmatch.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
cumsum.cpp 83135b0027 hg cleanup' 11 år sedan
cumsum.h b4b18430fd sample mesh, cumulative sum, histogram 11 år sedan
cut_mesh_from_singularities.cpp 2c9843f164 * greatly improved the tutorial MIQ example 11 år sedan
cut_mesh_from_singularities.h 2c9843f164 * greatly improved the tutorial MIQ example 11 år sedan
dated_copy.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
dated_copy.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
destroy_shader_program.cpp b473232452 preprend license header to every file 11 år sedan
destroy_shader_program.h b473232452 preprend license header to every file 11 år sedan
diag.cpp b473232452 preprend license header to every file 11 år sedan
diag.h b473232452 preprend license header to every file 11 år sedan
dihedral_angles.cpp 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
dihedral_angles.h 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
dirname.cpp b473232452 preprend license header to every file 11 år sedan
dirname.h b473232452 preprend license header to every file 11 år sedan
dot.cpp b473232452 preprend license header to every file 11 år sedan
dot.h b473232452 preprend license header to every file 11 år sedan
doublearea.cpp aba141dec1 support for 2d bary coords 11 år sedan
doublearea.h aba141dec1 support for 2d bary coords 11 år sedan
dqs.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
dqs.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
draw_beach_ball.cpp b473232452 preprend license header to every file 11 år sedan
draw_beach_ball.h f733e02c0a bug fix 11 år sedan
draw_floor.cpp ccbdc48e71 fixed bug in camera and better parameterization of draw floor 11 år sedan
draw_floor.h ccbdc48e71 fixed bug in camera and better parameterization of draw floor 11 år sedan
draw_mesh.cpp 404a719d25 stl file format 11 år sedan
draw_mesh.h b473232452 preprend license header to every file 11 år sedan
draw_point.cpp b473232452 preprend license header to every file 11 år sedan
draw_point.h b473232452 preprend license header to every file 11 år sedan
draw_rectangular_marquee.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
draw_rectangular_marquee.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
draw_skeleton_3d.cpp 865b841fb1 openmp if catch in project_to_line* 11 år sedan
draw_skeleton_3d.h ae29184e91 draw skeleton with colors 11 år sedan
draw_skeleton_vector_graphics.cpp 072cde3df4 bug fixes in rotate wiget, templates 11 år sedan
draw_skeleton_vector_graphics.h 072cde3df4 bug fixes in rotate wiget, templates 11 år sedan
edge_lengths.cpp 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
edge_lengths.h 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
edges.cpp b473232452 preprend license header to every file 11 år sedan
edges.h b473232452 preprend license header to every file 11 år sedan
edgetopology.cpp b473232452 preprend license header to every file 11 år sedan
edgetopology.h b473232452 preprend license header to every file 11 år sedan
example_fun.cpp d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
example_fun.h b473232452 preprend license header to every file 11 år sedan
exterior_edges.cpp 946a60f916 mv most winding number code from project 11 år sedan
exterior_edges.h 946a60f916 mv most winding number code from project 11 år sedan
face_areas.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
face_areas.h 2cbb9c856b geometric cotangent, volume, face areas, edge lengths for tet meshes 11 år sedan
face_occurences.cpp b473232452 preprend license header to every file 11 år sedan
face_occurences.h b473232452 preprend license header to every file 11 år sedan
faces_first.cpp b473232452 preprend license header to every file 11 år sedan
faces_first.h b473232452 preprend license header to every file 11 år sedan
file_contents_as_string.cpp b473232452 preprend license header to every file 11 år sedan
file_contents_as_string.h b473232452 preprend license header to every file 11 år sedan
file_dialog_open.cpp 5c91e9cc07 viewer compiles on windows 11 år sedan
file_dialog_open.h 1ca72046b6 fixed lots of issues with file_dialog.*, template in tt 11 år sedan
file_dialog_save.cpp 5c91e9cc07 viewer compiles on windows 11 år sedan
file_dialog_save.h 1ca72046b6 fixed lots of issues with file_dialog.*, template in tt 11 år sedan
file_exists.cpp b473232452 preprend license header to every file 11 år sedan
file_exists.h b473232452 preprend license header to every file 11 år sedan
find.cpp b473232452 preprend license header to every file 11 år sedan
find.h b473232452 preprend license header to every file 11 år sedan
find_cross_field_singularities.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
find_cross_field_singularities.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
fit_plane.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
fit_plane.h 5e6a231f3f updated template types in removeUnreference and fixed a minor bug 11 år sedan
flare_textures.h.REMOVED.git-id c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
forward_kinematics.cpp 3ee6fa10ec mouse controller and quaternion io 11 år sedan
forward_kinematics.h 3ee6fa10ec mouse controller and quaternion io 11 år sedan
full.cpp b473232452 preprend license header to every file 11 år sedan
full.h b473232452 preprend license header to every file 11 år sedan
gaussian_curvature.cpp 43ed3636e1 gaussian curvature and internal angles 11 år sedan
gaussian_curvature.h 43ed3636e1 gaussian curvature and internal angles 11 år sedan
get_seconds.cpp b473232452 preprend license header to every file 11 år sedan
get_seconds.h b473232452 preprend license header to every file 11 år sedan
get_seconds_hires.cpp b473232452 preprend license header to every file 11 år sedan
get_seconds_hires.h b473232452 preprend license header to every file 11 år sedan
gl_type_size.cpp b473232452 preprend license header to every file 11 år sedan
gl_type_size.h b473232452 preprend license header to every file 11 år sedan
grad.cpp b473232452 preprend license header to every file 11 år sedan
grad.h b473232452 preprend license header to every file 11 år sedan
gradMat.cpp cac3b04a2a Gradient example 11 år sedan
gradMat.h b473232452 preprend license header to every file 11 år sedan
group_sum_matrix.cpp d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
group_sum_matrix.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
harmonic.cpp 39dd224f64 fixed some bugs in arap 11 år sedan
harmonic.h 2608885ba3 harmonic weights 11 år sedan
harwell_boeing.cpp b473232452 preprend license header to every file 11 år sedan
harwell_boeing.h b473232452 preprend license header to every file 11 år sedan
histc.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
histc.h aebcaf8c6d better histc prototype, fixed warnings 11 år sedan
hsv_to_rgb.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
hsv_to_rgb.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
igl_inline.h b473232452 preprend license header to every file 11 år sedan
in_element.cpp a1e3e14eb0 in element 11 år sedan
in_element.h a1e3e14eb0 in element 11 år sedan
internal_angles.cpp 43ed3636e1 gaussian curvature and internal angles 11 år sedan
internal_angles.h 43ed3636e1 gaussian curvature and internal angles 11 år sedan
intersect.cpp df7b363ece rotation widget example 11 år sedan
intersect.h df7b363ece rotation widget example 11 år sedan
invert_diag.cpp b473232452 preprend license header to every file 11 år sedan
invert_diag.h b473232452 preprend license header to every file 11 år sedan
is_border_vertex.cpp 2513a565df added some template instantiations 11 år sedan
is_border_vertex.h b473232452 preprend license header to every file 11 år sedan
is_dir.cpp b473232452 preprend license header to every file 11 år sedan
is_dir.h b473232452 preprend license header to every file 11 år sedan
is_file.cpp b473232452 preprend license header to every file 11 år sedan
is_file.h b473232452 preprend license header to every file 11 år sedan
is_manifold.cpp b473232452 preprend license header to every file 11 år sedan
is_manifold.h b473232452 preprend license header to every file 11 år sedan
is_planar.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
is_planar.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
is_readable.cpp b473232452 preprend license header to every file 11 år sedan
is_readable.h b473232452 preprend license header to every file 11 år sedan
is_sparse.cpp b473232452 preprend license header to every file 11 år sedan
is_sparse.h b473232452 preprend license header to every file 11 år sedan
is_symmetric.cpp a6c7612f3f is symmetric is not defined for empty input 11 år sedan
is_symmetric.h b473232452 preprend license header to every file 11 år sedan
is_writable.cpp b473232452 preprend license header to every file 11 år sedan
is_writable.h b473232452 preprend license header to every file 11 år sedan
jet.cpp cac3b04a2a Gradient example 11 år sedan
jet.h 643bb356eb gaussian curvature example in tutorial 11 år sedan
kronecker_product.cpp efa240a2a5 kronecker product exists already in Eigen 11 år sedan
kronecker_product.h efa240a2a5 kronecker product exists already in Eigen 11 år sedan
launch_medit.cpp b473232452 preprend license header to every file 11 år sedan
launch_medit.h b473232452 preprend license header to every file 11 år sedan
lbs_matrix.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
lbs_matrix.h fddb3d6563 lbs_matrix overloads for different style output 11 år sedan
lens_flare.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
lens_flare.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
limit_faces.cpp b473232452 preprend license header to every file 11 år sedan
limit_faces.h b473232452 preprend license header to every file 11 år sedan
line_segment_in_rectangle.cpp 3ee6fa10ec mouse controller and quaternion io 11 år sedan
line_segment_in_rectangle.h 3ee6fa10ec mouse controller and quaternion io 11 år sedan
list_to_matrix.cpp 9af8e5234a cleanup new code mess enough to compile 11 år sedan
list_to_matrix.h b473232452 preprend license header to every file 11 år sedan
load_shader.cpp b473232452 preprend license header to every file 11 år sedan
load_shader.h b473232452 preprend license header to every file 11 år sedan
local_basis.cpp c41326ae56 Merge branch 'master' of https://github.com/libigl/libigl 11 år sedan
local_basis.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
lscm.cpp 6ccca30cba clean up lscm and areamatrix 11 år sedan
lscm.h 6ccca30cba clean up lscm and areamatrix 11 år sedan
lu_lagrange.cpp b473232452 preprend license header to every file 11 år sedan
lu_lagrange.h b473232452 preprend license header to every file 11 år sedan
map_vertices_to_circle.cpp 4ee4da98b0 rm sign/unsign warning 11 år sedan
map_vertices_to_circle.h ae03f73648 * added tutorial for ARAP parametrization (broken) 11 år sedan
marching_cubes.cpp 9f80dbdd02 minor updates to marching cubes 13 år sedan
marching_cubes.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
massmatrix.cpp e33308c77d dynamics in arap 11 år sedan
massmatrix.h e33308c77d dynamics in arap 11 år sedan
mat_max.cpp b473232452 preprend license header to every file 11 år sedan
mat_max.h b473232452 preprend license header to every file 11 år sedan
mat_min.cpp b473232452 preprend license header to every file 11 år sedan
mat_min.h b473232452 preprend license header to every file 11 år sedan
mat_to_quat.cpp b473232452 preprend license header to every file 11 år sedan
mat_to_quat.h b473232452 preprend license header to every file 11 år sedan
material_colors.h ae29184e91 draw skeleton with colors 11 år sedan
matlab_format.cpp 49dadb340c arap parameterization working, really 11 år sedan
matlab_format.h b473232452 preprend license header to every file 11 år sedan
matrix_to_list.cpp b473232452 preprend license header to every file 11 år sedan
matrix_to_list.h b473232452 preprend license header to every file 11 år sedan
max_size.cpp b473232452 preprend license header to every file 11 år sedan
max_size.h b473232452 preprend license header to every file 11 år sedan
median.cpp a8a2ca6d03 fix median for even input 11 år sedan
median.h b473232452 preprend license header to every file 11 år sedan
min_quad_dense.cpp b473232452 preprend license header to every file 11 år sedan
min_quad_dense.h b473232452 preprend license header to every file 11 år sedan
min_quad_with_fixed.cpp 6ccca30cba clean up lscm and areamatrix 11 år sedan
min_quad_with_fixed.h abd3989efb - new tutorial example for harmonic parametrization 11 år sedan
min_size.cpp b473232452 preprend license header to every file 11 år sedan
min_size.h b473232452 preprend license header to every file 11 år sedan
mode.cpp b473232452 preprend license header to every file 11 år sedan
mode.h b473232452 preprend license header to every file 11 år sedan
moveFV.cpp b473232452 preprend license header to every file 11 år sedan
moveFV.h b473232452 preprend license header to every file 11 år sedan
moveVF.cpp b473232452 preprend license header to every file 11 år sedan
moveVF.h b473232452 preprend license header to every file 11 år sedan
mvc.cpp f12fa9bd9d some linux compilation fixes.. 11 år sedan
mvc.h b473232452 preprend license header to every file 11 år sedan
normalize_quat.cpp b473232452 preprend license header to every file 11 år sedan
normalize_quat.h b473232452 preprend license header to every file 11 år sedan
normalize_row_lengths.cpp b473232452 preprend license header to every file 11 år sedan
normalize_row_lengths.h 43b01106e9 normals example 11 år sedan
normalize_row_sums.cpp df7b363ece rotation widget example 11 år sedan
normalize_row_sums.h df7b363ece rotation widget example 11 år sedan
on_boundary.cpp b473232452 preprend license header to every file 11 år sedan
on_boundary.h b473232452 preprend license header to every file 11 år sedan
orient_outward.cpp b473232452 preprend license header to every file 11 år sedan
orient_outward.h b473232452 preprend license header to every file 11 år sedan
orth.cpp b473232452 preprend license header to every file 11 år sedan
orth.h b473232452 preprend license header to every file 11 år sedan
partition.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
partition.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
path_to_executable.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
path_to_executable.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
pathinfo.cpp b473232452 preprend license header to every file 11 år sedan
pathinfo.h b3914046f0 fix alignment in Camera 11 år sedan
per_corner_normals.cpp 2513a565df added some template instantiations 11 år sedan
per_corner_normals.h b473232452 preprend license header to every file 11 år sedan
per_face_normals.cpp 43ed3636e1 gaussian curvature and internal angles 11 år sedan
per_face_normals.h f4ee805a31 fixed bug in quicklook 11 år sedan
per_vertex_attribute_smoothing.cpp b473232452 preprend license header to every file 11 år sedan
per_vertex_attribute_smoothing.h b473232452 preprend license header to every file 11 år sedan
per_vertex_normals.cpp 43b01106e9 normals example 11 år sedan
per_vertex_normals.h 43ed3636e1 gaussian curvature and internal angles 11 år sedan
planarize_quad_mesh.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
planarize_quad_mesh.h f2050e5a81 quadrangulation, planarization, various other VF functionalities 11 år sedan
plane_project.cpp c16084d7e6 minor fix in an assert in plane_project.cpp 11 år sedan
plane_project.h 1de0c75000 arap parameterization no longer allowing reflections, using ref triangles 11 år sedan
plot_vector.cpp b473232452 preprend license header to every file 11 år sedan
plot_vector.h b473232452 preprend license header to every file 11 år sedan
point_in_circle.cpp b473232452 preprend license header to every file 11 år sedan
point_in_circle.h b473232452 preprend license header to every file 11 år sedan
point_in_poly.cpp b473232452 preprend license header to every file 11 år sedan
point_in_poly.h b473232452 preprend license header to every file 11 år sedan
polar_dec.cpp b473232452 preprend license header to every file 11 år sedan
polar_dec.h b473232452 preprend license header to every file 11 år sedan
polar_svd.cpp dedfa7e1e7 arap works in 2D (bug fix in fit_rotations_planar) 11 år sedan
polar_svd.h b473232452 preprend license header to every file 11 år sedan
pos.h c41326ae56 Merge branch 'master' of https://github.com/libigl/libigl 11 år sedan
principal_curvature.cpp 450d22530b clean up principal curvature example 11 år sedan
principal_curvature.h 450d22530b clean up principal curvature example 11 år sedan
print_gl_get.cpp b473232452 preprend license header to every file 11 år sedan
print_gl_get.h b473232452 preprend license header to every file 11 år sedan
print_ijv.cpp b473232452 preprend license header to every file 11 år sedan
print_ijv.h b473232452 preprend license header to every file 11 år sedan
print_program_info_log.cpp b473232452 preprend license header to every file 11 år sedan
print_program_info_log.h b473232452 preprend license header to every file 11 år sedan
print_shader_info_log.cpp b473232452 preprend license header to every file 11 år sedan
print_shader_info_log.h b473232452 preprend license header to every file 11 år sedan
project.cpp 404a719d25 stl file format 11 år sedan
project.h b473232452 preprend license header to every file 11 år sedan
project_to_line.cpp 865b841fb1 openmp if catch in project_to_line* 11 år sedan
project_to_line.h df7b363ece rotation widget example 11 år sedan
project_to_line_segment.cpp 865b841fb1 openmp if catch in project_to_line* 11 år sedan
project_to_line_segment.h e5bca62822 wrong include 11 år sedan
quad_planarity.cpp f2050e5a81 quadrangulation, planarization, various other VF functionalities 11 år sedan
quad_planarity.h f2050e5a81 quadrangulation, planarization, various other VF functionalities 11 år sedan
quat_conjugate.cpp b473232452 preprend license header to every file 11 år sedan
quat_conjugate.h b473232452 preprend license header to every file 11 år sedan
quat_mult.cpp b473232452 preprend license header to every file 11 år sedan
quat_mult.h b473232452 preprend license header to every file 11 år sedan
quat_to_axis_angle.cpp b473232452 preprend license header to every file 11 år sedan
quat_to_axis_angle.h b473232452 preprend license header to every file 11 år sedan
quat_to_mat.cpp b473232452 preprend license header to every file 11 år sedan
quat_to_mat.h b473232452 preprend license header to every file 11 år sedan
quats_to_column.cpp 3ee6fa10ec mouse controller and quaternion io 11 år sedan
quats_to_column.h 3ee6fa10ec mouse controller and quaternion io 11 år sedan
random_dir.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
random_dir.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
random_points_on_mesh.cpp b9babab1cf note in random_points_on_mesh about alias table method 11 år sedan
random_points_on_mesh.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
randperm.cpp 3d9295b22a templates 11 år sedan
randperm.h b473232452 preprend license header to every file 11 år sedan
ray_sphere_intersect.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
ray_sphere_intersect.h 609c7351ec rotating widget example with dependencies 11 år sedan
read.cpp 2513a565df added some template instantiations 11 år sedan
read.h b473232452 preprend license header to every file 11 år sedan
readCSV.cpp 7afa4c43c9 renamed read_eigen... to readCSV to match others 11 år sedan
readCSV.h 7afa4c43c9 renamed read_eigen... to readCSV to match others 11 år sedan
readDMAT.cpp 6025da57dc ARAp example 11 år sedan
readDMAT.h b473232452 preprend license header to every file 11 år sedan
readMESH.cpp b473232452 preprend license header to every file 11 år sedan
readMESH.h b473232452 preprend license header to every file 11 år sedan
readNODE.cpp b473232452 preprend license header to every file 11 år sedan
readNODE.h b473232452 preprend license header to every file 11 år sedan
readOBJ.cpp 9af8e5234a cleanup new code mess enough to compile 11 år sedan
readOBJ.h b473232452 preprend license header to every file 11 år sedan
readOFF.cpp 027a77cb5c readOFF: quenched a warning 11 år sedan
readOFF.h b473232452 preprend license header to every file 11 år sedan
readSTL.cpp 9af8e5234a cleanup new code mess enough to compile 11 år sedan
readSTL.h 404a719d25 stl file format 11 år sedan
readTGF.cpp df7b363ece rotation widget example 11 år sedan
readTGF.h df7b363ece rotation widget example 11 år sedan
readWRL.cpp b473232452 preprend license header to every file 11 år sedan
readWRL.h b473232452 preprend license header to every file 11 år sedan
removeDuplicates.cpp b473232452 preprend license header to every file 11 år sedan
removeDuplicates.h b473232452 preprend license header to every file 11 år sedan
removeUnreferenced.cpp 306c5b7a31 cleaned up removeUnreferenced (we should rename this remove_unreferenced to match style and the corresponding matlab func) 11 år sedan
removeUnreferenced.h 306c5b7a31 cleaned up removeUnreferenced (we should rename this remove_unreferenced to match style and the corresponding matlab func) 11 år sedan
remove_duplicate_vertices.cpp b473232452 preprend license header to every file 11 år sedan
remove_duplicate_vertices.h b473232452 preprend license header to every file 11 år sedan
render_to_tga.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
render_to_tga.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
reorder.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
reorder.h b473232452 preprend license header to every file 11 år sedan
repdiag.cpp b473232452 preprend license header to every file 11 år sedan
repdiag.h b473232452 preprend license header to every file 11 år sedan
repmat.cpp b473232452 preprend license header to every file 11 år sedan
repmat.h 0d2b528651 path to executable (working on OSX), dated copy of file with permissions, draw_mesh less kruft 11 år sedan
report_gl_error.cpp 1a493e2836 template 11 år sedan
report_gl_error.h 1a493e2836 template 11 år sedan
rgb_to_hsv.cpp d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
rgb_to_hsv.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
right_axis.cpp b473232452 preprend license header to every file 11 år sedan
right_axis.h b473232452 preprend license header to every file 11 år sedan
rotate_by_quat.cpp b473232452 preprend license header to every file 11 år sedan
rotate_by_quat.h b473232452 preprend license header to every file 11 år sedan
rotate_vectors.cpp 99fcd9808b * clean up on miq code 11 år sedan
rotate_vectors.h 99fcd9808b * clean up on miq code 11 år sedan
rotation_matrix_from_directions.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
rotation_matrix_from_directions.h e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
round.cpp b473232452 preprend license header to every file 11 år sedan
round.h b473232452 preprend license header to every file 11 år sedan
rows_to_matrix.cpp b473232452 preprend license header to every file 11 år sedan
rows_to_matrix.h b473232452 preprend license header to every file 11 år sedan
sample_edges.cpp b473232452 preprend license header to every file 11 år sedan
sample_edges.h d10afaa873 fixed many missing IGL_INLINEs 11 år sedan
shine_textures.h.REMOVED.git-id c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
slice.cpp 3d9295b22a templates 11 år sedan
slice.h 3d9295b22a templates 11 år sedan
slice_into.cpp b473232452 preprend license header to every file 11 år sedan
slice_into.h b473232452 preprend license header to every file 11 år sedan
snap_points.cpp 801315915a snap points and templates 11 år sedan
snap_points.h 801315915a snap points and templates 11 år sedan
snap_to_canonical_view_quat.cpp 5b73716bcf major camera refactor 11 år sedan
snap_to_canonical_view_quat.h ecf569d7bf improved documentation snap_to_canonical_view_quat 11 år sedan
snap_to_fixed_up.cpp 4d48550bb1 camera example with twbar 11 år sedan
snap_to_fixed_up.h 4d48550bb1 camera example with twbar 11 år sedan
sort.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
sort.h b473232452 preprend license header to every file 11 år sedan
sort_triangles.cpp b473232452 preprend license header to every file 11 år sedan
sort_triangles.h b473232452 preprend license header to every file 11 år sedan
sortrows.cpp b473232452 preprend license header to every file 11 år sedan
sortrows.h b473232452 preprend license header to every file 11 år sedan
sparse.cpp b473232452 preprend license header to every file 11 år sedan
sparse.h b473232452 preprend license header to every file 11 år sedan
speye.cpp b473232452 preprend license header to every file 11 år sedan
speye.h b473232452 preprend license header to every file 11 år sedan
stdin_to_temp.cpp b473232452 preprend license header to every file 11 år sedan
stdin_to_temp.h b473232452 preprend license header to every file 11 år sedan
sum.cpp b473232452 preprend license header to every file 11 år sedan
sum.h b473232452 preprend license header to every file 11 år sedan
svd.cpp b473232452 preprend license header to every file 11 år sedan
svd.h b473232452 preprend license header to every file 11 år sedan
texture_from_tga.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
texture_from_tga.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
tga.cpp 5e178e4771 fixed compilation error with clang 11 år sedan
tga.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd 12 år sedan
trackball.cpp 2b40471f2b trackball: int to double 11 år sedan
trackball.h 2b40471f2b trackball: int to double 11 år sedan
transpose_blocks.cpp b473232452 preprend license header to every file 11 år sedan
transpose_blocks.h b473232452 preprend license header to every file 11 år sedan
triangle_fan.cpp 946a60f916 mv most winding number code from project 11 år sedan
triangle_fan.h 946a60f916 mv most winding number code from project 11 år sedan
triangulate.cpp b473232452 preprend license header to every file 11 år sedan
triangulate.h b473232452 preprend license header to every file 11 år sedan
tt.cpp 1ca72046b6 fixed lots of issues with file_dialog.*, template in tt 11 år sedan
tt.h b473232452 preprend license header to every file 11 år sedan
two_axis_valuator_fixed_up.cpp 4d48550bb1 camera example with twbar 11 år sedan
two_axis_valuator_fixed_up.h 4d48550bb1 camera example with twbar 11 år sedan
uniform_type_to_string.cpp b473232452 preprend license header to every file 11 år sedan
uniform_type_to_string.h b473232452 preprend license header to every file 11 år sedan
uniformly_sample_two_manifold.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
uniformly_sample_two_manifold.h d14905d818 migrated a lot of the FAST code including interface to Sifakis' fast 3x3 svd with SSE and AVX support (determined during compile) 11 år sedan
unique.cpp b473232452 preprend license header to every file 11 år sedan
unique.h b473232452 preprend license header to every file 11 år sedan
unique_simplices.cpp b473232452 preprend license header to every file 11 år sedan
unique_simplices.h b473232452 preprend license header to every file 11 år sedan
unproject.cpp 1a493e2836 template 11 år sedan
unproject.h b473232452 preprend license header to every file 11 år sedan
unproject_to_zero_plane.cpp 801315915a snap points and templates 11 år sedan
unproject_to_zero_plane.h b473232452 preprend license header to every file 11 år sedan
up_axis.cpp b473232452 preprend license header to every file 11 år sedan
up_axis.h b473232452 preprend license header to every file 11 år sedan
upsample.cpp b473232452 preprend license header to every file 11 år sedan
upsample.h b473232452 preprend license header to every file 11 år sedan
verbose.h b473232452 preprend license header to every file 11 år sedan
vf.cpp 2513a565df added some template instantiations 11 år sedan
vf.h e74ac9d4df notes in vf.* 11 år sedan
view_axis.cpp df7b363ece rotation widget example 11 år sedan
view_axis.h df7b363ece rotation widget example 11 år sedan
volume.cpp 38cd4684cd better cross, volume and new barycentric coordinates (tets only) 11 år sedan
volume.h 38cd4684cd better cross, volume and new barycentric coordinates (tets only) 11 år sedan
winding_number.cpp 946a60f916 mv most winding number code from project 11 år sedan
winding_number.h 946a60f916 mv most winding number code from project 11 år sedan
write.cpp b473232452 preprend license header to every file 11 år sedan
write.h b473232452 preprend license header to every file 11 år sedan
writeDMAT.cpp b473232452 preprend license header to every file 11 år sedan
writeDMAT.h b473232452 preprend license header to every file 11 år sedan
writeMESH.cpp b473232452 preprend license header to every file 11 år sedan
writeMESH.h b473232452 preprend license header to every file 11 år sedan
writeOBJ.cpp e44af8ca3f Fixed what Alec changed before, lib compiles with the new files. Made 11 år sedan
writeOBJ.h b473232452 preprend license header to every file 11 år sedan
writeOFF.cpp f2050e5a81 quadrangulation, planarization, various other VF functionalities 11 år sedan
writeOFF.h b473232452 preprend license header to every file 11 år sedan
writeSTL.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 år sedan
writeSTL.h 404a719d25 stl file format 11 år sedan
writeTGF.cpp b473232452 preprend license header to every file 11 år sedan
writeTGF.h b473232452 preprend license header to every file 11 år sedan

readMESH.cpp

// This file is part of libigl, a simple c++ geometry processing library.
//
// Copyright (C) 2013 Alec Jacobson
//
// This Source Code Form is subject to the terms of the Mozilla Public License
// v. 2.0. If a copy of the MPL was not distributed with this file, You can
// obtain one at http://mozilla.org/MPL/2.0/.
#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 mesh_file_name,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& 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;

// 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,3);
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,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,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;
}
//{
// std::vector > vV,vT,vF;
// bool success = igl::readMESH(mesh_file_name,vV,vT,vF);
// if(!success)
// {
// // readMESH already printed error message to std err
// 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