Commit Graph

404 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 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 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 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 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 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
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
Nico Pietroni b01f2c111e changed some method to work with polygons 2014-04-24 16:08:33 +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
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 309d1e3289 added a missing RequirePerFaceMark in the Marker Class 2014-04-17 08:51:53 +00:00
Paolo Cignoni 612fd0d226 Derived the volume class from the basicGrid class to have all the helpers for transforming coords from voxel space to the original space 2014-04-17 08:15:18 +00:00
ganovelli 5a4b97a559 cleaning am some tuning 2014-04-16 10:29:05 +00:00
Nico Pietroni 7bb5f1d041 resolved 1 bug in QualityEdgePredicate 2014-04-07 06:27:56 +00:00
Nico Pietroni 274a391b1a resolved some compilation issues 2014-04-07 06:27:28 +00:00
Paolo Cignoni a3ad95f64e Better management of placement of delaunay midpoint vertices when generating the delaunay triangulation and some constrained vertices are involved. 2014-03-27 16:48:32 +00:00
Paolo Cignoni c3f7b86500 Some changes to the voronoi processing class. Now it performs Loyyd relaxation on constrained elements only keeping into account the constrained set. In other words sample on the boundary are relaxed only keeping into account of he other boundary vertexes This will result in much better distributions of samples on the boundaries.
Improved also boundary management in the refinement/spring relaxing. 
Added a parameter for controlling the preprocessing refinment
2014-03-18 11:27:46 +00:00
Paolo Cignoni 185c0f7152 Converted to the use of the internal Index function to get the index of an element 2014-03-18 11:24:25 +00:00
giorgiomarcias 7a9b33fcc5 Corrected a bug which could happen because of memory not released. 2014-03-14 14:56:17 +00:00
giorgiomarcias 833cc12e38 Added a (useful) static method to split a given polychord into a number n>1 of polychords. 2014-03-11 15:06:07 +00:00
Nico Pietroni 4e4d5edeb7 some minor modification to give the possibility to specify the interpolation function for refinemenent 2014-03-07 16:32:06 +00:00
Nico Pietroni 9e2643a90d corrected one bug during collapses.. have to check link conditions 2014-03-07 10:35:36 +00:00
Nico Pietroni a6966b7ba0 first release version 2014-03-06 16:54:42 +00:00
Luigi Malomo 62ad64fdac fixed bugs in the harmonic field computing algorithm 2014-03-05 13:14:48 +00:00
Paolo Cignoni 323362697a Changed to trisplit to make it c++ 01 compliant 2014-03-04 17:18:03 +00:00
Paolo Cignoni dc71da4424 removed useless print from voronoi parametrization 2014-03-04 00:53:39 +00:00