Commit Graph

806 Commits

Author SHA1 Message Date
Paolo Cignoni 5a29812d7b Corrected harmless warnings 2017-03-02 10:11:00 +01:00
Paolo Cignoni 4046f82f75 Corrected harmless Warnings 2017-03-02 10:10:18 +01:00
nico 73a89349da refactored a bit the code and cleaned some commented function 2017-02-24 18:21:21 +01:00
Paolo Cignoni 0478f436b4 Cleaning unused stuff and better comments 2017-02-21 17:47:29 +01:00
Paolo Cignoni 82ddb476a4 Heavy refactoring. Closing #12
Many changes, improved general robustness and added more options to
customise the behaviour.
Added control on quality quadric, Hard normal flipping check,
SVDPlacement that find better optimal position and many other small
optimizations.
2017-02-21 17:46:46 +01:00
Paolo Cignoni 95da297c18 Better Comment and a bit of refactoring 2017-02-21 17:15:05 +01:00
Paolo Cignoni bdd25079ac Added evaluation of Koenderink's Shape Index and Curvedness from curvature 2017-01-29 18:20:07 +01:00
nico c858faab65 corrected template parameter of VertexBorderCorner function 2017-01-27 12:20:31 +01:00
nico 7ddf4d27eb removed some commented code 2017-01-27 12:18:46 +01:00
Paolo Cignoni 3df00a5ffe Corrected small bug in Smooth VertexCoordPlanarLaplacian 2017-01-26 19:01:43 +01:00
Paolo Cignoni 4529d09e58 Removed hard coded eigenlib path from the include. So you are free to use the version of eigen you prefer.
Note that since this commit in your projects you must add also the
eigen folder to the include path.
2017-01-26 15:31:53 +01:00
nico 8eda1c1d2f added ComputePerFaceQualityAvg function 2017-01-25 17:27:46 +01:00
nico 555fd55b35 added VertexValence function 2017-01-25 17:27:25 +01:00
nico 2e3e2d5194 moved VertexBorderCorner function in updating flags 2017-01-25 17:26:57 +01:00
nico 4b29ec5ef6 first release version of polygonal algorithms methods 2017-01-25 17:25:26 +01:00
nico b482aa3cbe first version of Dual meshing with sample application 2017-01-23 17:22:44 +01:00
nico 84913a7d54 added expectedValence function and solved minor bugs 2017-01-23 16:24:29 +01:00
nico 8c2dcdffe8 added VertexQualityTaubin function 2017-01-23 16:17:19 +01:00
Paolo Cignoni ee9c389418 Rewrote the RemoveUnreferenceVertex to not use bit flags. 2017-01-22 00:32:44 +01:00
Paolo Cignoni 611341b754 Refactoring of the voronoi processing framework
factored out the point sampled distance computation and the approximate
skeleton
2016-12-20 09:12:50 +01:00
Paolo Cignoni 32680eac28 Function Name Change FaceGrid -> SparseFaceGrid 2016-12-20 09:12:50 +01:00
Paolo Cignoni 6e63061a5a Improved documentation, templates a point3f as coordtype, added a function for returning the sampled vector 2016-12-20 09:12:50 +01:00
Paolo Cignoni 3742fcef2b Heavily commented, restructured and debugged the basic hole filling code 2016-12-12 15:33:34 +01:00
Paolo Cignoni 5e03df37b7 Corrected bug in the BuildMeshFromCoordVectorIndexVector
And improved comment on usage
2016-12-05 13:04:51 +01:00
Paolo Cignoni a850722639 changed a */* into a * /* to avoid a warning 2016-12-04 12:08:29 +01:00
Paolo Cignoni 2a31fb8201 added include<time .h>
it is included only in files that make use of timings functions
2016-12-04 12:07:19 +01:00
Paolo Cignoni 4f34f2d78e harmless clang warning
format specifies type 'unsigned long' but the argument has type
'size_t' (aka 'unsigned int')
2016-12-02 15:36:36 +01:00
Paolo Cignoni 831639d819 Refactoring and cleaning of the plymc surface reconstruction algorithm 2016-11-24 17:13:35 +01:00
Paolo Cignoni cff044ca38 Header and namespace cleaning 2016-11-24 17:13:35 +01:00
Paolo Cignoni 22b633c9c2 Corrected bug of trivial walker when used on a sub volume 2016-11-24 17:13:35 +01:00
Marco Callieri c21c89b35c symmetry: added FaceMark to plane-generating sphere
if the parametric sphere used for plane geenration does not have
FaceMark, the votation function throws an exception of missing
component.
2016-11-10 09:46:49 +01:00
nico 102a211728 Updated Face face Topology before Quadrangulation 2016-11-02 12:14:39 +01:00
nico 5a12a2899a Generalized FaceFromVertex to works on polyhedral faces 2016-11-02 12:14:39 +01:00
Paolo Cignoni f9169b8ec2 Refactored a number of cleaning algorithms
Issues resolved:
- removed assert and used the correct meshassert exceptions
- removed wrong use of selection instead of visiting flag (various
filters destroyed selection when called)
- rewrote a totally clumsy count hole.
2016-11-02 12:11:18 +01:00
Paolo Cignoni 0b135dbc01 Stupid me. Wrong braces in previous commit 2016-11-02 11:44:06 +01:00
Paolo Cignoni e7a5c27693 Added OnlyEdgeMesh precondition in MeshAssert 2016-11-02 11:23:25 +01:00
Gianpaolo Palma 48818b4e40 Added functions for FaceType in the EmptyTMark class 2016-10-18 13:38:10 +02:00
Guido Ranzuglia 20fa52181f - fixed "if there is color both vertex/face colors are enabled even if there is just one of them" bug 2016-10-13 04:28:00 +02:00
Guido Ranzuglia 5e89a6a5f7 - roll back 2016-09-12 09:01:40 +02:00
Guido Ranzuglia cb4f24383f - various bugs fixed 2016-09-12 08:58:29 +02:00
Guido Ranzuglia 01787cad96 - rolled back to previous github version of the file 2016-09-08 05:25:43 +02:00
Guido Ranzuglia 16879ec6ca - removed "no texture binded with per points vertex texture modality" bug 2016-09-08 05:22:53 +02:00
Paolo Cignoni f2731fccff Removed useless preserveSelection flag
it is meaningless to have this option in a function that start from
current selection…
2016-07-31 12:37:51 +02:00
Paolo Cignoni f20540d563 Corrected a Meshlab leftover (Scalarm->ScalarType 2016-07-17 16:48:29 +02:00
nico b4c76bc03c fixed bug 2016-07-15 14:36:08 +02:00
Marco Callieri bdec7f527c added new Perlin coloring function
New function ot mix two input colors according to perlin noise
2016-07-14 18:37:08 +02:00
Paolo Cignoni 78254e94af First version of the plymc vcg surface reconstructor 2016-06-14 22:46:23 +02:00
Paolo Cignoni 95f6acd9fa moving plymc core from meshlab to vcglib 2016-06-14 19:30:34 +02:00
Paolo Cignoni 32333eba24 Huge copyright sanitization of the header files of vcg folder. 2016-06-13 05:29:25 +00:00
Paolo Cignoni a690c99fee Updated copyright disclaimer of the mc lookup table file after the explicit copyright transfer allowed by the original author of the file (Thomas Lewiner) 2016-06-13 05:28:31 +00:00
Paolo Cignoni 05f1e10d19 Removed unsupported emc 2016-06-13 05:23:20 +00:00
Paolo Cignoni 7cea7b7bfc small refactoring 2016-06-13 04:53:48 +00:00
Paolo Cignoni f250e7fcd7 Improved distance field volume reconstruction. 2016-06-13 04:48:23 +00:00
Paolo Cignoni 682586d0fa small change to refactor the use of viewpoint for normal disambiguation 2016-06-12 21:09:13 +00:00
mtarini 9c310f6ab4 Made AllocateEdge correctly compute per-edge border flag (whenever edges have flags) 2016-06-09 14:32:40 +00:00
Nico Pietroni aeffdc1090 minor changes on defaults parameters 2016-06-09 12:13:11 +00:00
Nico Pietroni c87a7105d6 changed DifferenceLineField to measeure the angle instead of the dot product 2016-06-09 12:10:41 +00:00
Nico Pietroni ae92d06e4e minor warning resolved 2016-06-09 12:09:12 +00:00
Paolo Cignoni 751a4ae261 corrected syntax error in use fo IsValidPointer 2016-05-11 10:55:28 +00:00
granzuglia a5f3b19d9d fixed compiler error (added a double cast) 2016-05-06 09:13:09 +00:00
granzuglia 673be536c4 added missing include 2016-05-06 02:16:24 +00:00
Nico Pietroni 15cd436f90 Added the possibility of smoothing the Quality 2016-05-01 15:34:53 +00:00
Nico Pietroni e091e22735 indented and minor changes 2016-05-01 15:34:32 +00:00
Nico Pietroni d91e861ab5 changed float to ScalarType in VertexSaturate function 2016-05-01 15:32:57 +00:00
mtarini 5c37e87b06 SetQasDistorsion now: (1) returns the total per-mesh distortion, properly aggregated (2) can compute L2 and L-inf energies 2016-04-13 11:46:38 +00:00
mtarini 480af9d03d fixed compile-time compatibility toward meshes without Tangent Dirs 2016-04-13 11:33:59 +00:00
Paolo Cignoni e4fce70f35 Temporary Commit. Still to be improved the CurveOnManifold framework... 2016-04-12 08:35:21 +00:00
Paolo Cignoni 45881efd75 Added TestVertexEdge to check correctness of vertex edge adjacency relation 2016-04-11 20:37:05 +00:00
Paolo Cignoni 71ae65fde7 Modified according to the changes of edge::VVStarVE 2016-04-11 20:34:56 +00:00
Paolo Cignoni 298714ccea Refactored and commented. Now can also cut along non faux edges 2016-04-02 08:30:24 +00:00
Paolo Cignoni 9720d0c5a6 better comments 2016-04-02 05:42:28 +00:00
Paolo Cignoni f4686b3e0f Added Parula-like color map
removed bug on un-clamped set gray
2016-03-31 13:48:45 +00:00
Paolo Cignoni 73b0576edf Significantly refactored. Renamed a bunch of variables, removed useless parameters. Corrected various minor bugs. Changed the semantics of quality weighting (was bugged!) 2016-03-24 14:17:34 +00:00
Luigi Malomo 0aec75be39 added option for computing biharmonic field 2016-03-23 17:08:22 +00:00
Paolo Cignoni 7b89a1f125 Refactored a bit SuperQuadric functions (suggestion of David Cattermole) 2016-03-08 18:50:26 +00:00
Paolo Cignoni 247177a584 Corrected missing return value in SplitSelectedVertexOnEdgeMesh (thanks to David Cattermole) 2016-03-08 18:49:49 +00:00
Paolo Cignoni 4867a33379 corrected error in the formula of supertoroid: wrong radii usage 2016-02-17 11:11:19 +00:00
Paolo Cignoni b035dc8ba7 corrected surface orientation of supertoroid 2016-02-12 22:40:15 +00:00
Paolo Cignoni 3e1fdd802d Re-oriented torus so that it is created as expected on the xy plane and with the z axis symmetry 2016-02-12 07:02:44 +00:00
Paolo Cignoni a03703e2e6 Factorized better the volume creation part 2016-02-12 06:55:09 +00:00
Paolo Cignoni 98f1a78882 harmless clang warning 2016-02-12 06:54:20 +00:00
Paolo Cignoni 13951475e9 Added SuperEllipsoid and SuperToroid functions
Thanks to Antonio Nicoletti
2016-02-11 15:47:06 +00:00
Paolo Cignoni 9edf3201b2 Added surface edge extraction to voronoi edges 2016-02-11 14:55:23 +00:00
Paolo Cignoni b2203ab96a harmless clang warning 2016-02-11 06:09:31 +00:00
Paolo Cignoni c8d5931584 better comments in ransac 2016-02-09 12:13:57 +00:00
Paolo Cignoni cbcc40a8e2 Improved ransac. 2016-02-09 09:35:43 +00:00
Nico Pietroni 83f0deca4d added functionalities to evaluate distortion wrt a cross field 2016-02-08 13:42:29 +00:00
Nico Pietroni 46f8492f05 added check on number of borders 2016-02-08 13:41:33 +00:00
Paolo Cignoni de041d732b first templated version of the ransac framework 2016-02-08 07:01:53 +00:00
Paolo Cignoni 831e3f9036 fine tuning of the voronoi scaffolding engine 2016-02-04 18:18:53 +00:00
Paolo Cignoni 61fa57f561 added missing component to the internal mesh class of voronoi atlas 2016-02-02 15:10:49 +00:00
Paolo Cignoni cc388bebfe moved Redetail sampler class from meshlab to here. 2016-02-02 15:09:54 +00:00
Paolo Cignoni 9412d27833 Significant changes and improvements to the voronoi volumetric sampling framework. Thickness evaluation is almost usable... 2016-02-02 15:06:40 +00:00
Paolo Cignoni ceaa1c7ffb Added ComputeMeshVolume to the Stat<> class 2016-01-30 23:09:05 +00:00
Paolo Cignoni e8c27766a7 Added two methods for point cloud smoothing of quality (median and average) 2016-01-30 23:08:17 +00:00
Paolo Cignoni 3330625ba6 Added a simple IsWaterTight method 2016-01-30 23:05:51 +00:00
Paolo Cignoni 5394d354f9 Minor changes to improve robustness of voronoi retriangulation 2016-01-28 06:47:47 +00:00
Paolo Cignoni 8b9efe576d Added a TrivialMidPoint Refine that always works and do not need any topology... 2016-01-27 22:46:12 +00:00
Paolo Cignoni a437952298 last changes to curve_on_manifold 2016-01-11 15:06:35 +00:00
Marco Callieri 32d500be36 corrected a bug: a pushback of normal was missing in the case (qH[m.face[i].V(j)] == 0) 2016-01-05 10:27:50 +00:00
Marco Callieri d32b8eb287 added a function for calculating the barycenter of a pointcloud mesh (with uniform weight, or using vertex quality as vertex weight). 2016-01-04 13:53:15 +00:00
Paolo Cignoni eb6db70c6b heavy restructuring now start to really work 2015-12-31 11:47:13 +00:00
Paolo Cignoni 399e4b204d added a require per face mark 2015-12-31 11:46:51 +00:00
Paolo Cignoni a6ba20c338 First version of the Curve On Manifold managment class. 2015-12-29 07:22:13 +00:00
Paolo Cignoni 37716e73e5 removed a useless typedef (clang warning) 2015-12-29 07:19:41 +00:00
Paolo Cignoni 132334f878 Significant refactoring of the update selection class. Added many comments. Added to almost all reasonable functions the possibility of preserving/updating the current selection status. 2015-12-29 07:19:02 +00:00
Nico Pietroni ff69fec423 added inclusion of "vcg/complex/allocate.h" and other minor changes 2015-12-24 10:57:33 +00:00
Nico Pietroni 8bc9d1a195 templated ComputePerFaceQualityDistribution on mesh scalar type 2015-12-24 10:53:18 +00:00
Nico Pietroni 04095c6f19 Added CrossFieldToAngles and AnglesToCrossField functions 2015-12-24 10:52:33 +00:00
Paolo Cignoni e878336450 Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges) 2015-12-03 22:59:13 +00:00
Paolo Cignoni 1cd0321916 Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges) 2015-12-03 22:58:23 +00:00
Paolo Cignoni 13b1a8f1d9 Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges) 2015-12-03 22:58:08 +00:00
Paolo Cignoni d628c95688 harmless clang warnings 2015-11-26 22:02:43 +00:00
Paolo Cignoni bc683209eb Working version of volumetric voronoi/poisson sampler 2015-11-26 12:16:36 +00:00
Paolo Cignoni 31289ce372 cleaning harmless clang warning 2015-11-26 12:16:05 +00:00
Paolo Cignoni fc04c15046 Renamed the anonymous Build() functions to something more meaningful 2015-11-26 12:15:09 +00:00
Nico Pietroni c0bc236482 added PerEdgeQualityRamp function 2015-11-23 23:40:47 +00:00
Nico Pietroni 2b367da917 added ComputePerEdgeQualityMinMax 2015-11-23 23:39:32 +00:00
Luigi Malomo 35ed4897f6 uniform edge resampling: added option to force inter-sample distance to be less than the radius 2015-11-06 17:32:29 +00:00
Paolo Cignoni 757039f2b8 Made the midpoint refine operator order independent 2015-11-06 09:44:40 +00:00
Luigi Malomo f7365a3c10 added VertexSetS function 2015-11-05 23:36:09 +00:00
Luigi Malomo 62b7955f22 fixed uniform resampling of edge mesh 2015-11-05 23:35:44 +00:00
Luigi Malomo 1480d19996 commented debug printfs 2015-11-04 17:18:42 +00:00
Marco Callieri a214eb3b66 added option to add "gutter" space around planar parametrization (default is no gutter) 2015-11-04 12:32:35 +00:00
Paolo Cignoni e4d83262fe Corrected a number of int -> size_t warning 2015-10-29 22:56:11 +00:00
Marco Callieri 497a42dffe added "only on selection" to PerVertexAddNoise and PerVertexPerlinNoise functions 2015-10-29 14:26:16 +00:00
Marco Callieri 6715e4f658 - added a "only on selection" option to VertexUniform and AllVertex sampling functions
- added a "isD" check to VertexUniform sampling function

to be tested
2015-10-29 13:44:25 +00:00
Paolo Cignoni 4efdccf204 Added PerFace Normal sampling 2015-10-28 12:52:25 +00:00
Paolo Cignoni d015efca10 corrected small bug (!visited instead of visited) 2015-10-26 10:06:17 +00:00
Gianpaolo Palma ec8dde9326 Bug fixed: the algorithm sets the visited flags for all the vertices added to the convex hull. 2015-10-26 09:12:09 +00:00
Paolo Cignoni d15745b128 Corrected missing template and typename keyword and added function to just select the points 2015-10-25 23:24:23 +00:00
Paolo Cignoni 12c1495bb0 Added function for computing the visibility of a point cloud and corrected a few bugs (abs instead of fabs, and missing vertex index for the vertices of the first tetrahedron) 2015-10-23 23:00:12 +00:00
Luigi Malomo ac6d5cc362 fixed wrong function call 2015-10-22 10:45:18 +00:00
Gianpaolo Palma 6cf0410a6f Bug fixed in the definition of the PerVertexAttribute "indexInput" 2015-10-21 15:57:54 +00:00
Paolo Cignoni 9a48f16579 Added a number of 'template' and 'typename' keyword to comply clang... 2015-10-21 12:01:48 +00:00
Paolo Cignoni 3f1b4519b5 Moved Hausdorff sampler from meshlab to vcglib 2015-10-20 22:32:16 +00:00
Gianpaolo Palma c3abaf8036 Add features: to store for each vertex of the convex hull the vertex index of the original mesh 2015-10-20 11:13:11 +00:00
Gianpaolo Palma ea23077621 Add methods to detect and remove the outliers from a point cloud 2015-10-19 07:31:09 +00:00
Gianpaolo Palma e04ee78f74 Add file to compute the convex hull of a mesh using the QuickHull algorithm 2015-10-19 07:18:10 +00:00
Paolo Cignoni 874346d211 Removed unused typenames (with latest generation of compilers it become a warning as unused variables) 2015-09-24 16:41:34 +00:00
Nico Pietroni e612b0b2f8 modified PerVertexDijsktraCompute to return parent and source for each node 2015-09-14 12:05:44 +00:00
Nico Pietroni bb5288bcc0 templated SimpleVoxelWithNormal class to ScalarType 2015-09-14 12:03:47 +00:00
Nico Pietroni 0371a3c5be templated Point3 to scalar at line 355 2015-09-14 12:03:19 +00:00
Nico Pietroni b0e9f8abef used principal direction components on face for cross field instead of optional component 2015-09-14 12:02:50 +00:00
Nico Pietroni 05516b1e04 corrected GradientToCross added InitDirFromWEdgeUV function 2015-09-14 12:01:24 +00:00
Nico Pietroni cb9e276b1b added CopyWedgeVertUV 2015-09-14 12:00:33 +00:00
giorgiomarcias 3323ae51af Computing per vertex normals from current face normals works also with polygonal faces now. 2015-09-13 15:37:13 +00:00
Paolo Cignoni f0c3d52849 removed old style usage of hash map and substituted with c+11 sytle unordered set and map. 2015-09-13 06:21:17 +00:00
Paolo Cignoni ad95129d02 removed old style usage of hash map and substituted with c+11 sytle unordered set and map. 2015-09-13 06:18:26 +00:00
Paolo Cignoni b4bdd7b832 better comments 2015-09-11 05:56:59 +00:00