Olga Diamanti 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 72e5248274 * completed tutorial example for frame fields пре 11 година
embree 1de0c75000 arap parameterization no longer allowing reflections, using ref triangles пре 11 година
matlab dc860aa29b cross field code still not compiling. fixed warnings пре 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 88a01da152 floor/ceil, slice and sort exampels пре 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 ffa5ff4677 bug fix in active set, qp tutorial example пре 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 e421bba4f7 cleanup пре 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 година
ceil.cpp 88a01da152 floor/ceil, slice and sort exampels пре 11 година
ceil.h 88a01da152 floor/ceil, slice and sort exampels пре 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 780357a444 linear equality constraints пре 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 година
conjugate_frame_fields.cpp 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
conjugate_frame_fields.h 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 88a01da152 floor/ceil, slice and sort exampels пре 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 година
dot_row.cpp ae16793345 fix new bug in dot_row пре 11 година
dot_row.h ec849e97dc cleaning up global using namespace and namespace in cpp пре 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 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
edgetopology.h 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 ffa5ff4677 bug fix in active set, qp tutorial example пре 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 година
floor.cpp 88a01da152 floor/ceil, slice and sort exampels пре 11 година
floor.h 88a01da152 floor/ceil, slice and sort exampels пре 11 година
forward_kinematics.cpp 3ee6fa10ec mouse controller and quaternion io пре 11 година
forward_kinematics.h 3ee6fa10ec mouse controller and quaternion io пре 11 година
frame_field_deformer.cpp f659637d6f laplace equation example пре 11 година
frame_field_deformer.h 1326c0ee3b * new tutorial example for frame fields пре 11 година
frame_to_cross_field.cpp 72e5248274 * completed tutorial example for frame fields пре 11 година
frame_to_cross_field.h 72e5248274 * completed tutorial example for frame fields пре 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 f659637d6f laplace equation 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 f659637d6f laplace equation example пре 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 ffa5ff4677 bug fix in active set, qp tutorial example пре 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 780357a444 linear equality constraints пре 11 година
jet.h 780357a444 linear equality constraints пре 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 f659637d6f laplace equation example пре 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 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 f659637d6f laplace equation example пре 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 ffa5ff4677 bug fix in active set, qp tutorial example пре 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 година
n_polyvector.cpp 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
n_polyvector.h 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
nchoosek.cpp 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
nchoosek.h 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 година
polyroots.cpp 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
polyroots.h 89c54b49d2 initial take on polyvf example - does not use samples yet пре 11 година
pos.h e421bba4f7 cleanup пре 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 89c54b49d2 initial take on polyvf example - does not use samples yet пре 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 88a01da152 floor/ceil, slice and sort exampels пре 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 24c94073b6 fixed bug in rotate vectors пре 11 година
rotate_vectors.h dc860aa29b cross field code still not compiling. fixed warnings пре 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 година
setdiff.cpp ea69cf7a04 setdiff function like matlab пре 11 година
setdiff.h ea69cf7a04 setdiff function like matlab пре 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 88a01da152 floor/ceil, slice and sort exampels пре 11 година
slice_into.h 88a01da152 floor/ceil, slice and sort exampels пре 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 f659637d6f laplace equation example пре 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 f659637d6f laplace equation example пре 11 година
unique.h f659637d6f laplace equation example пре 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 dc860aa29b cross field code still not compiling. fixed warnings пре 11 година
writeOBJ.h b473232452 preprend license header to every file пре 11 година
writeOFF.cpp dc860aa29b cross field code still not compiling. fixed warnings пре 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