Commit Graph

3902 Commits

Author SHA1 Message Date
Paolo Cignoni 65c847fede Added option to work only on selected faces to remeshing
added also handy shortcut to avoid creating the projection mesh copy
2017-04-11 19:11:51 +02:00
Paolo Cignoni 717a183097 Added SelectIntersectingFaces function that works for two different meshes (instead of self intersecting) 2017-04-11 19:10:53 +02:00
Paolo Cignoni 37f8ea9643 Added Option to compute average edge length only on selected faces 2017-04-11 19:10:13 +02:00
Luigi Malomo 5c2843b6a9 adapted connected components functions to polygonal meshes 2017-04-05 18:54:53 +02:00
Luigi Malomo 0b7528ee7d removed warnings 2017-04-05 18:54:53 +02:00
Luigi Malomo f2b92b6484 adapted some functions to polygonal meshes 2017-04-05 18:54:53 +02:00
Paolo Cignoni 4860a27a15 Added various missing RequireXXX 2017-04-05 07:47:53 +02:00
Paolo Cignoni d4293c7d78 Minimal refactoring of mesh intersection 2017-04-05 07:40:17 +02:00
Paolo Cignoni e7161dfa56 Cleaning type mismatch in update quality (quality has its own type!) 2017-04-03 17:23:25 +02:00
nico cc5ed5f4c3 corrected one compilation issue about cast to scalar type 2017-04-03 12:33:49 +02:00
nico 9a20565687 templated the ClampedLerp function on ScalarType 2017-04-03 11:01:26 +02:00
nico c2cd4dfccb corrected one Bug for the usage of a threshold in VertexSaturate
function
2017-04-03 11:00:35 +02:00
nico 788292d06c templates some functions on ScalarType instead of float 2017-04-03 10:58:41 +02:00
nico bb0e2950e2 solved several Issues to make it works with double 2017-04-03 10:58:09 +02:00
Paolo Cignoni 012c6f6d50 Small changes required for windows compilation of all the samples 2017-04-02 19:52:16 +02:00
Paolo Cignoni 2793be26f6 better comments and corrected SelectVertexCornerBorder -> VertexCornerBorder 2017-04-02 17:40:12 +02:00
Paolo Cignoni bc07762ab5 Moved and refactored SelectVertexCornerBorder from UpdateFlags to UpdateSelection
Added also erode and dilate
2017-04-02 01:27:06 +02:00
Paolo Cignoni 16369d6006 Added useful face::WedgeAngleRad 2017-04-02 01:26:12 +02:00
Paolo Cignoni 235d03935e harmless warning issued only on release (assert involving variables) 2017-04-01 18:19:51 +02:00
nico 872448ecba added ComputePerVertQualityAvg function 2017-03-30 13:06:33 +02:00
nico f81d5c7ed5 cleaned a bit the commented functions and added Area and Quality as
Voronoi Area
2017-03-30 13:06:04 +02:00
Paolo Cignoni 32c26911c4 Removed harmless warnings on rarely used objects... 2017-03-28 17:43:16 +02:00
Paolo Cignoni 0965a29520 removed useless const in spatial hashing 2017-03-24 16:49:35 +01:00
Paolo Cignoni ff7711147e added some casts for importing curvature types 2017-03-24 15:17:54 +01:00
Luigi Malomo 22afe8170b comments cleaned 2017-03-24 14:47:50 +01:00
Luigi Malomo b4779b7151 minor changes to voronoi remesher 2017-03-24 14:43:30 +01:00
Luigi Malomo 9eb6610f34 added arap distortion + class template for UV paramertization 2017-03-24 14:43:30 +01:00
Luigi Malomo 48092ff9b9 fixed types 2017-03-24 14:43:30 +01:00
Paolo Cignoni 718f5b1824 re added include vector into histogram
Needed if you want use it without the meshes
2017-03-24 14:05:06 +01:00
Marco Callieri 77bbf1d70c avoid crashing if vn<100 2017-03-23 14:51:20 +01:00
Paolo Cignoni 79f2fc9e73 Added Isotropic remeshing.
And the correspondent sample
2017-03-22 14:12:40 +01:00
Paolo Cignoni 8ac9680253 Small optimisation in the edge collapse.
One of the two sets of faces computed during the collapse was useless.
2017-03-22 14:12:06 +01:00
Paolo Cignoni da8b1825c6 Small refactoring 2017-03-22 07:33:34 +01:00
Paolo Cignoni aef47c18de Better documentation of meshassert 2017-03-21 23:18:22 +01:00
Paolo Cignoni b2a2e170af Added Lerp and ClampedLerp 2017-03-15 14:42:22 +01:00
Paolo Cignoni c630e4064d Added angle measuring function for a pos 2017-03-15 13:13:51 +01:00
Paolo Cignoni 6c8cba901d Added a missing include (requested by gcc to compile unused code) 2017-03-14 22:58:18 +01:00
nico 4e71e28535 added PolygonPointDistance and PolygonBox functions 2017-03-14 12:55:57 +01:00
nico 7674ae4061 added Laplacian filter and some minor changes 2017-03-14 12:55:34 +01:00
Paolo Cignoni c4d97c2c03 Huge reordering of header file inclusion order 2017-03-14 07:48:48 +01:00
Paolo Cignoni 97e4c0d23b Promoted the pos.h and topology.h include files to the standard inclusion. 2017-03-13 15:50:19 +01:00
Paolo Cignoni 18d070f9eb yet another small refactoring 2017-03-13 15:47:55 +01:00
Paolo Cignoni ebb747ecf5 Added a meshassert in the uniform edge sampling 2017-03-13 15:47:33 +01:00
Paolo Cignoni 610e8e49c8 Added a needed Require Normal Components 2017-03-13 15:46:58 +01:00
Paolo Cignoni 781c333821 Added a few meshassert exception throwing check functions 2017-03-13 15:41:16 +01:00
Paolo Cignoni 45c1e13800 Corrected IsEdgeManifold test function 2017-03-13 15:39:39 +01:00
Paolo Cignoni 4a80b019ac First commit of the voronoi based remesher
Still to be checked…
2017-03-13 13:28:46 +01:00
Luigi Malomo a75dbdc05d added function to retrieve the parametrization in matrix form 2017-03-07 14:34:36 +01:00
Luigi Malomo 155806f53e splitted compactness requirements 2017-03-07 14:32:28 +01:00
Paolo Cignoni a597aea988 Corrected harmless Warnings 2017-03-02 10:20:27 +01:00
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 43b22e4f42 Added a SVD based quadric optimisation for QE simplification
It allows to find the optimal position closest to a given point when
the quadrics are degenerated.
2017-02-21 16:41:45 +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
Gianpaolo Palma 424b74bfcd Bug fixed in the xyYtoXYZ and XYZtoxyY functions 2017-01-25 20:02:43 +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 85ae69d3ba solved minor warnings 2017-01-23 16:23:58 +01:00
nico f5795556ba removed some unused variable 2017-01-23 16:19:19 +01:00
nico bffc61bc7c correct one compile error in TriangleSegmentDistance 2017-01-23 16:18:52 +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
ganovelli 67621588d2 const added
added const to GetFrustum
2017-01-19 10:37:47 +01:00
ganovelli fce8b02767 Revert "const missing"
This reverts commit 825d90157c.
2017-01-13 13:34:55 +01:00
ganovelli 825d90157c const missing
GetFrustum does not chang ethe object, it's const
2017-01-13 12:14:56 +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 c0a99c8b3a Improved Documentation for FlipEdge 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 237ff6f591 Removed duplicated function for generating baricentric coords 2016-12-20 09:12:50 +01:00
Guido Ranzuglia 90dc1657d2 - fixed a long list of possible crashes due to IsCurvatureEnabled calling IsCurvatureDirEnabled 2016-12-19 14:46:03 +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 428967ddac Added the check for un-initialized ff adjacency in an assert 2016-12-08 00:00:45 +01:00
Giorgio Marcias 5735102cb7 double specialization of some Color4 methods were missing 2016-12-06 14:50:50 +01:00
Giorgio Marcias 57f596e971 included cmath as clang was complaining 2016-12-06 11:40:50 +01:00
Guido Ranzuglia ee64908ff7 - added std prefix for linux compiler 2016-12-06 11:09:31 +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 56dcf4a513 Added a missing cast in the FromMatrix (to avoid a warning) 2016-12-04 12:19:26 +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
Matteo Dellepiane e977c746bd PackInt function made public
In order to make the new Ponchio's nexus work properly
2016-11-29 11:37:19 +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
Gianpaolo Palma 82300062f8 Added a new implementation of the kdtree for faces 2016-11-16 11:24:12 +01:00
Gianpaolo Palma 0906212a1f Minor improvements
-Added the possibility to create a balanced tree
-Added methods to get the protected members
-Bug fixed in the size of the stack used in the query methods
2016-11-16 11:12:42 +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 680d903ad5 Indentation 2016-10-21 11:06:11 +02:00
Paolo Cignoni 73d84303de Translated a number of comments and corrected a small bug (adding a null box does nothing also for transformed box) 2016-10-20 12:40:12 +02: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
Gianpaolo Palma 8b90ba72a3 Bug fixed by removing the deferencing of the end() iterator of the container 2016-10-07 17:01:39 +02:00
Paolo Cignoni 07fe590814 Hue in HSV is wrapped if out of range for sake of robustness 2016-10-07 00:49:34 +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
Guido Ranzuglia 5c72790884 - fixed RenderingModalityGLOptions init bug 2016-08-31 13:45:11 +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
Guido Ranzuglia 92eec412a5 - the DeletePerMeshAttribute signature (and semantics...) has been consistent with the other DeletePerXXXAttribute functions
I discussed with Fabio about it
2016-07-28 12:32:13 +02:00
Paolo Cignoni f20540d563 Corrected a Meshlab leftover (Scalarm->ScalarType 2016-07-17 16:48:29 +02:00
nico b76aed2fa0 set the pointer to vertex as const 2016-07-15 15:00:14 +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 47334c555d Small change to make the bbox function in segment equal to the other vcg object (getbbox instead of bbox) 2016-06-12 21:10:46 +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 1d477515c0 Changed the epsilon value for Identity transformation in function RotationMatrix 2016-06-09 12:11:34 +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
granzuglia 8cd4278c45 removed compiler error on sqrt 2016-05-06 02:14:54 +00:00
granzuglia ff360e8cbb removed warning int -> size_t 2016-05-06 02:13:27 +00:00
Nico Pietroni d3bb5d09e0 changed Segment2DSegment2DDistance to return the 2 closest points 2016-05-01 15:35:57 +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 97a0879676 added operator < 2016-05-01 15:33:34 +00:00
Nico Pietroni d91e861ab5 changed float to ScalarType in VertexSaturate function 2016-05-01 15:32:57 +00:00
Gianpaolo Palma 694ffd7cb0 Bug Fixed in the function doQueryK if the point cloud contains less than k points 2016-04-28 10:48:19 +00:00
Paolo Cignoni eac3243375 Added comments and MaxCountInRange function to get the max bucket count in the specified range 2016-04-20 22:05:28 +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