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 29f2f5df23 added sparsematrix example 13 jaren geleden
examples 29f2f5df23 added sparsematrix example 13 jaren geleden
EPS.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
PI.h abd98b398b added a bunch of quaternion math, vector math and trackball 14 jaren geleden
ReAntTweakBar.h 47136a5d14 get_seconds example, still not sure why ctime is not working with GLUT... 14 jaren geleden
ZERO.h 67da1c1e96 added header files: 14 jaren geleden
adjacency_list.h 2ec5601563 added missing inlines 13 jaren geleden
adjacency_matrix.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
axis_angle_to_quat.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
basename.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
canonical_quaternions.h 4dfd20d527 Templatized (or began to at least) canonical_quaternions 14 jaren geleden
cocoa_key_to_anttweakbar_key.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
colon.h a62d483b1c colon, full and speye functions to match matlab 13 jaren geleden
concat.h 2ec5601563 added missing inlines 13 jaren geleden
cotmatrix.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
create_index_vbo.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
create_mesh_vbo.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
create_shader_program.h 0289f43a50 missing inlines and organization 14 jaren geleden
create_vector_vbo.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
cross.h abd98b398b added a bunch of quaternion math, vector math and trackball 14 jaren geleden
destroy_shader_program.h 57d8e1844b added file -> string function and example, 14 jaren geleden
diag.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
dirname.h 0289f43a50 missing inlines and organization 14 jaren geleden
dot.h abd98b398b added a bunch of quaternion math, vector math and trackball 14 jaren geleden
edges.h 19fc88d42f bug fixes and clean up for cotmatrix, 14 jaren geleden
edgetopology.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
file_contents_as_string.h 57d8e1844b added file -> string function and example, 14 jaren geleden
file_exists.h 8fc2d636da Added more php-like file permissions/existence checkers. And an example which tests them against their php cousins. 14 jaren geleden
find.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
full.h a62d483b1c colon, full and speye functions to match matlab 13 jaren geleden
get_seconds.h 47136a5d14 get_seconds example, still not sure why ctime is not working with GLUT... 14 jaren geleden
gl_type_size.h 206e6bc0eb fixed some template issues and strict warnings, gl type to string, type to size, matlab to eigen html doc 14 jaren geleden
grad.h 7bebe9005d moveFV, grad, WA: dist and grad 13 jaren geleden
is_dir.h 8fc2d636da Added more php-like file permissions/existence checkers. And an example which tests them against their php cousins. 14 jaren geleden
is_file.h 8fc2d636da Added more php-like file permissions/existence checkers. And an example which tests them against their php cousins. 14 jaren geleden
is_readable.h 8fc2d636da Added more php-like file permissions/existence checkers. And an example which tests them against their php cousins. 14 jaren geleden
is_symmetric.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
is_writable.h 8fc2d636da Added more php-like file permissions/existence checkers. And an example which tests them against their php cousins. 14 jaren geleden
ismanifold.h 2d12c8eeda added some const 13 jaren geleden
list_to_matrix.h 84e0ce7b52 replaced buggy readOBJ with wrapper to vector of vectors readobj 13 jaren geleden
load_shader.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
lu_lagrange.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
mat_max.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
mat_min.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
material_colors.h 67da1c1e96 added header files: 14 jaren geleden
matlab-to-eigen.html f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
matlabinterface.h a57964985b fixed wireframe for polygons 14 jaren geleden
max_size.h 84e0ce7b52 replaced buggy readOBJ with wrapper to vector of vectors readobj 13 jaren geleden
min_quad_with_fixed.h 5f4ec9681d possible bug fix in slice, minor other changes 13 jaren geleden
min_size.h 84e0ce7b52 replaced buggy readOBJ with wrapper to vector of vectors readobj 13 jaren geleden
moveFV.h 7bebe9005d moveFV, grad, WA: dist and grad 13 jaren geleden
mvc.h 9ad2006bba WA cleanup 13 jaren geleden
normalize_quat.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
normalize_rows.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
orth.h 9ad2006bba WA cleanup 13 jaren geleden
pathinfo.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
per_face_normals.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
per_vertex_normals.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
plot_vector.h d288720c64 13 jaren geleden
point_in_circle.h b7e523aec7 project/unproject wrappers, 2d point in circle test and eigen affine matrix example 14 jaren geleden
pos.h d288720c64 13 jaren geleden
print_gl_get.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
print_ijv.h 19fc88d42f bug fixes and clean up for cotmatrix, 14 jaren geleden
print_program_info_log.h 57d8e1844b added file -> string function and example, 14 jaren geleden
print_shader_info_log.h 57d8e1844b added file -> string function and example, 14 jaren geleden
project.h b7e523aec7 project/unproject wrappers, 2d point in circle test and eigen affine matrix example 14 jaren geleden
quat_conjugate.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
quat_mult.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
quat_to_mat.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
read.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
readDMAT.h b7e523aec7 project/unproject wrappers, 2d point in circle test and eigen affine matrix example 14 jaren geleden
readOBJ.h 84e0ce7b52 replaced buggy readOBJ with wrapper to vector of vectors readobj 13 jaren geleden
readOFF.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
readme.txt 816be11f10 updated styles in readme 13 jaren geleden
removeDuplicates.h d95047cbdd added removeUnreferenced and fixes in removeDuplicates 13 jaren geleden
removeUnreferenced.h d95047cbdd added removeUnreferenced and fixes in removeDuplicates 13 jaren geleden
reorder.h 206e6bc0eb fixed some template issues and strict warnings, gl type to string, type to size, matlab to eigen html doc 14 jaren geleden
repdiag.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
repmat.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
report_gl_error.h 5f4ec9681d possible bug fix in slice, minor other changes 13 jaren geleden
rotate_by_quat.h f9c9115e03 Templated the quaternion functions and EPS, a few more quaternion functions, fixed prototypes and header defines in writeOBJ 14 jaren geleden
rows_to_matrix.h 84e0ce7b52 replaced buggy readOBJ with wrapper to vector of vectors readobj 13 jaren geleden
slice.h ddbc83c689 added sparse include 13 jaren geleden
slice_into.h 8302a36e26 slice into 13 jaren geleden
snap_to_canonical_view_quat.h 206e6bc0eb fixed some template issues and strict warnings, gl type to string, type to size, matlab to eigen html doc 14 jaren geleden
sort.h 19fc88d42f bug fixes and clean up for cotmatrix, 14 jaren geleden
sparse.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
speye.h a62d483b1c colon, full and speye functions to match matlab 13 jaren geleden
stdin_to_temp.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
sum.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
trackball.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
transpose_blocks.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
tt.h d288720c64 13 jaren geleden
uniform_type_to_string.h 206e6bc0eb fixed some template issues and strict warnings, gl type to string, type to size, matlab to eigen html doc 14 jaren geleden
unproject.h b7e523aec7 project/unproject wrappers, 2d point in circle test and eigen affine matrix example 14 jaren geleden
verbose.h 0abb7a4d3c changed interfaces of read*.h to return bool, 14 jaren geleden
vf.h fe734a87bf Added basic mesh navigation primitives (not fully tested) 13 jaren geleden
write.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
writeDMAT.h fa03862cee dmat matrix file format reader, writer and example 14 jaren geleden
writeOBJ.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden
writeOFF.h f803e13d06 fixed min_quad_* to handle non positive definite systems (though falls back on dense decomposition) 13 jaren geleden

readme.txt

igl Library - A simple c++ mesh library
Copyright 2011 - Daniele Panozzo, Alec Jacobson, Olga Diamanti
Interactive Geometry Lab - ETH Zurich

This is a *header* library. Each header file should contain a single
function. The function may have multiple prototypes. All functions
should use the igl namespace and should adhere to the conventions and
styles listed below.

= Example =
The following is a toy example of a function called example() in the
file example.h:

#ifndef IGL_EXAMPLE_H
#define IGL_EXAMPLE_H
namespace igl
{
// An example function that prints "Hello, world"
inline void example();
}

// Implementation
#include
inline void igl::example()
{
std::cout<<"Hello, world"<}

= Standards =

This library is shared by many people. Each function prototype should be
well documented. Write a summary of what the function does and a
description of each template, input and output in each prototype.

- All functions must be inlined, otherwise there is trouble when
linking included headers used in multiple .cpp files
- Use a single .h file with the same name as the function
- Do *not* use any .cpp files (this is *header only* library)
- At least one version of the function should use references for all
outputs
- Use wrappers and additional prototypes for returning single-output
functions' outputs
- Use c++ references for inputs and outputs rather than pointers or
pass-by-copy
- Take the time to write multiple prototypes if you'd like to have
optional parameters with default values
- External dependencies (besides Eigen, OpenGL, etc.) are discouraged
- External dependencies must be clearly identified at the top of each
file.
- Single header external dependencies can go in the external/
directory
- Do not use the using namespace directive anywhere. This means never
write:
"using namespace std;"
or
"using namespace igl;"
etc.

= Specific style conventions =

Each file should be wrapped in an ifndef compiler directive. If the
file's (and function's) name is example.h, then the ifndef should be
#ifndef IGL_EXAMPLE_H
#define IGL_EXAMPLE_H
...
#endif

Each file should begin with prototypes *without implementations* of
each version of the function. All defined in the igl namespace. Each
prototype should have its own comments describing what it is doing,
and its templates, inputs, outputs.

Implementations should be at the end of each file, separated from the
prototypes using:
// Implementation

Any includes, such as std libraries etc. should come after
the //Implementation separator (whenever feasibly possible).

Be generous by templating your inputs and outputs. If you do use
templates, you must document the template just as you document inputs
and outputs.