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

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