Extension of libigl which allows to also read the texture of wrl-files in Python as igl.read_triangle_mesh(wrFilePath, V, F, TC)

jalec cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
examples b8c50e5f06 all examples build with static il y a 13 ans
EPS.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
EPS.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
Makefile 70ebc587cf changed path of anttweakbar il y a 13 ans
ONE.h c66820d5e3 clean up all around il y a 13 ans
PI.h 9f4b4acd36 per corner normals, texture mapping il y a 13 ans
ReAntTweakBar.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
ReAntTweakBar.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
Timer.h c66820d5e3 clean up all around il y a 13 ans
ZERO.h c66820d5e3 clean up all around il y a 13 ans
adjacency_list.cpp d255c7a574 templated face matrix data type il y a 13 ans
adjacency_list.h d255c7a574 templated face matrix data type il y a 13 ans
adjacency_matrix.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
adjacency_matrix.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
all_pairs_distances.cpp b8c50e5f06 all examples build with static il y a 13 ans
all_pairs_distances.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
autoexplicit.sh b8c50e5f06 all examples build with static il y a 13 ans
axis_angle_to_quat.cpp b8c50e5f06 all examples build with static il y a 13 ans
axis_angle_to_quat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
basename.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
basename.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
boundary_faces.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
boundary_faces.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
canonical_quaternions.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
canonical_quaternions.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cat.cpp b8c50e5f06 all examples build with static il y a 13 ans
cat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cocoa_key_to_anttweakbar_key.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cocoa_key_to_anttweakbar_key.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
colon.cpp b8c50e5f06 all examples build with static il y a 13 ans
colon.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
concat.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
concat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cotangent.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
cotangent.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cotmatrix.cpp b8c50e5f06 all examples build with static il y a 13 ans
cotmatrix.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_index_vbo.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_index_vbo.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_mesh_vbo.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_mesh_vbo.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_shader_program.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_shader_program.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
create_vector_vbo.cpp b8c50e5f06 all examples build with static il y a 13 ans
create_vector_vbo.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cross.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
cross.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
destroy_shader_program.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
destroy_shader_program.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
diag.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
diag.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
dirname.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
dirname.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
dot.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
dot.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
edge_lengths.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
edge_lengths.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
edges.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
edges.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
edgetopology.h b8c50e5f06 all examples build with static il y a 13 ans
example_fun.cpp cfb91ba04f script to separate .h into .h and .cpp pair il y a 13 ans
example_fun.h cfb91ba04f script to separate .h into .h and .cpp pair il y a 13 ans
face_occurences.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
face_occurences.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
faces_first.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
faces_first.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
file_contents_as_string.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
file_contents_as_string.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
file_exists.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
file_exists.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
find.cpp b8c50e5f06 all examples build with static il y a 13 ans
find.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
full.cpp b8c50e5f06 all examples build with static il y a 13 ans
full.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
get_seconds.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
get_seconds.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
get_seconds_hires.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
get_seconds_hires.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
gl_type_size.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
gl_type_size.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
grad.cpp d255c7a574 templated face matrix data type il y a 13 ans
grad.h d255c7a574 templated face matrix data type il y a 13 ans
h2pair.sh f3fc7367a6 fixed bug in h2pair and create* header include lines il y a 13 ans
igl_inline.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
is_border_vertex.cpp d255c7a574 templated face matrix data type il y a 13 ans
is_border_vertex.h d255c7a574 templated face matrix data type il y a 13 ans
is_dir.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_dir.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_file.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_file.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_manifold.cpp d255c7a574 templated face matrix data type il y a 13 ans
is_manifold.h d255c7a574 templated face matrix data type il y a 13 ans
is_readable.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_readable.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_symmetric.cpp b8c50e5f06 all examples build with static il y a 13 ans
is_symmetric.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_writable.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
is_writable.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
limit_faces.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
limit_faces.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
list_to_matrix.cpp cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
list_to_matrix.h cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
load_shader.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
load_shader.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
lu_lagrange.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
lu_lagrange.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
mat_max.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
mat_max.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
mat_min.cpp b8c50e5f06 all examples build with static il y a 13 ans
mat_min.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
material_colors.h c66820d5e3 clean up all around il y a 13 ans
matlab-to-eigen.html cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
matlab_workspace.cpp cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
matlab_workspace.h cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
matlabinterface.h d255c7a574 templated face matrix data type il y a 13 ans
matrix_to_list.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
matrix_to_list.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
max_size.cpp cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
max_size.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
min_quad_dense.cpp b8c50e5f06 all examples build with static il y a 13 ans
min_quad_dense.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
min_quad_with_fixed.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
min_quad_with_fixed.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
min_size.cpp cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
min_size.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
mode.cpp b8c50e5f06 all examples build with static il y a 13 ans
mode.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
moveFV.cpp d255c7a574 templated face matrix data type il y a 13 ans
moveFV.h d255c7a574 templated face matrix data type il y a 13 ans
mvc.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
normalize_quat.cpp b8c50e5f06 all examples build with static il y a 13 ans
normalize_quat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
normalize_rows.cpp b8c50e5f06 all examples build with static il y a 13 ans
normalize_rows.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
on_boundary.cpp cbfeadfbdb Last change before reorganizing directory structure il y a 13 ans
on_boundary.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
orth.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
pathinfo.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
pathinfo.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
per_corner_normals.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
per_corner_normals.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
per_face_normals.cpp b8c50e5f06 all examples build with static il y a 13 ans
per_face_normals.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
per_vertex_normals.cpp b8c50e5f06 all examples build with static il y a 13 ans
per_vertex_normals.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
plot_vector.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
plot_vector.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
point_in_circle.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
point_in_circle.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
pos.h d255c7a574 templated face matrix data type il y a 13 ans
print_gl_get.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_gl_get.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_ijv.cpp b8c50e5f06 all examples build with static il y a 13 ans
print_ijv.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_program_info_log.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_program_info_log.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_shader_info_log.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
print_shader_info_log.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
project.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
project.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
quat_conjugate.cpp b8c50e5f06 all examples build with static il y a 13 ans
quat_conjugate.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
quat_mult.cpp b8c50e5f06 all examples build with static il y a 13 ans
quat_mult.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
quat_to_mat.cpp b8c50e5f06 all examples build with static il y a 13 ans
quat_to_mat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
read.cpp b8c50e5f06 all examples build with static il y a 13 ans
read.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
readDMAT.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
readDMAT.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
readMESH.cpp b8c50e5f06 all examples build with static il y a 13 ans
readMESH.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
readOBJ.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
readOBJ.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
readOFF.cpp b8c50e5f06 all examples build with static il y a 13 ans
readOFF.h 9efa0aedcd bugs in readOFF il y a 13 ans
readme.txt 2910231501 readme and fixed a bunch of ifndef headers il y a 13 ans
removeDuplicates.cpp d255c7a574 templated face matrix data type il y a 13 ans
removeDuplicates.h d255c7a574 templated face matrix data type il y a 13 ans
removeUnreferenced.cpp d255c7a574 templated face matrix data type il y a 13 ans
removeUnreferenced.h d255c7a574 templated face matrix data type il y a 13 ans
reorder.cpp b8c50e5f06 all examples build with static il y a 13 ans
reorder.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
repdiag.cpp b8c50e5f06 all examples build with static il y a 13 ans
repdiag.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
repmat.cpp b8c50e5f06 all examples build with static il y a 13 ans
repmat.h b8c50e5f06 all examples build with static il y a 13 ans
report_gl_error.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
report_gl_error.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
rotate_by_quat.cpp b8c50e5f06 all examples build with static il y a 13 ans
rotate_by_quat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
rows_to_matrix.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
rows_to_matrix.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
slice.cpp b8c50e5f06 all examples build with static il y a 13 ans
slice.h b8c50e5f06 all examples build with static il y a 13 ans
slice_into.cpp b8c50e5f06 all examples build with static il y a 13 ans
slice_into.h b8c50e5f06 all examples build with static il y a 13 ans
snap_to_canonical_view_quat.cpp b8c50e5f06 all examples build with static il y a 13 ans
snap_to_canonical_view_quat.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
sort.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
sort.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
sparse.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
sparse.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
speye.cpp b8c50e5f06 all examples build with static il y a 13 ans
speye.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
stdin_to_temp.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
stdin_to_temp.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
sum.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
sum.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
texture_from_tga.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
texture_from_tga.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
tga.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
tga.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
todos.txt b8c50e5f06 all examples build with static il y a 13 ans
trackball.cpp b8c50e5f06 all examples build with static il y a 13 ans
trackball.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
transpose_blocks.cpp b8c50e5f06 all examples build with static il y a 13 ans
transpose_blocks.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
tt.cpp d255c7a574 templated face matrix data type il y a 13 ans
tt.h d255c7a574 templated face matrix data type il y a 13 ans
tutorial.html 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial il y a 13 ans
uniform_type_to_string.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
uniform_type_to_string.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
unproject.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
unproject.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
upsample.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
upsample.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
verbose.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
verbose.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
vf.cpp b8c50e5f06 all examples build with static il y a 13 ans
vf.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
write.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
write.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans
writeDMAT.cpp b8c50e5f06 all examples build with static il y a 13 ans
writeDMAT.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
writeMESH.cpp c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
writeMESH.h c3aa5c391c split most .h files into .h and .cpp, most templated .cpp are missing any explicit instanciations so libigl.a builds but is rather useless il y a 13 ans
writeOBJ.cpp b8c50e5f06 all examples build with static il y a 13 ans
writeOBJ.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings il y a 13 ans
writeOFF.cpp b8c50e5f06 all examples build with static il y a 13 ans
writeOFF.h b06ba7383e templates mesh reading/writing and normal computation functions il y a 13 ans

readMESH.cpp

#include "readMESH.h"

#include
#include "verbose.h"

template
IGL_INLINE bool igl::readMESH(
const std::string mesh_file_name,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
using namespace igl;
FILE * mesh_file = fopen(mesh_file_name.c_str(),"r");
if(NULL==mesh_file)
{
fprintf(stderr,"IOError: %s could not be opened...",mesh_file_name.c_str());
return false;
}
#ifndef LINE_MAX
# define LINE_MAX 2048
#endif
char line[LINE_MAX];
bool still_comments;
V.clear();
T.clear();
F.clear();

// eat comments at beginning of file
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

char str[LINE_MAX];
sscanf(line," %s",str);
// check that first word is MeshVersionFormatted
if(0!=strcmp(str,"MeshVersionFormatted"))
{
fprintf(stderr,
"Error: first word should be MeshVersionFormatted not %s\n",str);
fclose(mesh_file);
return false;
}
int one = -1;
if(2 != sscanf(line,"%s %d",str,&one))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&one);
}
if(one != 1)
{
fprintf(stderr,"Error: second word should be 1 not %d\n",one);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that third word is Dimension
if(0!=strcmp(str,"Dimension"))
{
fprintf(stderr,"Error: third word should be Dimension not %s\n",str);
fclose(mesh_file);
return false;
}
int three = -1;
if(2 != sscanf(line,"%s %d",str,&three))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&three);
}
if(three != 3)
{
fprintf(stderr,"Error: only Dimension 3 supported not %d\n",three);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that fifth word is Vertices
if(0!=strcmp(str,"Vertices"))
{
fprintf(stderr,"Error: fifth word should be Vertices not %s\n",str);
fclose(mesh_file);
return false;
}

//fgets(line,LINE_MAX,mesh_file);

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

#include
#include "list_to_matrix.h"


template
IGL_INLINE bool igl::readMESH(
const std::string str,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& F)
{
std::vector > vV,vT,vF;
bool success = igl::readMESH(str,vV,vT,vF);
if(!success)
{
// readOBJ(str,vV,vTC,vN,vF,vFTC,vFN) should have already printed an error
// message to stderr
return false;
}
bool V_rect = igl::list_to_matrix(vV,V);
if(!V_rect)
{
// igl::list_to_matrix(vV,V) already printed error message to std err
return false;
}
bool T_rect = igl::list_to_matrix(vT,T);
if(!T_rect)
{
// igl::list_to_matrix(vT,T) already printed error message to std err
return false;
}
bool F_rect = igl::list_to_matrix(vF,F);
if(!F_rect)
{
// igl::list_to_matrix(vF,F) already printed error message to std err
return false;
}
assert(V.cols() == 3);
assert(T.cols() == 4);
assert(F.cols() == 3);
return true;
}

#ifndef IGL_HEADER_ONLY
// Explicit template specialization
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
#endif