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
Paolo Cignoni
2254e98779
slightly improved comments and a missing requirement
2014-03-04 00:39:27 +00:00
Paolo Cignoni
a6cc8ccd56
Renamed voronoi_clustering -> voronoi_processing
2014-03-04 00:38:36 +00:00
Paolo Cignoni
5dcc53d63c
Heavyly restructured the voronoi processing class (to be renamed). See the new trimesh_voronoi sample how to use it in the correct way.
2014-03-04 00:37:01 +00:00
Paolo Cignoni
92d6da43d5
Added the possibility for the plain midpoint class to allow also the correct interpolation of userdefined data by providing, in the constructor, an interpolator functor that will be called for each new vertex to be created.
2014-03-04 00:35:44 +00:00
Paolo Cignoni
60c32eeeee
Better comment and renamed a template
2014-03-03 07:45:00 +00:00
Paolo Cignoni
e99ae117de
Harmless warning (unsigned vs signed int)
2014-02-25 17:40:36 +00:00
Paolo Cignoni
ce9c2c1661
Updated the use of eigen sparse matrix to the current official version (was using the old experimental branch)
2014-02-25 17:39:51 +00:00
Luigi Malomo
a472e201a3
added algorithm to compute harmonic fields.
2014-02-21 14:37:20 +00:00
Paolo Cignoni
7cfd407a2f
Refactored Smooth::FaceNormalLaplacianVF
2014-02-19 15:27:01 +00:00
Paolo Cignoni
2e18e0650a
Added a RequireTriangularMesh
2014-02-19 14:39:30 +00:00
Paolo Cignoni
18c0ac1681
Refactored selection face from vertices algorithms and added requiremnts for triangular mesh for the algorithm selecting vertices starting from face border flag
2014-02-19 14:38:54 +00:00
giorgiomarcias
4cc8a7c919
Corrected a wrong behavior in case of a polychord having singularities on one side and a regular (ring) border on the other, which must not be collapsed.
2014-02-19 09:32:35 +00:00
Paolo Cignoni
6f7e2872af
Removed useless include
2014-02-18 20:18:13 +00:00
Paolo Cignoni
d07b9b0c91
PolygonalMesh Debugging: corrected typo in the name of the polychord class
2014-02-18 11:03:42 +00:00
Paolo Cignoni
f896e9bd3e
PolygonalMesh Debugging: corrected typo in the name of the polychord class
2014-02-18 11:01:15 +00:00
Nico Pietroni
30fb536c78
added initial Nrosy interpolation functions
2014-02-16 16:36:22 +00:00
giorgiomarcias
22a3e51d1a
Corrected some updating selection functions to manage polygonal faces instead of just triangular ones.
2014-02-15 20:56:36 +00:00
giorgiomarcias
628fc52a42
Removed debugging printings in polycoord collapse.
2014-02-15 17:10:56 +00:00
giorgiomarcias
b15e3285c2
Some bug fixes in case of meshes with borders.
2014-02-14 10:36:12 +00:00