Commit Graph

5221 Commits

Author SHA1 Message Date
Marco Callieri 0ba814697c Poisson sampling was ignoring the DELETED flag, so when a part of a mesh was deleted but still in memory, would sample it. added a couple of if(!(*vi).IsD()) tests in [InitSpatialHashTable], [ComputePoissonSampleRadii] and [PoissonDiskPruning].
Seems to work, but please test it. 
Beware: there could be more places where this is needed; I only checked poisson.
2014-01-21 14:59:45 +00:00
Marco Callieri 17ed6bdac4 in the function used to compute normals for pointclouds, added a check during consensus propagation to avoid flipping normals backface w.r.t. the specified wiewposition.
It does seem redundant, but it may happen, by mere chance, that the starting point used for consensus propagation, forces other points to flip even if the resulting flip places them backface w.r.t. the specified wiewposition
--to be tested--
2014-01-10 13:00:09 +00:00
Paolo Cignoni c0b621c810 updated the voronoisampling sample to show the new features of the recent changes to the voronoi relaxation framework. 2013-12-20 11:47:58 +00:00
Paolo Cignoni e4311e9d5a Added comment to voronoi parameter 2013-12-20 11:46:50 +00:00
Paolo Cignoni 2df9b39d16 Further clean up of the voronoi relaxation framework. changed the old VoronoiClustering to ConvertToDelaunayTriangulation (for coherence with the other function) and rewrote its code. 2013-12-20 11:44:18 +00:00
Paolo Cignoni 91946b7847 Added basic link condition for FF adjacency and VVOrderedStarFF 2013-12-20 11:42:27 +00:00
Paolo Cignoni ab5869f6c3 Added the possibility of constraining the movement of some seeds onto a specific domain. Now during relaxation you can for example fix some seeds and constrain some other seeds over linear features defined as subset of vertices. 2013-12-20 02:33:36 +00:00
Paolo Cignoni d1a5d53a89 added VertexBorder sampling algorithm that simply collect all the vertexes on the boundary. 2013-12-20 02:27:09 +00:00
Paolo Cignoni 2acd02f102 Added RequireCompactness to the basic exception throwing requirements that you can write at the beginning of an algorithm 2013-12-20 02:24:22 +00:00
Paolo Cignoni 4897d75026 Added MissingCompactnessException to the basic vcg exceptions 2013-12-20 02:23:24 +00:00
Paolo Cignoni 4b8673b60b Added a few more helper functions for Logical to Device conversion 2013-12-16 16:21:05 +00:00
Paolo Cignoni ad2cb4678a Converted to support highdpi devices 2013-12-16 12:15:20 +00:00
Paolo Cignoni eecaf72e1b added a missing include 2013-12-16 12:14:53 +00:00
Nico Pietroni 45c93e47f0 corrected 1 warning 2013-12-16 12:07:54 +00:00
Nico Pietroni c1403e2fef - added FaceSaturate function
- corrected vertex from face quality copy
2013-12-16 12:07:26 +00:00
Nico Pietroni 6103db925f removed 1 warning 2013-12-16 12:06:34 +00:00
Paolo Cignoni 78c58e8d14 Yet more changes and addition to improve compatibility with high dpi devices (like retina) 2013-12-16 11:34:17 +00:00
Paolo Cignoni 999d442dda Added 'inline' to the newly added qt event translator helpers 2013-12-13 09:29:13 +00:00
Paolo Cignoni fc047dbe3f updated the basic qt opengl example to support qt 5.0 ways of managing coords
(simply use the new QT2VCG_X/Y helper functions to translate mouse events)
2013-12-13 07:57:08 +00:00
Paolo Cignoni 276438958f Added two helper function to correctly translate QT mouse events into coords for our trackball.
You must use QT2VCG_X QT2VCG_Y instead of passing the event coords because on newer machines (mac but also win) with very high res monitor, qt events are no more in physical coords.
2013-12-13 07:55:43 +00:00
Paolo Cignoni 94540d3ca6 float -> GLdouble for better compliance... 2013-12-12 21:09:22 +00:00
Paolo Cignoni 88c8bcb293 harmless gcc warning 2013-12-12 20:52:52 +00:00
Paolo Cignoni d44d6e6f41 changed int -> size_t to remove warnings 2013-12-12 20:52:07 +00:00
Paolo Cignoni 43b738796d Significantly improved documentation. Refactored a bit some of the Add* for better readability 2013-12-12 20:35:27 +00:00
Federico Ponchio 030d966b4a added #include <string.h> for memcpy 2013-12-11 14:20:17 +00:00
Paolo Cignoni ecf5bfeeb2 Added a if(!TMId.empty()) before attempting to bind a texture id from an empty vector... 2013-12-06 10:16:59 +00:00
Paolo Cignoni 6f83d41dbe added a missing &* to convert a returned iterator to a pointer in the allocator sample 2013-12-06 07:07:45 +00:00
Paolo Cignoni 6c883d3cf3 Added a few assert to prevent the spread to trash data during voronoi relaxation 2013-12-05 22:35:25 +00:00
Gianpaolo Palma 89039d6658 Inverted face orientation for the Box 2013-12-05 17:43:36 +00:00
Paolo Cignoni 85ac0b3c4b removed a spurious debug exportply 2013-12-04 17:37:41 +00:00
Paolo Cignoni ce859f666e improved documentation. Added new allocator methods and clarified a bit how to delete elements 2013-12-04 17:26:38 +00:00
Paolo Cignoni d63fba2214 improved documentation. Added new allocator methods and clarified a bit how to delete elements 2013-12-04 15:33:11 +00:00
Paolo Cignoni 6bd3faae14 removed a wrongly surviving duplicate copy of the space/point_matching.h. It was moved one years ago but for some strange svn reasons it was still around...
Killed.
2013-12-01 22:54:33 +00:00
Luigi Malomo 087e22ca5f added new version of anttweakbarmapper for qt to properly handle the alphabetic character keys. 2013-11-29 17:40:16 +00:00
Paolo Cignoni fd09d6fee2 Added standard heading comment to the newly added file. 2013-11-28 23:39:45 +00:00
Paolo Cignoni a5f46ed452 Added sample for cylinder clipping 2013-11-28 23:39:02 +00:00
Paolo Cignoni 6762cdbacb First version of the cylinder clipping procedure.
Now it cut the mesh (the cap part is still lacking...

See the app/trimesh_cylclip example
2013-11-28 23:30:35 +00:00
Paolo Cignoni 993a9a2c5b Tricky Change to the refine interface. Now the edge and midpoint predicate are passed as reference so if you need you can make predicate with state. This is useful when the edge and midpoint predicate share a lot of common information and you want exploit the computation done in the edge predicate (e.g. sometimes when you decide if an edge has to be split you already know where the vertex should be placed). 2013-11-28 23:29:06 +00:00
Paolo Cignoni fd08c3eaf8 added two missing std at a swap() 2013-11-28 23:26:06 +00:00
Gianpaolo Palma eeaabe684c Compiling errors fixed in the function ClosestPoint2Box2 2013-11-28 16:34:20 +00:00
Gianpaolo Palma d6ebee2d98 Removed old includes and added include for complex.h 2013-11-28 15:06:28 +00:00
granzuglia fa8a11fd32 - added missing include 2013-11-28 12:55:58 +00:00
Gianpaolo Palma 11bbe2e63a Include changes to fix some compile errors with Glew 2013-11-28 11:04:59 +00:00
Paolo Cignoni 1039148025 updated the sample to the changes in voronoi_clustering.h 2013-11-27 17:46:09 +00:00
Paolo Cignoni 74749469e1 Added distance based relaxation option instead of the standard geodesic relaxation 2013-11-27 17:24:04 +00:00
Paolo Cignoni 1c20f47552 added OrientedCylinder to primitive creating functions 2013-11-26 11:49:47 +00:00
Paolo Cignoni 604bc3903f 2013-11-25 13:12:09 +00:00
Paolo Cignoni 063346e3b1 Small refactoring (better parameter names, gcc warning) 2013-11-25 12:59:48 +00:00
Paolo Cignoni 303d4e1fca factored out the internal fan tessellator from the obj to a generic place to be used also in other importers 2013-11-25 12:49:12 +00:00
Paolo Cignoni bc218b8201 Include header cleaning and reordering. 2013-11-25 12:47:20 +00:00