Alec Jacobson 3b961894f7 Merge branch 'master' of github.com:libigl/libigl into alecjacobson 7 лет назад
..
anttweakbar e2d2e0dbea namespace in include guards 10 лет назад
copyleft 2e79bd99de templates 8 лет назад
embree 4aa52c43d7 bug fix from https://github.com/libigl/libigl/pull/477/commits/6c45eb0ca1f1f9581bb6bf6d437d6a08c4c1373c [formerly cbf3c982d84cb466c828bd0d3a91379cf0d8f438] 8 лет назад
lim b6c6db1279 specialization --> instantiation 8 лет назад
matlab 7ba1392b2b templates 8 лет назад
mosek 77905ede1b mosek 8 8 лет назад
opengl f067e97ad1 Merge branch 'alecjacobson' of github.com:libigl/libigl into alecjacobson 8 лет назад
opengl2 ad4d7ce6d4 unnecessary matlab format includes 8 лет назад
png 0663d656eb attempt to clean up opengl mess 8 лет назад
triangle 444174e11c Bug fix on incorrect malloc(0) of pointmarkerlist struct when VM.size()=0 8 лет назад
viewer d1a2c4e2e8 templates 8 лет назад
xml b6c6db1279 specialization --> instantiation 8 лет назад
AABB.cpp 2e79bd99de templates 8 лет назад
AABB.h 606a4a0c88 clean up winding number code. templates 8 лет назад
ARAPEnergyType.h f318d4eed6 arap dynamics, better parameters 10 лет назад
C_STR.h 3005b455e7 fix for windows 10 лет назад
Camera.h d55869971f comments 9 лет назад
ConjugateFFSolverData.h ad4d7ce6d4 unnecessary matlab format includes 8 лет назад
EPS.cpp b6c6db1279 specialization --> instantiation 8 лет назад
EPS.h 20e0e9a082 comments 10 лет назад
HalfEdgeIterator.cpp a152a2648e fix templating 8 лет назад
HalfEdgeIterator.h 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 лет назад
Hit.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 лет назад
IO 78edcb4470 triangle_wrapper -> triangulate 11 лет назад
IndexComparison.h 20e0e9a082 comments 10 лет назад
LinSpaced.h 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 лет назад
MeshBooleanType.h dab8fad5dd separate boolean code to cgal and cork, fix cmake for lib and tutorial 9 лет назад
NormalType.h 20e0e9a082 comments 10 лет назад
ONE.h 20e0e9a082 comments 10 лет назад
PI.h b473232452 preprend license header to every file 11 лет назад
REDRUM.h b473232452 preprend license header to every file 11 лет назад
STR.h 3005b455e7 fix for windows 10 лет назад
Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp cce7d90d92 mv SVD to main lib 10 лет назад
Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp cce7d90d92 mv SVD to main lib 10 лет назад
Singular_Value_Decomposition_Kernel_Declarations.hpp cce7d90d92 mv SVD to main lib 10 лет назад
Singular_Value_Decomposition_Main_Kernel_Body.hpp.REMOVED.git-id cce7d90d92 mv SVD to main lib 10 лет назад
Singular_Value_Decomposition_Preamble.hpp 57b3f492ff warnings 9 лет назад
SolverStatus.h b473232452 preprend license header to every file 11 лет назад
SortableRow.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 лет назад
Timer.h f6dd78f80f Bugfix: NULL not declared 8 лет назад
Viewport.h 20e0e9a082 comments 10 лет назад
WindingNumberAABB.h 606a4a0c88 clean up winding number code. templates 8 лет назад
WindingNumberMethod.h 20e0e9a082 comments 10 лет назад
WindingNumberTree.h 606a4a0c88 clean up winding number code. templates 8 лет назад
ZERO.h 20e0e9a082 comments 10 лет назад
active_set.cpp 0667cbcb2a fix namespace/include order errors 8 лет назад
active_set.h 20e0e9a082 comments 10 лет назад
adjacency_list.cpp b6c6db1279 specialization --> instantiation 8 лет назад
adjacency_list.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
adjacency_matrix.cpp b6c6db1279 specialization --> instantiation 8 лет назад
adjacency_matrix.h 9df7d65b44 better templates 8 лет назад
all.cpp b6c6db1279 specialization --> instantiation 8 лет назад
all.h 5e5d11c49f reductions for sparse matrices 8 лет назад
all_edges.cpp 7b82a08e5b all_edges --> oriented_facets 8 лет назад
all_edges.h 7b82a08e5b all_edges --> oriented_facets 8 лет назад
all_pairs_distances.cpp b6c6db1279 specialization --> instantiation 8 лет назад
all_pairs_distances.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
ambient_occlusion.cpp def56b2aad delete unnecessary line 8 лет назад
ambient_occlusion.h ef75655a3b expose ambient occlusion without embree 9 лет назад
angle_bound_frame_fields.cpp 09177b3bac Compatibility with Eigen 3.3.4 8 лет назад
angle_bound_frame_fields.h 24b4807c23 missing _H in two header files 9 лет назад
angular_distance.cpp 1b254f02a1 rm using namespace igl 10 лет назад
angular_distance.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
any.cpp b6c6db1279 specialization --> instantiation 8 лет назад
any.h 5e5d11c49f reductions for sparse matrices 8 лет назад
any_of.cpp b6c6db1279 specialization --> instantiation 8 лет назад
any_of.h f0b9c018f1 slice tets and tempaltes 10 лет назад
arap.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 лет назад
arap.h f318d4eed6 arap dynamics, better parameters 10 лет назад
arap_dof.cpp b6c6db1279 specialization --> instantiation 8 лет назад
arap_dof.h cce7d90d92 mv SVD to main lib 10 лет назад
arap_linear_block.cpp b6c6db1279 specialization --> instantiation 8 лет назад
arap_linear_block.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
arap_rhs.cpp 1b254f02a1 rm using namespace igl 10 лет назад
arap_rhs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
average_onto_faces.cpp b6c6db1279 specialization --> instantiation 8 лет назад
average_onto_faces.h 62a1fc9819 moveVF --> average_onto_faces 11 лет назад
average_onto_vertices.cpp b6c6db1279 specialization --> instantiation 8 лет назад
average_onto_vertices.h 0ea2eca5d4 Add RowMajor storage order support 9 лет назад
avg_edge_length.cpp b504c61714 templates and prototypes 8 лет назад
avg_edge_length.h b504c61714 templates and prototypes 8 лет назад
axis_angle_to_quat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
axis_angle_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
barycenter.cpp 2e79bd99de templates 8 лет назад
barycenter.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
barycentric_coordinates.cpp 7feec96c29 some strange compilation issues, templates 8 лет назад
barycentric_coordinates.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
barycentric_to_global.cpp 5db529c861 mostly template instantiations 10 лет назад
barycentric_to_global.h 3cfd194147 barycentric2global --> barycentric_to_global 11 лет назад
basename.cpp b473232452 preprend license header to every file 11 лет назад
basename.h 18bd747cb4 example in header 10 лет назад
bbw.cpp b6c6db1279 specialization --> instantiation 8 лет назад
bbw.h c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw 8 лет назад
bfs.cpp ce0c1eb7c7 dfs and bfs 8 лет назад
bfs.h ce0c1eb7c7 dfs and bfs 8 лет назад
bfs_orient.cpp b6c6db1279 specialization --> instantiation 8 лет назад
bfs_orient.h 98540fdb74 rm boost dependency extra, absorb functions into main library 10 лет назад
biharmonic_coordinates.cpp d4ec2b0a2d biharmonic coordiantes fixed to reflect erratum 8 лет назад
biharmonic_coordinates.h 4100b31d41 support for higher-order biharmonic coords 10 лет назад
bijective_composite_harmonic_mapping.cpp e5d51c1db0 wrapper with iteration parameters 8 лет назад
bijective_composite_harmonic_mapping.h e5d51c1db0 wrapper with iteration parameters 8 лет назад
bone_parents.cpp 53c2b9e8fa missing copyrights 10 лет назад
bone_parents.h 5e41228487 skeleton building and posing examples 11 лет назад
boundary_conditions.cpp b27fa2707b better assertion 9 лет назад
boundary_conditions.h b82ea91d7d better doc 8 лет назад
boundary_facets.cpp b6c6db1279 specialization --> instantiation 8 лет назад
boundary_facets.h 24b4807c23 missing _H in two header files 9 лет назад
boundary_loop.cpp b6c6db1279 specialization --> instantiation 8 лет назад
boundary_loop.h 90b8ac464c Replaced boundary_loop by outline_ordered implementation 10 лет назад
bounding_box.cpp 6bdb22dd5f pad parameter 8 лет назад
bounding_box.h 6bdb22dd5f pad parameter 8 лет назад
bounding_box_diagonal.cpp b6c6db1279 specialization --> instantiation 8 лет назад
bounding_box_diagonal.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
canonical_quaternions.cpp b6c6db1279 specialization --> instantiation 8 лет назад
canonical_quaternions.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
cat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
cat.h 6e780b96eb correct doc 8 лет назад
ceil.cpp b6c6db1279 specialization --> instantiation 8 лет назад
ceil.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
centroid.cpp 035849c472 templates 8 лет назад
centroid.h 035849c472 templates 8 лет назад
circulation.cpp 6fad412558 decimate with finite cost 9 лет назад
circulation.h ef5029045e comment about order 8 лет назад
circumradius.cpp 8943387b53 use nan replacement doublearea 8 лет назад
circumradius.h c330b9a5ec compute per triangle circum- and in- radii 8 лет назад
collapse_edge.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 лет назад
collapse_edge.h 0eda832958 typos in comments 8 лет назад
collapse_small_triangles.cpp f3cd179f00 use new doublearea 8 лет назад
collapse_small_triangles.h 6737f53ebc collapse small triangles 10 лет назад
colon.cpp 689a79b550 Add instantiation 8 лет назад
colon.h f976e38f91 faster tri tri adj, unique simplices 10 лет назад
colormap.cpp 67731463c4 Explicit cast fix for clang 8 лет назад
colormap.h 4d24fab218 Colormap refactoring 8 лет назад
column_to_quats.cpp 3ee6fa10ec mouse controller and quaternion io 11 лет назад
column_to_quats.h e9d637ef52 - compilation fixes for the tutorials in chapter 4 11 лет назад
columnize.cpp b6c6db1279 specialization --> instantiation 8 лет назад
columnize.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
comb_cross_field.cpp b6c6db1279 specialization --> instantiation 8 лет назад
comb_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
comb_frame_field.cpp b6c6db1279 specialization --> instantiation 8 лет назад
comb_frame_field.h 344cb9eea3 -Changes to header files to support parsing 9 лет назад
comb_line_field.cpp b6c6db1279 specialization --> instantiation 8 лет назад
comb_line_field.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 лет назад
combine.cpp 5a32da8c9d combine two meshes 8 лет назад
combine.h 5a32da8c9d combine two meshes 8 лет назад
components.cpp b6c6db1279 specialization --> instantiation 8 лет назад
components.h 992eeb587a better templating 8 лет назад
compute_frame_field_bisectors.cpp b6c6db1279 specialization --> instantiation 8 лет назад
compute_frame_field_bisectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
conjugate_frame_fields.cpp b6c6db1279 specialization --> instantiation 8 лет назад
conjugate_frame_fields.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet 9 лет назад
connect_boundary_to_infinity.cpp 1caf839744 missing templates 9 лет назад
connect_boundary_to_infinity.h 0411fb9508 boundary edges now work with default decimate 9 лет назад
cotmatrix.cpp b6c6db1279 specialization --> instantiation 8 лет назад
cotmatrix.h 9698061a02 better templating 8 лет назад
cotmatrix_entries.cpp b6c6db1279 specialization --> instantiation 8 лет назад
cotmatrix_entries.h 9698061a02 better templating 8 лет назад
count.cpp b6c6db1279 specialization --> instantiation 8 лет назад
count.h 074577bc17 use sparse matrix redux/for each 8 лет назад
covariance_scatter_matrix.cpp 1b254f02a1 rm using namespace igl 10 лет назад
covariance_scatter_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
cross.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
cross.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
cross_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 лет назад
cross_field_missmatch.h fb819ab4f7 fixed python compilation error 9 лет назад
crouzeix_raviart_cotmatrix.cpp f17f286a0f templates 8 лет назад
crouzeix_raviart_cotmatrix.h 7b82a08e5b all_edges --> oriented_facets 8 лет назад
crouzeix_raviart_massmatrix.cpp f17f286a0f templates 8 лет назад
crouzeix_raviart_massmatrix.h 7b82a08e5b all_edges --> oriented_facets 8 лет назад
cumsum.cpp 480f98b127 better templates 8 лет назад
cumsum.h 480f98b127 better templates 8 лет назад
cut_mesh.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 лет назад
cut_mesh.h a456df913d static library _compiles_ with eigen3.3.1 8 лет назад
cut_mesh_from_singularities.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 лет назад
cut_mesh_from_singularities.h 2254bf5990 style 9 лет назад
cylinder.cpp df801345c1 copyright/license headers 8 лет назад
cylinder.h df801345c1 copyright/license headers 8 лет назад
dated_copy.cpp 6f8f988fa5 fixed various windows issues with static library 10 лет назад
dated_copy.h 6f8f988fa5 fixed various windows issues with static library 10 лет назад
decimate.cpp 5d956357b5 return false on nonmanifold 8 лет назад
decimate.h 42d48d7457 ack, pre_/-post_ collapse needs full state 8 лет назад
deform_skeleton.cpp 53c2b9e8fa missing copyrights 10 лет назад
deform_skeleton.h b84e4e375d extra eigen stdvector includes 8 лет назад
delaunay_triangulation.cpp 87fbb8ec7d Refactor exact predicates class into functions. 8 лет назад
delaunay_triangulation.h d8848b2a9a Update doc. 8 лет назад
deprecated.h 53c2b9e8fa missing copyrights 10 лет назад
dfs.cpp 1397a27933 Fix template specializations 8 лет назад
dfs.h 2656c6d361 missing eigen include 8 лет назад
diag.cpp b6c6db1279 specialization --> instantiation 8 лет назад
diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
dihedral_angles.cpp b6c6db1279 specialization --> instantiation 8 лет назад
dihedral_angles.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
dijkstra.cpp b6c6db1279 specialization --> instantiation 8 лет назад
dijkstra.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 лет назад
directed_edge_orientations.cpp b6c6db1279 specialization --> instantiation 8 лет назад
directed_edge_orientations.h b84e4e375d extra eigen stdvector includes 8 лет назад
directed_edge_parents.cpp b6c6db1279 specialization --> instantiation 8 лет назад
directed_edge_parents.h 76a662d23f missing directed edge parents file 11 лет назад
dirname.cpp bfac8198d3 windows delimiter 8 лет назад
dirname.h 18bd747cb4 example in header 10 лет назад
dot.cpp b473232452 preprend license header to every file 11 лет назад
dot.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
dot_row.cpp b6c6db1279 specialization --> instantiation 8 лет назад
dot_row.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 лет назад
doublearea.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
doublearea.h 8943387b53 use nan replacement doublearea 8 лет назад
dqs.cpp b6c6db1279 specialization --> instantiation 8 лет назад
dqs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
ears.cpp b6c6db1279 specialization --> instantiation 8 лет назад
ears.h ec0cb390f5 identify 'ears' on mesh 8 лет назад
edge_collapse_is_valid.cpp 1b254f02a1 rm using namespace igl 10 лет назад
edge_collapse_is_valid.h 7ce75d2528 edge collapsing and linear programs 10 лет назад
edge_flaps.cpp 148c4a067f handle boundary edges 8 лет назад
edge_flaps.h 3e94e154ea comments about duplicity 8 лет назад
edge_lengths.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
edge_lengths.h 9698061a02 better templating 8 лет назад
edge_topology.cpp b6c6db1279 specialization --> instantiation 8 лет назад
edge_topology.h 0eda832958 typos in comments 8 лет назад
edges.cpp b504c61714 templates and prototypes 8 лет назад
edges.h 992eeb587a better templating 8 лет назад
edges_to_path.cpp b6c6db1279 specialization --> instantiation 8 лет назад
edges_to_path.h 236b440c34 convert list of edges forming chain/loop into path 8 лет назад
eigs.cpp 1397a27933 Fix template specializations 8 лет назад
eigs.h 78732839e2 better documentation 8 лет назад
euler_characteristic.cpp b6c6db1279 specialization --> instantiation 8 лет назад
euler_characteristic.h 992eeb587a better templating 8 лет назад
example_fun.cpp b6c6db1279 specialization --> instantiation 8 лет назад
example_fun.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
exterior_edges.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
exterior_edges.h 53c2b9e8fa missing copyrights 10 лет назад
extract_manifold_patches.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
extract_manifold_patches.h b00e745985 adding missing copyright/license headers 8 лет назад
extract_non_manifold_edge_curves.cpp b00e745985 adding missing copyright/license headers 8 лет назад
extract_non_manifold_edge_curves.h b00e745985 adding missing copyright/license headers 8 лет назад
face_areas.cpp c31471f571 unused nan replacement 8 лет назад
face_areas.h 8943387b53 use nan replacement doublearea 8 лет назад
face_occurrences.cpp b6c6db1279 specialization --> instantiation 8 лет назад
face_occurrences.h 2c75b2cf21 typo in face_occurrences name 10 лет назад
faces_first.cpp b6c6db1279 specialization --> instantiation 8 лет назад
faces_first.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
facet_components.cpp b6c6db1279 specialization --> instantiation 8 лет назад
facet_components.h da91e1ba44 Minor update documentation of facet_components(). 10 лет назад
false_barycentric_subdivision.cpp b6c6db1279 specialization --> instantiation 8 лет назад
false_barycentric_subdivision.h 3b3eddd9a0 fixed template madness in tri_tri 10 лет назад
field_local_global_conversions.cpp b6c6db1279 specialization --> instantiation 8 лет назад
field_local_global_conversions.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 лет назад
file_contents_as_string.cpp 909c4a05ff return overload 9 лет назад
file_contents_as_string.h 909c4a05ff return overload 9 лет назад
file_dialog_open.cpp 69f1c5f112 fixed a bug concerning load mesh from dialog 10 лет назад
file_dialog_open.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
file_dialog_save.cpp 6f8f988fa5 fixed various windows issues with static library 10 лет назад
file_dialog_save.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
file_exists.cpp a60d9c69a1 get modifiers, fit rigid 2d, templates 10 лет назад
file_exists.h a60d9c69a1 get modifiers, fit rigid 2d, templates 10 лет назад
find.cpp a456df913d static library _compiles_ with eigen3.3.1 8 лет назад
find.h c41afa77ec better templates 8 лет назад
find_cross_field_singularities.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 лет назад
find_cross_field_singularities.h 580c57ed4f Merge branch 'master' of https://github.com/libigl/libigl 10 лет назад
find_zero.cpp b6c6db1279 specialization --> instantiation 8 лет назад
find_zero.h 5e5d11c49f reductions for sparse matrices 8 лет назад
fit_plane.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
fit_plane.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
fit_rotations.cpp b6c6db1279 specialization --> instantiation 8 лет назад
fit_rotations.h 36a1006438 note that fit_rotations may be obsolete 10 лет назад
flip_avoiding_line_search.cpp 8ce767d270 Merge branch 'master' into bugfix-get_smallest_pos_quad_zero 8 лет назад
flip_avoiding_line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 лет назад
flip_edge.cpp 0660c9c01c Avoid coeff and coeffRef. 8 лет назад
flip_edge.h 34b56ae109 Minor update to get window compilation pass. 8 лет назад
flipped_triangles.cpp b6c6db1279 specialization --> instantiation 8 лет назад
flipped_triangles.h 4ebf2b20ef fixed up style and compilation errors in flipped_triangles 9 лет назад
flood_fill.cpp 4f6e28067c better templating 8 лет назад
flood_fill.h 7feec96c29 some strange compilation issues, templates 8 лет назад
floor.cpp b6c6db1279 specialization --> instantiation 8 лет назад
floor.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
for_each.h 0faf24a294 add svd version 8 лет назад
forward_kinematics.cpp b6c6db1279 specialization --> instantiation 8 лет назад
forward_kinematics.h b7157c2898 translation widget 9 лет назад
frame_field_deformer.cpp b6c6db1279 specialization --> instantiation 8 лет назад
frame_field_deformer.h b1ea555f41 bad path 10 лет назад
frame_to_cross_field.cpp b6c6db1279 specialization --> instantiation 8 лет назад
frame_to_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
frustum.cpp b6c6db1279 specialization --> instantiation 8 лет назад
frustum.h a1c8fcb85c templates, viewer opengl code extraction 10 лет назад
gaussian_curvature.cpp b6c6db1279 specialization --> instantiation 8 лет назад
gaussian_curvature.h bd57fc27aa no division by area 9 лет назад
get_seconds.cpp 3224534a03 C++11 get seconds 9 лет назад
get_seconds.h f976e38f91 faster tri tri adj, unique simplices 10 лет назад
get_seconds_hires.cpp b473232452 preprend license header to every file 11 лет назад
get_seconds_hires.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
grad.cpp 9d88e2c767 Bug Fix for 2d grad uniform 8 лет назад
grad.h 48787fd172 consolidated igl::grad 8 лет назад
grid.cpp 4f6e28067c better templating 8 лет назад
grid.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
grid_search.cpp 89b6ecee13 some simple global optimization routines 8 лет назад
grid_search.h 89b6ecee13 some simple global optimization routines 8 лет назад
group_sum_matrix.cpp b6c6db1279 specialization --> instantiation 8 лет назад
group_sum_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
guess_extension.cpp be1bbf6fde templates and output parameter overload 8 лет назад
guess_extension.h be1bbf6fde templates and output parameter overload 8 лет назад
harmonic.cpp 05f2905655 Update templates 8 лет назад
harmonic.h 9698061a02 better templating 8 лет назад
harwell_boeing.cpp b6c6db1279 specialization --> instantiation 8 лет назад
harwell_boeing.h bdeb592dc8 rm unneeded define 10 лет назад
hausdorff.cpp 7d3915762c hausdorff distance from a single triangle 8 лет назад
hausdorff.h 7d3915762c hausdorff distance from a single triangle 8 лет назад
hessian.cpp 6f754d8075 Changed includes as of Alec's comment 8 лет назад
hessian.h 8d398f2306 Enforcing 80 character rule 8 лет назад
hessian_energy.cpp 6f754d8075 Changed includes as of Alec's comment 8 лет назад
hessian_energy.h 8d398f2306 Enforcing 80 character rule 8 лет назад
histc.cpp a456df913d static library _compiles_ with eigen3.3.1 8 лет назад
histc.h f6076190a2 use matrixbase for inputs 8 лет назад
hsv_to_rgb.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 лет назад
hsv_to_rgb.h 20a3ad28f1 eigen types 10 лет назад
igl_inline.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
in_element.cpp 92b29eb15f templates 9 лет назад
in_element.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 лет назад
infinite_cost_stopping_condition.cpp ad917ffc5e Fixed namespace problem 9 лет назад
infinite_cost_stopping_condition.h 6fad412558 decimate with finite cost 9 лет назад
inradius.cpp 8943387b53 use nan replacement doublearea 8 лет назад
inradius.h c330b9a5ec compute per triangle circum- and in- radii 8 лет назад
integrable_polyvector_fields.cpp b6c6db1279 specialization --> instantiation 8 лет назад
integrable_polyvector_fields.h e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* 9 лет назад
internal_angles.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
internal_angles.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
intersect.cpp b6c6db1279 specialization --> instantiation 8 лет назад
intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
invert_diag.cpp b6c6db1279 specialization --> instantiation 8 лет назад
invert_diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_border_vertex.cpp b6c6db1279 specialization --> instantiation 8 лет назад
is_border_vertex.h ba963582da improved doc 10 лет назад
is_boundary_edge.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
is_boundary_edge.h 5ad035de72 boundaryedges and CR mass matrix 10 лет назад
is_dir.cpp b473232452 preprend license header to every file 11 лет назад
is_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_edge_manifold.cpp 7b82a08e5b all_edges --> oriented_facets 8 лет назад
is_edge_manifold.h 01e284b3d7 better templating 8 лет назад
is_file.cpp b473232452 preprend license header to every file 11 лет назад
is_file.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_irregular_vertex.cpp b6c6db1279 specialization --> instantiation 8 лет назад
is_irregular_vertex.h 442c8d908c added mesh statistics functions and updated tutorial 10 лет назад
is_planar.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 лет назад
is_planar.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_readable.cpp b473232452 preprend license header to every file 11 лет назад
is_readable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_sparse.cpp b6c6db1279 specialization --> instantiation 8 лет назад
is_sparse.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_stl.cpp b6e3b252af read directly from file pointer 8 лет назад
is_stl.h b6e3b252af read directly from file pointer 8 лет назад
is_symmetric.cpp a456df913d static library _compiles_ with eigen3.3.1 8 лет назад
is_symmetric.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
is_vertex_manifold.cpp 9a67d8dc36 templates 8 лет назад
is_vertex_manifold.h 9f0396b085 Update the documentation of is_vertex_manifold. 9 лет назад
is_writable.cpp b473232452 preprend license header to every file 11 лет назад
is_writable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
isdiag.cpp b6c6db1279 specialization --> instantiation 8 лет назад
isdiag.h 8dc2514633 isdiagonal test, harmonic abstracted away from laplacian 9 лет назад
ismember.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
ismember.h b504c61714 templates and prototypes 8 лет назад
isolines.cpp da5b824984 Removed superfluous sort 8 лет назад
isolines.h d449ba9868 Fixed typo 8 лет назад
jet.cpp 4d24fab218 Colormap refactoring 8 лет назад
jet.h 4d24fab218 Colormap refactoring 8 лет назад
launch_medit.cpp b6c6db1279 specialization --> instantiation 8 лет назад
launch_medit.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
lbs_matrix.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 лет назад
lbs_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
lexicographic_triangulation.cpp e4583a8683 Minor update to avoid compiler warning. 8 лет назад
lexicographic_triangulation.h 87fbb8ec7d Refactor exact predicates class into functions. 8 лет назад
limit_faces.cpp b6c6db1279 specialization --> instantiation 8 лет назад
limit_faces.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
line_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 лет назад
line_field_missmatch.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 лет назад
line_search.cpp a26275254d * added missing IGL_INLINE 8 лет назад
line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 лет назад
line_segment_in_rectangle.cpp 0667cbcb2a fix namespace/include order errors 8 лет назад
line_segment_in_rectangle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
linprog.cpp 5a63323d51 unnecessary includes 8 лет назад
linprog.h 7ce75d2528 edge collapsing and linear programs 10 лет назад
list_to_matrix.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
list_to_matrix.h 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl 9 лет назад
local_basis.cpp b6c6db1279 specialization --> instantiation 8 лет назад
local_basis.h 344cb9eea3 -Changes to header files to support parsing 9 лет назад
look_at.cpp b6c6db1279 specialization --> instantiation 8 лет назад
look_at.h a1c8fcb85c templates, viewer opengl code extraction 10 лет назад
loop.cpp e650edcc01 templates 8 лет назад
loop.h 19bc318c12 loop, upsample, bug fix + tutorial 8 лет назад
lscm.cpp b6c6db1279 specialization --> instantiation 8 лет назад
lscm.h 3a82db0c88 clarify ref 10 лет назад
map_vertices_to_circle.cpp 1d76192dc3 removed unused include 10 лет назад
map_vertices_to_circle.h 344cb9eea3 -Changes to header files to support parsing 9 лет назад
massmatrix.cpp b6c6db1279 specialization --> instantiation 8 лет назад
massmatrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
mat_max.cpp b6c6db1279 specialization --> instantiation 8 лет назад
mat_max.h 2c0956abc6 better templating 8 лет назад
mat_min.cpp b6c6db1279 specialization --> instantiation 8 лет назад
mat_min.h 2c0956abc6 better templating 8 лет назад
mat_to_quat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
mat_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
material_colors.h ae29184e91 draw skeleton with colors 11 лет назад
matlab_format.cpp 30fabdc2cb templates 8 лет назад
matlab_format.h 30fabdc2cb templates 8 лет назад
matrix_to_list.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 лет назад
matrix_to_list.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 лет назад
max.cpp b6c6db1279 specialization --> instantiation 8 лет назад
max.h 5e5d11c49f reductions for sparse matrices 8 лет назад
max_faces_stopping_condition.cpp df801345c1 copyright/license headers 8 лет назад
max_faces_stopping_condition.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 лет назад
max_size.cpp b504c61714 templates and prototypes 8 лет назад
max_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
median.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 лет назад
median.h c25e874b18 better templating for WNAABB, and template hell ensuing 8 лет назад
min.cpp 5e5d11c49f reductions for sparse matrices 8 лет назад
min.h 5e5d11c49f reductions for sparse matrices 8 лет назад
min_quad_dense.cpp b6c6db1279 specialization --> instantiation 8 лет назад
min_quad_dense.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
min_quad_with_fixed.cpp 09c724bb35 merge 8 лет назад
min_quad_with_fixed.h c2761bcd59 improve documentation, mention trace, num cols 8 лет назад
min_size.cpp b504c61714 templates and prototypes 8 лет назад
min_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
mod.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 лет назад
mod.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase 9 лет назад
mode.cpp b6c6db1279 specialization --> instantiation 8 лет назад
mode.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
mvc.cpp ed153a8b84 abs warning 10 лет назад
mvc.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
n_polyvector.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
n_polyvector.h 81238fbfd2 - cleaned up polyvector field example 11 лет назад
n_polyvector_general.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
n_polyvector_general.h fc424b9b5c general polyvector field 11 лет назад
nchoosek.cpp a456df913d static library _compiles_ with eigen3.3.1 8 лет назад
nchoosek.h 4f99fc5ddd variadic boolean ops 9 лет назад
next_filename.cpp 3afe7f3444 templates 10 лет назад
next_filename.h e7dcfe6b19 better doc 8 лет назад
normal_derivative.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
normal_derivative.h 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads 10 лет назад
normalize_quat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
normalize_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
normalize_row_lengths.cpp b6c6db1279 specialization --> instantiation 8 лет назад
normalize_row_lengths.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
normalize_row_sums.cpp b6c6db1279 specialization --> instantiation 8 лет назад
normalize_row_sums.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
null.cpp 9354cc1124 null space 10 лет назад
null.h 9354cc1124 null space 10 лет назад
on_boundary.cpp b6c6db1279 specialization --> instantiation 8 лет назад
on_boundary.h f5b39a8657 better templating 8 лет назад
orient_outward.cpp b6c6db1279 specialization --> instantiation 8 лет назад
orient_outward.h 63e134577a manifold_patches --> orientable_patches 11 лет назад
orientable_patches.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
orientable_patches.h 2dfdea1a3b templates 9 лет назад
oriented_facets.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 лет назад
oriented_facets.h 7b82a08e5b all_edges --> oriented_facets 8 лет назад
orth.cpp b473232452 preprend license header to every file 11 лет назад
orth.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
ortho.cpp b6c6db1279 specialization --> instantiation 8 лет назад
ortho.h a1c8fcb85c templates, viewer opengl code extraction 10 лет назад
outer_element.cpp b6c6db1279 specialization --> instantiation 8 лет назад
outer_element.h 05cf35b4d6 Minor update to documentation and rename exterior* to outer*. 10 лет назад
parallel_for.h 7feec96c29 some strange compilation issues, templates 8 лет назад
parallel_transport_angles.cpp b6c6db1279 specialization --> instantiation 8 лет назад
parallel_transport_angles.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 лет назад
partition.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 лет назад
partition.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
parula.cpp 4d24fab218 Colormap refactoring 8 лет назад
parula.h 4d24fab218 Colormap refactoring 8 лет назад
path_to_executable.cpp 6f8f988fa5 fixed various windows issues with static library 10 лет назад
path_to_executable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
pathinfo.cpp b6c6db1279 specialization --> instantiation 8 лет назад
pathinfo.h 8e2e36c12a examples 10 лет назад
per_corner_normals.cpp b6c6db1279 specialization --> instantiation 8 лет назад
per_corner_normals.h f4ab9d2cd1 compiles after rm PlainObjectBase uses 9 лет назад
per_edge_normals.cpp 2e79bd99de templates 8 лет назад
per_edge_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
per_face_normals.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
per_face_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
per_vertex_attribute_smoothing.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 лет назад
per_vertex_attribute_smoothing.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
per_vertex_normals.cpp 2e79bd99de templates 8 лет назад
per_vertex_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
per_vertex_point_to_plane_quadrics.cpp df801345c1 copyright/license headers 8 лет назад
per_vertex_point_to_plane_quadrics.h df801345c1 copyright/license headers 8 лет назад
piecewise_constant_winding_number.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
piecewise_constant_winding_number.h 606a4a0c88 clean up winding number code. templates 8 лет назад
pinv.cpp 6f47da1700 pseudoinverse 8 лет назад
pinv.h 6f47da1700 pseudoinverse 8 лет назад
planarize_quad_mesh.cpp b6c6db1279 specialization --> instantiation 8 лет назад
planarize_quad_mesh.h 53c2b9e8fa missing copyrights 10 лет назад
ply.h.REMOVED.git-id ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 лет назад
point_in_circle.cpp b473232452 preprend license header to every file 11 лет назад
point_in_circle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
point_in_poly.cpp b473232452 preprend license header to every file 11 лет назад
point_in_poly.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
point_mesh_squared_distance.cpp abb5062d19 templates 8 лет назад
point_mesh_squared_distance.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 лет назад
point_simplex_squared_distance.cpp 2e79bd99de templates 8 лет назад
point_simplex_squared_distance.h 36f3f666e9 fix template to match explicits 8 лет назад
polar_dec.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polar_dec.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
polar_svd.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polar_svd.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
polar_svd3x3.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polar_svd3x3.h cce7d90d92 mv SVD to main lib 10 лет назад
polygon_mesh_to_triangle_mesh.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polygon_mesh_to_triangle_mesh.h 8e6f510b7b next filename, draw quad meshes, template specializations, 11 лет назад
polyroots.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyroots.h 34d4f8e5aa conjugate example, fixed some #HEADER_ONLY errors 11 лет назад
polyvector_field_comb_from_matchings_and_cuts.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyvector_field_comb_from_matchings_and_cuts.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 лет назад
polyvector_field_cut_mesh_with_singularities.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyvector_field_cut_mesh_with_singularities.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 лет назад
polyvector_field_matchings.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyvector_field_matchings.h f72ff756ac olga's recent changes 9 лет назад
polyvector_field_poisson_reconstruction.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyvector_field_poisson_reconstruction.h f72ff756ac olga's recent changes 9 лет назад
polyvector_field_singularities_from_matchings.cpp b6c6db1279 specialization --> instantiation 8 лет назад
polyvector_field_singularities_from_matchings.h cd067ff5c8 changed order of neighborhood traversal for singularity calculation 9 лет назад
principal_curvature.cpp b6c6db1279 specialization --> instantiation 8 лет назад
principal_curvature.h 344cb9eea3 -Changes to header files to support parsing 9 лет назад
print_ijv.cpp b6c6db1279 specialization --> instantiation 8 лет назад
print_ijv.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
print_vector.cpp b6c6db1279 specialization --> instantiation 8 лет назад
print_vector.h 4372f57c55 plot_vector --> print_vector 11 лет назад
procrustes.cpp 72eb3ef51a missing namespaces/includes 8 лет назад
procrustes.h 6e2c0ff218 bug in procrustes templating 10 лет назад
project.cpp b6c6db1279 specialization --> instantiation 8 лет назад
project.h 10999766a2 project() is now templated more generally 8 лет назад
project_isometrically_to_plane.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 лет назад
project_isometrically_to_plane.h e7f4b0154a plane_project --> project_isometrically_to_plane 11 лет назад
project_to_line.cpp 7feec96c29 some strange compilation issues, templates 8 лет назад
project_to_line.h 408c23ebc7 another typo in doc 8 лет назад
project_to_line_segment.cpp 7feec96c29 some strange compilation issues, templates 8 лет назад
project_to_line_segment.h 70693a85ba small speed up and code reogranization for point/mesh squared distance 9 лет назад
pseudonormal_test.cpp 2e79bd99de templates 8 лет назад
pseudonormal_test.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
pso.cpp 89b6ecee13 some simple global optimization routines 8 лет назад
pso.h 89b6ecee13 some simple global optimization routines 8 лет назад
qslim.cpp 5d956357b5 return false on nonmanifold 8 лет назад
qslim.h df801345c1 copyright/license headers 8 лет назад
qslim_optimal_collapse_edge_callbacks.cpp e2f6f2c24c std isinf 8 лет назад
qslim_optimal_collapse_edge_callbacks.h df801345c1 copyright/license headers 8 лет назад
quad_planarity.cpp b6c6db1279 specialization --> instantiation 8 лет назад
quad_planarity.h 53c2b9e8fa missing copyrights 10 лет назад
quadric_binary_plus_operator.cpp df801345c1 copyright/license headers 8 лет назад
quadric_binary_plus_operator.h df801345c1 copyright/license headers 8 лет назад
quat_conjugate.cpp b6c6db1279 specialization --> instantiation 8 лет назад
quat_conjugate.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
quat_mult.cpp b6c6db1279 specialization --> instantiation 8 лет назад
quat_mult.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
quat_to_axis_angle.cpp b6c6db1279 specialization --> instantiation 8 лет назад
quat_to_axis_angle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
quat_to_mat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
quat_to_mat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
quats_to_column.cpp 3ee6fa10ec mouse controller and quaternion io 11 лет назад
quats_to_column.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
ramer_douglas_peucker.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
ramer_douglas_peucker.h 16cd4fcd13 wrapper to output reparameterization along simplified curve 8 лет назад
random_dir.cpp 62521f0d2c fix for clang, enabled embree build by default for python bindings 9 лет назад
random_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
random_points_on_mesh.cpp b6c6db1279 specialization --> instantiation 8 лет назад
random_points_on_mesh.h 52eabdec3e documentation 8 лет назад
random_quaternion.cpp b6c6db1279 specialization --> instantiation 8 лет назад
random_quaternion.h 53c2b9e8fa missing copyrights 10 лет назад
random_search.cpp 89b6ecee13 some simple global optimization routines 8 лет назад
random_search.h 89b6ecee13 some simple global optimization routines 8 лет назад
randperm.cpp b6c6db1279 specialization --> instantiation 8 лет назад
randperm.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 лет назад
ray_box_intersect.cpp 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
ray_box_intersect.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
ray_mesh_intersect.cpp b6c6db1279 specialization --> instantiation 8 лет назад
ray_mesh_intersect.h b00e745985 adding missing copyright/license headers 8 лет назад
ray_sphere_intersect.cpp b6c6db1279 specialization --> instantiation 8 лет назад
ray_sphere_intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
raytri.c 73745b8713 note about public domain-ness 8 лет назад
readBF.cpp b00e745985 adding missing copyright/license headers 8 лет назад
readBF.h b00e745985 adding missing copyright/license headers 8 лет назад
readCSV.cpp b6c6db1279 specialization --> instantiation 8 лет назад
readCSV.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
readDMAT.cpp b6c6db1279 specialization --> instantiation 8 лет назад
readDMAT.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
readMESH.cpp 956e870232 gcc friendly template: 8 лет назад
readMESH.h b6e3b252af read directly from file pointer 8 лет назад
readNODE.cpp b6c6db1279 specialization --> instantiation 8 лет назад
readNODE.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
readOBJ.cpp 30d373ee61 n-dimensional OBJ vertex support 8 лет назад
readOBJ.h 680d9ff712 better templating 8 лет назад
readOFF.cpp 7bbcec7f04 fix blank line error while opening OFF file 8 лет назад
readOFF.h b6e3b252af read directly from file pointer 8 лет назад
readPLY.cpp ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 лет назад
readPLY.h ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 лет назад
readSTL.cpp b6c6db1279 specialization --> instantiation 8 лет назад
readSTL.h b6e3b252af read directly from file pointer 8 лет назад
readTGF.cpp 77b87e622a rm using namespace igl 10 лет назад
readTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
readWRL.cpp b6c6db1279 specialization --> instantiation 8 лет назад
readWRL.h b6e3b252af read directly from file pointer 8 лет назад
read_triangle_mesh.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
read_triangle_mesh.h b6e3b252af read directly from file pointer 8 лет назад
redux.h db3b7dc16c templates 8 лет назад
remove_duplicate_vertices.cpp 2e79bd99de templates 8 лет назад
remove_duplicate_vertices.h b09b6e5b0f better templating 8 лет назад
remove_duplicates.cpp b6c6db1279 specialization --> instantiation 8 лет назад
remove_duplicates.h 69808310c1 removeDuplicates --> remove_duplicates 11 лет назад
remove_unreferenced.cpp 2e79bd99de templates 8 лет назад
remove_unreferenced.h b09b6e5b0f better templating 8 лет назад
reorder.cpp 1397a27933 Fix template specializations 8 лет назад
reorder.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
repdiag.cpp b6c6db1279 specialization --> instantiation 8 лет назад
repdiag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
repmat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
repmat.h 9698061a02 better templating 8 лет назад
resolve_duplicated_faces.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
resolve_duplicated_faces.h f9ced09c24 merge 9 лет назад
rgb_to_hsv.cpp b6c6db1279 specialization --> instantiation 8 лет назад
rgb_to_hsv.h 20a3ad28f1 eigen types 10 лет назад
rotate_by_quat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
rotate_by_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
rotate_vectors.cpp b6c6db1279 specialization --> instantiation 8 лет назад
rotate_vectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
rotation_matrix_from_directions.cpp b6c6db1279 specialization --> instantiation 8 лет назад
rotation_matrix_from_directions.h 2d42198b19 fix style, rm unused parameter 9 лет назад
round.cpp 2e79bd99de templates 8 лет назад
round.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
rows_to_matrix.cpp b6c6db1279 specialization --> instantiation 8 лет назад
rows_to_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
sample_edges.cpp b473232452 preprend license header to every file 11 лет назад
sample_edges.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
seam_edges.cpp b6c6db1279 specialization --> instantiation 8 лет назад
seam_edges.h af2594ad1c cosmetic reformatting and templates 8 лет назад
segment_segment_intersect.cpp abd2f01b80 completing the merge 9 лет назад
segment_segment_intersect.h abd2f01b80 completing the merge 9 лет назад
serialize.h 892496b73c Merge current master 8 лет назад
setdiff.cpp 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 лет назад
setdiff.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 лет назад
setunion.cpp b6c6db1279 specialization --> instantiation 8 лет назад
setunion.h 06215fe09b set union on matrices 8 лет назад
setxor.cpp b6c6db1279 specialization --> instantiation 8 лет назад
setxor.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 лет назад
shape_diameter_function.cpp 2692c1ee0c basic shape diameter function implementation 8 лет назад
shape_diameter_function.h 2692c1ee0c basic shape diameter function implementation 8 лет назад
shortest_edge_and_midpoint.cpp df801345c1 copyright/license headers 8 лет назад
shortest_edge_and_midpoint.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 лет назад
signed_angle.cpp 29250d6923 templates 8 лет назад
signed_angle.h 606a4a0c88 clean up winding number code. templates 8 лет назад
signed_distance.cpp 2e79bd99de templates 8 лет назад
signed_distance.h 7feec96c29 some strange compilation issues, templates 8 лет назад
simplify_polyhedron.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 лет назад
simplify_polyhedron.h 4123794f61 simplify polyhedron 9 лет назад
slice.cpp 2e79bd99de templates 8 лет назад
slice.h c41afa77ec better templates 8 лет назад
slice_into.cpp 05f2905655 Update templates 8 лет назад
slice_into.h c41afa77ec better templates 8 лет назад
slice_mask.cpp 480f98b127 better templates 8 лет назад
slice_mask.h 03c9c841dc trivially extend to sparse matrices 8 лет назад
slice_tets.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
slice_tets.h f0b9c018f1 slice tets and tempaltes 10 лет назад
slim.cpp 6f8ab23137 fixed an initializaiton bug in func "solve_weighted_arap" of slim.cpp 8 лет назад
slim.h 66ccf0c218 templates 8 лет назад
snap_points.cpp b6c6db1279 specialization --> instantiation 8 лет назад
snap_points.h 2dfdea1a3b templates 9 лет назад
snap_to_canonical_view_quat.cpp b6c6db1279 specialization --> instantiation 8 лет назад
snap_to_canonical_view_quat.h 8c809663c2 better tempaltes 10 лет назад
snap_to_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 лет назад
snap_to_fixed_up.h 6d578a7133 key usage in viewer 9 лет назад
solid_angle.cpp 2e79bd99de templates 8 лет назад
solid_angle.h 606a4a0c88 clean up winding number code. templates 8 лет назад
sort.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
sort.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 лет назад
sort_angles.cpp 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 лет назад
sort_angles.h 53c2b9e8fa missing copyrights 10 лет назад
sort_triangles.cpp b6c6db1279 specialization --> instantiation 8 лет назад
sort_triangles.h 945ca3ac82 move opengl functions to separate directories, lots of new templates 10 лет назад
sort_vectors_ccw.cpp b6c6db1279 specialization --> instantiation 8 лет назад
sort_vectors_ccw.h f72ff756ac olga's recent changes 9 лет назад
sortrows.cpp 2e79bd99de templates 8 лет назад
sortrows.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 лет назад
sparse.cpp 1397a27933 Fix template specializations 8 лет назад
sparse.h 2ecd74c82a better templates 8 лет назад
speye.cpp b6c6db1279 specialization --> instantiation 8 лет назад
speye.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
squared_edge_lengths.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
squared_edge_lengths.h 9698061a02 better templating 8 лет назад
stdin_to_temp.cpp b473232452 preprend license header to every file 11 лет назад
stdin_to_temp.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
straighten_seams.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
straighten_seams.h 3fe31ec0dc straighten seams 8 лет назад
streamlines.cpp e52b3a9ca9 streamlines.cpp: updated to use new matchings code (which has an option for treating the field as symmetric/non-symmetric) 9 лет назад
streamlines.h abd2f01b80 completing the merge 9 лет назад
sum.cpp f17f286a0f templates 8 лет назад
sum.h 074577bc17 use sparse matrix redux/for each 8 лет назад
svd3x3.cpp cce7d90d92 mv SVD to main lib 10 лет назад
svd3x3.h cce7d90d92 mv SVD to main lib 10 лет назад
svd3x3_avx.cpp b068e63d4f removed double instantiation 10 лет назад
svd3x3_avx.h cce7d90d92 mv SVD to main lib 10 лет назад
svd3x3_sse.cpp cce7d90d92 mv SVD to main lib 10 лет назад
svd3x3_sse.h cce7d90d92 mv SVD to main lib 10 лет назад
swept_volume_bounding_box.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 лет назад
swept_volume_bounding_box.h b00e745985 adding missing copyright/license headers 8 лет назад
swept_volume_signed_distance.cpp 0667cbcb2a fix namespace/include order errors 8 лет назад
swept_volume_signed_distance.h b00e745985 adding missing copyright/license headers 8 лет назад
trackball.cpp b6c6db1279 specialization --> instantiation 8 лет назад
trackball.h 8c809663c2 better tempaltes 10 лет назад
transpose_blocks.cpp b6c6db1279 specialization --> instantiation 8 лет назад
transpose_blocks.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
triangle_fan.cpp 53c2b9e8fa missing copyrights 10 лет назад
triangle_fan.h 53c2b9e8fa missing copyrights 10 лет назад
triangle_triangle_adjacency.cpp be085cfc64 template 8 лет назад
triangle_triangle_adjacency.h 0eda832958 typos in comments 8 лет назад
triangles_from_strip.cpp b6c6db1279 specialization --> instantiation 8 лет назад
triangles_from_strip.h 9522dfd77e generate triangles from a points streaming triangle strip 10 лет назад
two_axis_valuator_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 лет назад
two_axis_valuator_fixed_up.h 8c809663c2 better tempaltes 10 лет назад
uniformly_sample_two_manifold.cpp 77b87e622a rm using namespace igl 10 лет назад
uniformly_sample_two_manifold.h d06b90a231 comments 9 лет назад
unique.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
unique.h 606a4a0c88 clean up winding number code. templates 8 лет назад
unique_edge_map.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
unique_edge_map.h 0eda832958 typos in comments 8 лет назад
unique_rows.cpp 2e79bd99de templates 8 лет назад
unique_rows.h 606a4a0c88 clean up winding number code. templates 8 лет назад
unique_simplices.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
unique_simplices.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
unproject.cpp 1d68023669 templates 8 лет назад
unproject.h 1d68023669 templates 8 лет назад
unproject_in_mesh.cpp 417501ef15 templates and __1 9 лет назад
unproject_in_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 лет назад
unproject_onto_mesh.cpp b6c6db1279 specialization --> instantiation 8 лет назад
unproject_onto_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 лет назад
unproject_ray.cpp dec1ddc168 rm using namespace igl 9 лет назад
unproject_ray.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 лет назад
unzip_corners.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
unzip_corners.h e287df11ba unzip corners (of an obj-style mesh with attributes) 9 лет назад
upsample.cpp b6c6db1279 specialization --> instantiation 8 лет назад
upsample.h 19bc318c12 loop, upsample, bug fix + tutorial 8 лет назад
vector_area_matrix.cpp 63442031a7 Simplify vector_area_matrix.cpp 8 лет назад
vector_area_matrix.h cb6570075a correct header guard 8 лет назад
verbose.h b473232452 preprend license header to every file 11 лет назад
vertex_triangle_adjacency.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
vertex_triangle_adjacency.h 0eda832958 typos in comments 8 лет назад
volume.cpp f17f286a0f templates 8 лет назад
volume.h 9698061a02 better templating 8 лет назад
voxel_grid.cpp 4f6e28067c better templating 8 лет назад
voxel_grid.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 лет назад
winding_number.cpp 2e79bd99de templates 8 лет назад
winding_number.h 606a4a0c88 clean up winding number code. templates 8 лет назад
writeBF.cpp b00e745985 adding missing copyright/license headers 8 лет назад
writeBF.h b00e745985 adding missing copyright/license headers 8 лет назад
writeDMAT.cpp b6c6db1279 specialization --> instantiation 8 лет назад
writeDMAT.h 8a2fb2a3ec unify code for vectors 8 лет назад
writeMESH.cpp 2e79bd99de templates 8 лет назад
writeMESH.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
writeOBJ.cpp 2e79bd99de templates 8 лет назад
writeOBJ.h f3c4930b69 templates 8 лет назад
writeOFF.cpp 606a4a0c88 clean up winding number code. templates 8 лет назад
writeOFF.h 33c27124bf OFF color-per-vertex 8 лет назад
writePLY.cpp d702121096 remove inline, confusing gcc 8 лет назад
writePLY.h 416a0cd915 ply support any vertex/normal/uv/face type 8 лет назад
writeSTL.cpp 2e79bd99de templates 8 лет назад
writeSTL.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
writeTGF.cpp 77b87e622a rm using namespace igl 10 лет назад
writeTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 лет назад
writeWRL.cpp 2e79bd99de templates 8 лет назад
writeWRL.h c4270a84b2 Write colors to WRL files. 8 лет назад
write_triangle_mesh.cpp 2e79bd99de templates 8 лет назад
write_triangle_mesh.h d1a2c4e2e8 templates 8 лет назад

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"

template
IGL_INLINE bool igl::readMESH(
const std::string mesh_file_name,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
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;
}
return igl::readMESH(mesh_file,V,T,F);
}

template
IGL_INLINE bool igl::readMESH(
FILE * mesh_file,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
#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)
{
if(fgets(line,LINE_MAX,mesh_file) == NULL)
{
fprintf(stderr, "Error: couldn't find start of .mesh file");
fclose(mesh_file);
return false;
}
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;
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;
}
return readMESH(mesh_file,V,T,F);
}

template
IGL_INLINE bool igl::readMESH(
FILE * mesh_file,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& F)
{
using namespace std;
#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;
//}

#ifdef IGL_STATIC_LIBRARY
// Explicit template instantiation
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(FILE*, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(FILE*, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
template bool igl::readMESH(std::basic_string, std::allocator >, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&);
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
#endif