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 13 年 前
examples b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
Makefile 70ebc587cf changed path of anttweakbar 13 年 前
ONE.h c66820d5e3 clean up all around 13 年 前
PI.h 9f4b4acd36 per corner normals, texture mapping 13 年 前
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 13 年 前
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 13 年 前
Timer.h c66820d5e3 clean up all around 13 年 前
ZERO.h c66820d5e3 clean up all around 13 年 前
adjacency_list.cpp d255c7a574 templated face matrix data type 13 年 前
adjacency_list.h d255c7a574 templated face matrix data type 13 年 前
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 13 年 前
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 13 年 前
all_pairs_distances.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
autoexplicit.sh b8c50e5f06 all examples build with static 13 年 前
axis_angle_to_quat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
boundary_faces.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
boundary_faces.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
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 13 年 前
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 13 年 前
cat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
colon.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
cotangent.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
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 13 年 前
cotmatrix.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
create_vector_vbo.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
edge_lengths.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
edge_lengths.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
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 13 年 前
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 13 年 前
edgetopology.h b8c50e5f06 all examples build with static 13 年 前
example_fun.cpp cfb91ba04f script to separate .h into .h and .cpp pair 13 年 前
example_fun.h cfb91ba04f script to separate .h into .h and .cpp pair 13 年 前
face_occurences.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
face_occurences.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
faces_first.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
faces_first.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
find.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
full.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
grad.cpp d255c7a574 templated face matrix data type 13 年 前
grad.h d255c7a574 templated face matrix data type 13 年 前
h2pair.sh f3fc7367a6 fixed bug in h2pair and create* header include lines 13 年 前
igl_inline.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
is_border_vertex.cpp d255c7a574 templated face matrix data type 13 年 前
is_border_vertex.h d255c7a574 templated face matrix data type 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
is_manifold.cpp d255c7a574 templated face matrix data type 13 年 前
is_manifold.h d255c7a574 templated face matrix data type 13 年 前
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 13 年 前
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 13 年 前
is_symmetric.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
list_to_matrix.cpp cbfeadfbdb Last change before reorganizing directory structure 13 年 前
list_to_matrix.h cbfeadfbdb Last change before reorganizing directory structure 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
mat_min.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
material_colors.h c66820d5e3 clean up all around 13 年 前
matlab-to-eigen.html cbfeadfbdb Last change before reorganizing directory structure 13 年 前
matlab_workspace.cpp cbfeadfbdb Last change before reorganizing directory structure 13 年 前
matlab_workspace.h cbfeadfbdb Last change before reorganizing directory structure 13 年 前
matlabinterface.h d255c7a574 templated face matrix data type 13 年 前
matrix_to_list.cpp 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
matrix_to_list.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
max_size.cpp cbfeadfbdb Last change before reorganizing directory structure 13 年 前
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 13 年 前
min_quad_dense.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
min_size.cpp cbfeadfbdb Last change before reorganizing directory structure 13 年 前
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 13 年 前
mode.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
moveFV.cpp d255c7a574 templated face matrix data type 13 年 前
moveFV.h d255c7a574 templated face matrix data type 13 年 前
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 13 年 前
normalize_quat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
normalize_rows.cpp b8c50e5f06 all examples build with static 13 年 前
normalize_rows.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
on_boundary.cpp cbfeadfbdb Last change before reorganizing directory structure 13 年 前
on_boundary.h 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
per_corner_normals.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
per_corner_normals.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
per_face_normals.cpp b8c50e5f06 all examples build with static 13 年 前
per_face_normals.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
per_vertex_normals.cpp b8c50e5f06 all examples build with static 13 年 前
per_vertex_normals.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
pos.h d255c7a574 templated face matrix data type 13 年 前
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 13 年 前
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 13 年 前
print_ijv.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
quat_conjugate.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
quat_mult.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
quat_to_mat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
read.cpp b8c50e5f06 all examples build with static 13 年 前
read.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
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 13 年 前
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 13 年 前
readMESH.cpp b8c50e5f06 all examples build with static 13 年 前
readMESH.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
readOBJ.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
readOBJ.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
readOFF.cpp b8c50e5f06 all examples build with static 13 年 前
readOFF.h 9efa0aedcd bugs in readOFF 13 年 前
readme.txt 2910231501 readme and fixed a bunch of ifndef headers 13 年 前
removeDuplicates.cpp d255c7a574 templated face matrix data type 13 年 前
removeDuplicates.h d255c7a574 templated face matrix data type 13 年 前
removeUnreferenced.cpp d255c7a574 templated face matrix data type 13 年 前
removeUnreferenced.h d255c7a574 templated face matrix data type 13 年 前
reorder.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
repdiag.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
repmat.cpp b8c50e5f06 all examples build with static 13 年 前
repmat.h b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
rotate_by_quat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
slice.cpp b8c50e5f06 all examples build with static 13 年 前
slice.h b8c50e5f06 all examples build with static 13 年 前
slice_into.cpp b8c50e5f06 all examples build with static 13 年 前
slice_into.h b8c50e5f06 all examples build with static 13 年 前
snap_to_canonical_view_quat.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
sort.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
sort.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
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 13 年 前
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 13 年 前
speye.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
tga.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
tga.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
todos.txt b8c50e5f06 all examples build with static 13 年 前
trackball.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
transpose_blocks.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
tt.cpp d255c7a574 templated face matrix data type 13 年 前
tt.h d255c7a574 templated face matrix data type 13 年 前
tutorial.html 1a030a7b2c face occurences, edge lengths, boundary faces and on boundary, no header widget in tutorial 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
vf.cpp b8c50e5f06 all examples build with static 13 年 前
vf.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
write.cpp f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
write.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前
writeDMAT.cpp b8c50e5f06 all examples build with static 13 年 前
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 13 年 前
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 13 年 前
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 13 年 前
writeOBJ.cpp b8c50e5f06 all examples build with static 13 年 前
writeOBJ.h f30e1c69c9 boundary faces, matrix to list, fix tga, and now compiles (debug) with no warnings 13 年 前
writeOFF.cpp b8c50e5f06 all examples build with static 13 年 前
writeOFF.h b06ba7383e templates mesh reading/writing and normal computation functions 13 年 前

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