Commit Graph

5126 Commits

Author SHA1 Message Date
Paolo Cignoni 7c93452e94 Just refactored a bit the simple volume class used for example in the marching cube 2014-05-21 11:49:29 +00:00
Nico Pietroni 773e2bdb1e corrected minor warnings 2014-05-21 02:01:06 +00:00
Paolo Cignoni 8ba0e6d6aa Added method PerBitPolygonFaceNormalized for computing normals for polygonal meshes kept with fauxbit.
Added a few Require just for safety
2014-05-20 22:30:59 +00:00
Paolo Cignoni 44741d7f36 Added a few requirement of polygonal and triangular meshes to clarify usage 2014-05-20 22:29:25 +00:00
Paolo Cignoni 1baf0f3727 Added RequirePolygonalMesh invariant to the list of the exception throwing utility 2014-05-20 22:28:30 +00:00
Paolo Cignoni d2131fd436 Corrected small bug in the ExtractPolygon function that collect all the tri of a polygonal face 2014-05-20 20:48:04 +00:00
giorgiomarcias 1803989930 Added two methods for computing normals of polygonal meshes. 2014-05-20 15:55:58 +00:00
Paolo Cignoni 2b3bb02be0 harmless gcc warning 2014-05-16 08:43:00 +00:00
Paolo Cignoni 48f9487eaa First draft version of the volumetric version of voronoi sampling 2014-05-15 16:49:38 +00:00
Paolo Cignoni b572187a63 added yet another wrapper for the Allocator Add face. it is quite useful to add faces just with indexes... 2014-05-15 16:31:39 +00:00
Paolo Cignoni 3b7753ef20 Many Changes to point sampling:
- Heavy refactoring (typename changes, declaration etc) for clarity and shortness
- add a reset() method to the sampler interface
- changed the way used to get a weight in the sampling process now the variance is used to map the 'metric' along 1 and <variance>; Made it uniform in poisson and montecarlo sampling.
- changed the way in which the weight is used/passed: now with attribute!
- added exact number poisson disk pruning.
- stats are always computed (no performance impact clearer code)
2014-05-15 10:35:08 +00:00
Paolo Cignoni 4fc8ed68ba Small refactoring (using pos) 2014-05-15 05:36:53 +00:00
Paolo Cignoni 51599b37ca *** EIGEN UPDATE *** updated the eigen library to the 3.2.1 version (feb 2014) 2014-05-14 15:20:00 +00:00
Paolo Cignoni 53dbae6626 Added the automatic fixing of the constrained vertices after the constrained relaxation. 2014-05-13 15:34:26 +00:00
Paolo Cignoni 5b4357f9bb Refactored the ComputeFaceEdgeLengthDistribution function. Now it collects info about the edges also complying fauxedges and polygonal meshes. 2014-05-13 10:55:53 +00:00
Paolo Cignoni db0a706384 Added methods to Histogram and Distribution to get back the number of inserted samples and their total sum 2014-05-13 10:54:42 +00:00
Paolo Cignoni 5c7949d261 Corrected a bug in the faux edge creation for box/cube 2014-05-13 10:51:11 +00:00
Paolo Cignoni 4a449c8669 Added Spherical Cap primitive and functions to convert a mesh into a set of cylinders and balls to get a solid wireframe representation. 2014-05-13 09:54:48 +00:00
Paolo Cignoni 4e4775ac60 refactored for shortness and efficiency the heavily used FillEdgeVector that collect all the edges of a mesh 2014-05-13 09:52:17 +00:00
Paolo Cignoni b79c323a77 Added relaxOnlyConstrainedFlag to the voronoi processing relax procedure that allow to relax only the vertexes that are constrainted (onto their domain) ignoring all the other samples (except the fixed one). It allows to get more even distributions on the constrains. 2014-05-09 21:50:28 +00:00
Paolo Cignoni 329057ea96 Corrected position of the vertexes on the border of the voronoi diagram (middle of edge and not middle of face!) 2014-05-07 14:41:44 +00:00
Paolo Cignoni fc22d7d3a6 Added normal reorientation of the mesh (each reglon of was randomly oriented) 2014-05-07 14:28:14 +00:00
Paolo Cignoni 07ab76d93e removed unused variables 2014-05-07 09:22:53 +00:00
Paolo Cignoni e362aef041 Corrected bug in the faux edge setting when loading polygonal meshes. 2014-05-07 09:21:46 +00:00
Federico Ponchio cf2495aaac fixed qgetoptz 2014-05-07 09:04:34 +00:00
Paolo Cignoni 7b18a903ec removed a forgotten debug printf 2014-05-07 07:50:02 +00:00
Paolo Cignoni 3963786487 Complete rewrote of the function that convert a mesh with a set of seeds and geodesic distances computed from them into a voronoi diagram mesh. Now works also in strange cases (like almost degenerate regions) 2014-05-06 23:13:22 +00:00
Paolo Cignoni 9de6cde470 Improved polygonal support. Refactored convert tri to poly. Added support for face color and face quality 2014-05-05 23:23:19 +00:00
Paolo Cignoni 6e221cc7ab assert replaced with a require 2014-05-05 21:50:18 +00:00
Nico Pietroni f72e9a1481 corrected one bug to make the refine predicate do not refine when the edge is perfectly aligned with the distance function (and both or just one value is zero) 2014-05-04 23:33:31 +00:00
Nico Pietroni e57b89945f corrected some warnings relative to unreferenced variables 2014-05-04 23:32:33 +00:00
giorgiomarcias 8f72b462eb Corrected a silly bug causing the polychord collapse process a strange behaviour (also some crash) when compiled with c++11. Changed also recursive types (forward declarations) avoiding pointers (by using vectors - rather than lists - and indices). 2014-05-04 18:53:31 +00:00
ganovelli d88a1f9772 fixed string-related bugs in reading file images 2014-04-28 15:37:36 +00:00
Paolo Cignoni 115bb8a701 added QTDeviceToLogical for QWidgets 2014-04-28 13:30:27 +00:00
Paolo Cignoni 8825048e46 BUG corrected: missing initialization of optional per face color data. 2014-04-28 12:01:56 +00:00
Paolo Cignoni 81ab17c28a commented out unused local variable 2014-04-25 09:21:41 +00:00
Nico Pietroni b01f2c111e changed some method to work with polygons 2014-04-24 16:08:33 +00:00
Nico Pietroni 2f871fc16e corrected one bug in Add to insert the value in last bin since upper bound is +inf 2014-04-24 16:07:13 +00:00
giorgiomarcias cf1a476116 Corrected a bug arising when splitting a polychord with at least a 2-valence vertex (causing the polychord to blend and touch itself - wrong adjacency were computed before). 2014-04-22 10:26:15 +00:00
Gianpaolo Palma fe0a137812 Bug fixed in the save of the edge data in a binary PLY 2014-04-18 15:40:23 +00:00
Paolo Cignoni 30a7ecf743 4pcs: Small optimization (preallocation of vector instead of pushback) 2014-04-18 13:39:52 +00:00
Paolo Cignoni b01b731b75 Removed useless member variables, Exposed normal tolerance, added random seed control for safe testing. Added early rejection testing in IsTransfCongruent (40% speedup). 2014-04-18 08:33:25 +00:00
Paolo Cignoni e532407ddc Added the possibility to control the random generator seeding in the poisson pruning wrappers 2014-04-18 08:27:38 +00:00
Paolo Cignoni 245931d93d Still refactoring. Now substituted montecarlo with poisson disk sampling 2014-04-18 06:04:18 +00:00
Paolo Cignoni e353355f12 corrected a small syntax error introduced in the last commit 2014-04-17 13:53:55 +00:00
Paolo Cignoni 6e4edddcf5 Corrected a small syntax error in the last commit of point_sampling 2014-04-17 10:11:43 +00:00
Paolo Cignoni d5e181b445 Heavily refactored 4PCS.
Some of the things done:
- better random generator
- small optimization (removed O(n) update bb
- exposed parameters 
- renamed for uniformity variables.
2014-04-17 09:53:33 +00:00
Paolo Cignoni 4be7b59a80 Added TrivialPointerSampler to sample a mesh returning pointers to the chosen vertexes.
Added another poisson pruning wrapper to make even easier to choose a subset of vertexes from a mesh with good distribution.
2014-04-17 09:51:48 +00:00
Paolo Cignoni 03206b6bc4 Added a VectorConstDataWrapper to simply create a kdtree from a vector of point3f 2014-04-17 09:50:21 +00:00
Paolo Cignoni dbe0d2b7f5 Wrapper to AddVertices() to add, with a single call, a single vertex with given coords and normal 2014-04-17 09:49:40 +00:00