* better documentation, test against eigen slicing
* remove a bunch of slices
* clean up templates; static asserts on vector types
* final purges of slice
* fix templates in debug and ears test
* fix slice mask bug
* fix slice bug
* boo. try to get around windows poor template deduction
* annoying left over bad windows ❄️ template
* readPLY: dont touch unread; point_mesh... dim pattern
* static asserts in pseudonormal test
* better handling of dimensions in signed_distance
* test fixed column case
* fix a couple warnings
* fix a bunch of warnings (mostly unused variable)
* fix a bunch of warnings and simplify params
* Special assert so that variables aren't seen as unused
* fix tutorial
* undo erroneous line removal
* ASSERT -> IGL_ASSERT
* VSC ❄️ doesn't realize MAX_DEPTH is conts
* split up 406; cmake
* split up 716
* rm old file
* 716 changes to main
* 709 split up
* missing include
* special syntax for windows ❄️
* stupid windows struct/class
* split up 805
* split up 610)'
* ENH: separate png from opengl, by splitting it into stb and opengl_image modules
Added a unit test for PNG,BMP,TGA,JPG reading and writing
Renamed module png to stb
Renamed functions readPNG to read_image and writePNG to write_image
* name folder by dependency; consistent arg order
---------
Co-authored-by: Alec Jacobson <alecjacobson@gmail.com>
* Fix `blue_noise` and `random_points_on_mesh` reproducibility
- added new overload for `blue_noise` and `random_points_on_mesh` for that accept an UnformRandomBitGenerator as input. The default signature (ie without URBG) still works, and uses by default std::minstd_rand initialized with random seed generated by std::rand(). This is following the existing behaviour of `randperm`.
- added reproducibility test case for `blue_noise` and `random_points_on_mesh`
* `blue_noise` and `random_points_on_mesh` overloads without an URBG parameter now use a fixed default seed
ie `std::minstd_rand()`
default seed
* Fix static compilation of tutorials
* revert to jdumas std::rand seed for default
* missing templates on linux
* more missing linux templates
* use std names rather than expansions in explicit templates
---------
Co-authored-by: stourneux <stourneux@buf.com>
Co-authored-by: seb-tourneux <sebastientourneux1@gmail.com>
* Calculate boundary conditions for cage faces
* Remove std:: prefix to conform to original libigl
* Adjust tests to new boundary_conditions(...)
* Adjusting tutorial 403 to new boundary_conditions(...)
* Removing unnecessary include
* Remove tolerances from boundary conditions for cages to prevent dups
---------
Co-authored-by: Daniel <daniel.stoeter@gris.tu-darmstadt.de>
Co-authored-by: Alec Jacobson <alecjacobson@gmail.com>
* basic config file
* documentation for two funcs
* better theme; subnamespace
* A-c
* documentation for all core headers
* more documentation
* documentation for all headers (except a few classes)
* rm accidental comment on igl
* just h
* typo
* accidental delete
* fix compile issues
* add main page [ci skip]
* relative include paths
* relative include paths
* inexplicably need two more templates
* rm get_seconds_hires
* make fwn namespace private for dox
* hide internal fwn from documentation
* fix doc
* rm deprecated euler
* rm __1
* Added code for fast triangle-triangle intersection checking and function for fast detection of mesh self-intersections and mesh-to-mesh intersections withoug CGAL
* Fixed auto parameters in lambda helper function
* Replaced cbegin/cend with begin/end
* Fixed auto parameters in lambda helper function
* Added tests for igl::tri_tri_intersection_test_3d
* Added more tests, converted macros in Guigue2003_tri_tri_intersect.cpp to proper c++
* Renamed files and function names to follow IGL guidelines,
added reference to the original license for tri_tri_intersect
* Update715_MeshImplicitFunction #2088
Replace the copyleft marching_cubes function with native the libigl one.
* Fix static lib compilation for sample 715
* bump cgal; parallel remesh; templates; outer*
* more parallel; fewer copies; uE2E→uEC,uEE
* rm spurious warnings leftover from debuggin'
* fix __1; add back many templates
* missing templates
* use CGAL::Epeck::FT in templates directly
* inline to fix header only
* cgal bump requires bumping cmake and boost
* template hell on windows
* fix windows templates to compile on mac os
* fix templates to work on linux
* more template hell; simplify some, use pttr_t, split legacy
* rename legacy fix includes
* fix orientation bug
* missing templates
* abstract templates
* assign overload + templates
* missing templates + missing overload
* merge with main
* special template for windows ❄️
* Selection Plugin and Tutorial Entry
* rm __1::
* templates; and dont take F as input
* missing template, fix bug
* better commenting
* windows doesn't understand M_PI
* Use ImGui::SetNextWindowSize
Co-authored-by: Jérémie Dumas <jeremie.dumas@ens-lyon.org>
* Added simple raytracing renderer which allows off-screen rendering of meshes.
Using embree (already included in libigl). Addresses #1458, #601
Does not depend on OpenGL.
Tutorial example renders `fertility` example with average gaussian curvature field, in 0.1 sec.
* Separated EmbreeDevice
* Changed singleton pattern, updated variable name, removed EmbreeDevice.cpp