Commit Graph

4256 Commits

Author SHA1 Message Date
Paolo Cignoni d15e5fbb91 Added Reserve in sparse matrix init for speeding up poisson parametrization 2017-09-18 11:26:40 +02:00
Paolo Cignoni 288d86b160 corrected constness in foreachface 2017-09-18 11:25:02 +02:00
Luigi Malomo 992ab0ca2e edgemesh uniform sampler fixed + voronoi remesher improved 2017-09-11 14:47:32 +02:00
Paolo Cignoni 7f38262616 corrected curvature issues #25
(wrong requirements, missing components...)
2017-09-10 18:09:08 +02:00
Paolo Cignoni 6b23122ff7 Corrected some Segment3f -> Segment3Type 2017-09-07 19:02:13 +02:00
Paolo Cignoni 87b14b54af Added importdata in VEEdgeSplit so when we refine we copy the data (like color/quality) of an edge onto the new one 2017-09-07 19:01:05 +02:00
Paolo Cignoni 6b11cc44d9 More and more debugging for the CoM class. Now it should begin to be usable 2017-09-05 00:38:43 +02:00
Paolo Cignoni cbb6b7e4b3 Improved TrivialPointerSampler to also expose the addEdge interface 2017-09-05 00:37:45 +02:00
Paolo Cignoni f018cab12d Added computeEdgeLengthSum 2017-09-05 00:37:12 +02:00
Paolo Cignoni a8220b3bda Added ForEachEdge helper 2017-09-05 00:36:53 +02:00
Paolo Cignoni d1a63e73be Added a missing update of adjacency fields in edges for the add edges 2017-09-04 14:54:13 +02:00
Paolo Cignoni 7d1431f314 Small refactoring 2017-08-31 13:18:16 +02:00
Paolo Cignoni 2e139b10a6 Corrected further bugs in boundary management... 2017-08-31 13:11:58 +02:00
Paolo Cignoni eddd63caea Improved documentation for the Foreach Helpers 2017-08-31 13:08:06 +02:00
Paolo Cignoni c71321a3b6 Refactored crease_cut to correctly work with boundary creases 2017-08-31 11:39:26 +02:00
Paolo Cignoni d30bcfe4f3 Corrected bugs in cut tree retraction for meshes with boundaries 2017-08-31 08:44:15 +02:00
Paolo Cignoni babd1de3fc harmless warnings 2017-08-31 08:43:26 +02:00
Paolo Cignoni cca62803d4 added a missing include (according to vstudio) 2017-08-30 17:09:00 +02:00
Paolo Cignoni e0b7a64b04 Refactored curve on manifold 2017-08-30 16:03:46 +02:00
Paolo Cignoni 42f25c825b factored out old implementation of foreach 2017-08-30 15:58:56 +02:00
Paolo Cignoni 05df003e6f Added TriSplit helper function 2017-08-30 15:58:22 +02:00
Paolo Cignoni b52734115a Added first version of foreach helpers 2017-08-30 15:57:50 +02:00
Luigi Malomo fbd29ab314 additional parameter added to remesher 2017-07-31 15:01:22 +02:00
Paolo Cignoni 3d47dc1273 Added a missing init bbox 2017-07-27 15:59:09 +02:00
Paolo Cignoni 8b8d9844b1 Cleaned up a bit the poisson solver 2017-07-27 15:58:41 +02:00
Paolo Cignoni 4b9480e2df header cleanup 2017-07-27 15:55:22 +02:00
Luigi Malomo 59ccf586c4 static functions zero() an one() added to points 2017-07-27 14:47:49 +02:00
Paolo Cignoni c2f0aee10d slight change to ExtractPolygon to do not need anything for purely triangular meshes 2017-07-23 09:34:23 +02:00
Paolo Cignoni 005adde169 Cleaned up BuildMeshFromCoordVectorIndexVector 2017-07-23 09:32:51 +02:00
Paolo Cignoni 77c0240737 Stupid useless normalization inserted by error. 2017-07-22 08:03:27 +02:00
Luigi Malomo 75eca5e231 fix for voronoi remesher, again 2017-07-17 20:39:04 +02:00
Luigi Malomo 30dcc87c1a fixed voronoi remesher 2017-07-13 08:38:33 +02:00
Luigi Malomo aaea34f882 reimplemented and fixed edge mesh split 2017-07-12 20:14:33 +02:00
Luigi Malomo 014edf0e05 fixed bug in crease_cut.h + minor changes 2017-07-12 11:59:39 +02:00
nico c9194ae005 added bool SmoothSelected in VertexCoordScaleDependentLaplacian_Fujiwara 2017-07-05 23:52:38 +02:00
nico 1990de4809 rewritten InitQualityVertVoronoiArea function 2017-06-21 15:14:03 +02:00
Paolo Cignoni 8b49a7803a Added management of selection in laplacian smoothing for remeshing 2017-06-16 11:51:26 +02:00
Paolo Cignoni 59270c3023 Corrected orthographic error in function name. IsFeaseable -> IsFeasible 2017-06-16 11:33:35 +02:00
Paolo Cignoni ed54491d10 Corrected the error in selection.h that broke the build.... 2017-06-16 11:29:38 +02:00
Paolo Cignoni f8c6030b2a Added the possibility of restoring a selection with an Or or an And wrt to the current selection (quite useful to preserve something and combine multiple selections) 2017-06-16 01:37:37 +02:00
nico 0ea869a843 changed the handling of valence 2 vertices 2017-05-22 19:28:07 +02:00
Luigi Malomo f9d20fad7d warnings fixed 2017-05-18 18:27:37 +02:00
Paolo Cignoni 4bb8528f68 Renamed parameters for better understanding
Always disambiguate radians and degree!
2017-05-12 16:23:12 +02:00
Luigi Malomo 64a40f10c6 removed unnecessary edge mesh template from remesher 2017-05-09 14:08:35 +02:00
Luigi Malomo f74a877891 removed debug option from voronoi remesher 2017-05-09 12:18:32 +02:00
nico a79feac57b added Triangulate Method 2017-05-07 22:23:01 +02:00
nico 581acc3d2e corrected some bug on CollapseBorderSmallEdgesStep function 2017-05-04 03:13:59 +02:00
nico aada1502e4 added the possibility of preserving corners of the triangle mesh during
the quadrangulation
2017-05-04 03:13:08 +02:00
nico db17401d67 minor changes 2017-05-01 01:55:25 +02:00
nico 573253bafb added InterpolateQualityVertFormFaces and ClosestPoint functions 2017-05-01 01:54:36 +02:00
Marco Callieri ffd8d320e2 corrected bug in appending models with textures
fl.ImportData(*fi)  should happen BEFORE doing the textureOffset
correction
2017-04-21 15:17:00 +02:00
Luigi Malomo 066762521a removed harmless warnings 2017-04-16 16:24:00 +02:00
Paolo Cignoni cc447ec73f Added a implicit parameter and corrected a bug in the management of selection in remeshing 2017-04-12 07:44:28 +02:00
Paolo Cignoni db0a01af70 Corrected missing return value in SelectIntersectingFaces 2017-04-12 07:38:19 +02:00
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
Paolo Cignoni e4fce70f35 Temporary Commit. Still to be improved the CurveOnManifold framework... 2016-04-12 08:35:21 +00:00
Paolo Cignoni a8bfaef6b6 corrected/completed some HasVEAdjacency HasEEAdjacency etc 2016-04-11 21:12:26 +00:00
Paolo Cignoni b15c84c753 Added missing IsVEInititialized and VEClear 2016-04-11 20:41:34 +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 7d3175573a edge::VVStarVE now is templated on VertexType instead of EdgeType to avoid useless explicit template specialization 2016-04-11 20:34:18 +00:00
Paolo Cignoni 6f0d5cb168 Added very useful "IsValidPointer" functions that check that a given pointer is within the reasonable bounds for a given mesh (eg. given a vertex pointer it checks that it is between begin and end of the vertex vector) 2016-04-11 20:31: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 a989737e26 Changed DihedralAngleRad to do not use precomputed per face normal (it already did for part of the computations) 2016-04-02 05:47:20 +00:00
Paolo Cignoni 9720d0c5a6 better comments 2016-04-02 05:42:28 +00:00
Paolo Cignoni c5095c6e1b Added 0-1 clamping to setgray 2016-04-02 05:42:05 +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
Paolo Cignoni a58040cf9c Switched to eigen to find the optimal position for quadric. Removed old unused funcitons. Commented. 2016-03-24 14:15:55 +00:00
Luigi Malomo 0aec75be39 added option for computing biharmonic field 2016-03-23 17:08:22 +00:00
giorgiomarcias 24fe5cb6a0 Deallocating a dynamically allocated array of data must be done with delete[] instead of delete 2016-03-23 13:02:35 +00:00
Luigi Malomo bef4835ca2 added static identity function to matrix33 2016-03-21 15:16:50 +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
giorgiomarcias b7694288e5 Corrected vertex reference assignment for second triangle in AddQuadFace for the case of two triangles with faux flags 2016-02-14 06:56:26 +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 8ee0aafb6e Added Sgn function
added hack for missing is_nan in mingw 
Thanks to Antonio Nicoletti
2016-02-11 15:43:20 +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 fd9cb58466 Commented out unused variable 2016-01-30 23:36:10 +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 1f22183b90 better comments (After some curses...) 2015-12-31 11:47:57 +00:00
Paolo Cignoni 79c9b988e7 better comments (After some curses...) 2015-12-31 11:47:37 +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 952913c1de correced the point-edge distance functor and added a pair of templated helper functions for edges (lenght and center) 2015-12-29 07:21:30 +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
Paolo Cignoni 6e7b2363bc Added many Vertex-Edge adjacency helper functions. Needed for simpler 1-manifold edge mesh processing
Degree, Edge-Collapse, Manifold testing, Detach/Append
2015-12-29 07:16:14 +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 303be4bbd0 templated FibonacciPt function on ScalarType 2015-12-24 10:55:48 +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 75aeed8d04 Added scalar type definition in the edgetype once the vertexref is defined. 2015-12-03 22:53:16 +00:00
Paolo Cignoni a52a1484e6 Corrected bug in the VVExtendedStarVF . 2015-12-03 22:51:56 +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
Paolo Cignoni 0f05ee423d Added Fibonacci sampling, renamed to more meaningful names the sampling algs 2015-11-04 23:49:35 +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
Gianpaolo Palma 499dc72c51 Added function CleanAttributes() to delete all attributes (vertex, face, edge and mesh attributes) 2015-10-29 10:45:06 +00:00
Paolo Cignoni c600772f81 Removed useless 'typename's ignored by visual studio but blamed by clang 2015-10-29 07:52:56 +00:00
Paolo Cignoni 4efdccf204 Added PerFace Normal sampling 2015-10-28 12:52:25 +00:00
Gianpaolo Palma e3db01f035 Added method "S* V()" 2015-10-26 12:54:19 +00:00
Gianpaolo Palma 684fe8d464 Fixed wrong typedefs in the per vertex CurvatureDir component (ScalarType).
Added missing typedef in EmptyCore.
Added typedef WedgeColorType and WedgeNormalType.
2015-10-26 12:52:44 +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 4a7940a37b Removed debug code 2015-10-21 17:32:21 +00:00
Gianpaolo Palma 6cf0410a6f Bug fixed in the definition of the PerVertexAttribute "indexInput" 2015-10-21 15:57:54 +00:00
Gianpaolo Palma fd2bfa9f64 Bug fixed in CompactFaceVector. The FF topology must be updated always. 2015-10-21 15:55:09 +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
Nico Pietroni 3c38f44d30 minor change in VEStarVE 2015-10-19 08:48:44 +00:00
Nico Pietroni 50ab490cec minor change in VEIterator 2015-10-19 08:47:42 +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
Gianpaolo Palma a7262838f0 Added missing include <cstdint> 2015-10-13 14:06:49 +00:00
Paolo Cignoni 48f65697f0 removed unused var 2015-09-24 16:41:58 +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 5aece50e09 erased some unused parameter 2015-09-14 12:02:19 +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 47aaea332a removed old style usage of hash map and substituted with c+11 sytle unordered set and map. 2015-09-13 06:20:20 +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
Paolo Cignoni c27a19e3d1 register is deprecated 2015-09-10 15:09:18 +00:00
Paolo Cignoni 59ffba5af3 corrected bug on normal transformation (Thanks to Marco to spotting it out...) 2015-09-10 15:08:52 +00:00
Luigi Malomo d9f3b34498 reverted 2015-09-01 09:04:14 +00:00
Luigi Malomo 32ffe51cde added missing include 2015-09-01 09:02:23 +00:00
granzuglia 9ab06cc9ef - removed dangerous assert 2015-07-30 12:32:22 +00:00
granzuglia 5dcc3d257f - added missing include 2015-07-30 11:49:14 +00:00
Paolo Cignoni bc9c61a92e Added ClearFaceFace method to avoid messed topology status 2015-07-14 10:44:23 +00:00
Paolo Cignoni 06040acbb0 Corrected small bug in compacting arrays after a torus creation. Also faces must be compacted... 2015-07-12 10:44:55 +00:00
granzuglia 1dc8a067ac - removed compiler time errors 2015-07-06 02:38:32 +00:00
Gianpaolo Palma a6521a217f Bug fixed in FaceFaceFromTexCoord when the mesh has more faces mapped on the same tex coordinate 2015-07-03 14:51:40 +00:00
Gianpaolo Palma e5fbdd9e22 Added a new function (SelectFoldedFaceFromOneRingFaces) to selected the folded faces (also non self-intersected faces) using an angle threshold. 2015-07-03 12:21:54 +00:00
Nico Pietroni d8a7e0069f added parameters in GetPolyTemplatePos to force isotropy 2015-07-03 09:54:40 +00:00
Nico Pietroni 5e4380ffbd added CopyVertUVWedge function 2015-06-21 01:51:28 +00:00
Nico Pietroni 470e156a19 added function AdjustDirectionsOnTangentspace ando some minor changes 2015-06-14 23:16:02 +00:00
Nico Pietroni 4283c2f651 some bug resolved on separatrix tracing 2015-06-02 11:54:39 +00:00
Nico Pietroni b952d96711 Added support for tracing separatrix from singularities 2015-05-24 14:52:50 +00:00
Nico Pietroni 2b8a829099 added NextCrease function to follows creases 2015-05-24 14:51:22 +00:00
Nico Pietroni 7aef00fb33 minor change in VFOrderedStarFF , the Pos is passed as const parameter 2015-05-24 14:50:47 +00:00
Nico Pietroni d58ac7ca03 templated parameter on VertexConstant function 2015-05-12 09:05:52 +00:00
Gianpaolo Palma 2eac2ef672 Bug fixed with offset from a base data address bigger than 2GB 2015-05-11 14:41:43 +00:00
Nico Pietroni 843c852523 correct template scalar type use in FaceSaturate function 2015-04-12 06:13:35 +00:00
Nico Pietroni d68f4271bc chenged SetFaceCrossVectorFromVert to take in consideration also magnitudo 2015-04-12 06:12:13 +00:00
Luigi Malomo c2b6ba2390 fixed VertexRef component types for edge. 2015-03-25 15:25:07 +00:00
Paolo Cignoni f2d3ff160c Added a RequirePerVertexMark to the init function of the collapse framework. 2015-03-24 17:57:40 +00:00
Paolo Cignoni 571c59c180 Removed the old stupid limitation of FF requirement for creating a sphere 2015-03-24 17:42:32 +00:00
Luigi Malomo 4d74a93851 minor changes 2015-03-18 19:48:03 +00:00
Luigi Malomo 68eb3bce7b Fixed TriMesh Clear function. The function resets the mesh as if it was just created. 2015-03-17 09:56:59 +00:00
Luigi Malomo 8fe9f931c1 Fixed typo. 2015-03-16 14:31:48 +00:00
Luigi Malomo 20429b9801 Fixed wrong check for FF adj. 2015-03-16 14:06:09 +00:00
ganovelli 8ac85892e3 replaced segmentsegmentintersection implementation 2015-01-19 15:57:44 +00:00
giorgiomarcias d2b0ac56c7 Fixed a small bug causing not preservation of border vertex coordinates in some cases during polychord collapse. 2015-01-08 22:49:15 +00:00
giorgiomarcias 75534804cf Using only the laplacian weight lapWeight for the matrix and 1 - lapWeight for the barycentric constraints in the implicit smoother (removed the unusefull face weight). 2015-01-07 21:22:34 +00:00
giorgiomarcias 5085477562 Made constant some parameters, where possible. 2015-01-05 14:58:30 +00:00
Nico Pietroni 94d9a3dbdd * fixed several bugs
* added several functions to compute the quality of a polygonal meshing
* added the template polygon computation as in "Static Aware Grid Shells" by Pietroni et Al.
2015-01-05 12:57:16 +00:00
giorgiomarcias c3bfe8f269 Added the possibility of passing the weights to set in the matrix of the implicit smoother. 2014-12-23 19:47:14 +00:00
giorgiomarcias aafb13219e Changed a wrong (fortunately not used) enum value. 2014-12-19 11:32:18 +00:00
giorgiomarcias b179459e62 Fixed a weird bug that caused wrong check on self-intersections and polychord's adjacency. 2014-12-18 17:07:08 +00:00
Luigi Malomo ee3177b1d9 included missing header. 2014-12-17 19:11:45 +00:00
Nico Pietroni 48b7365ba4 corrected one error in Interpolationparameters 2014-12-17 17:17:47 +00:00
giorgiomarcias 882d54d6ae Fixed some memory leaks when using polygonal component for faces. Deallocations more stable and clear for each component, using also local dynamic memory deallocs. Changed Clear() method of TriMesh which guarantees perfect deallocations of faces' components. Fixed also CompactFaceVector which now deallocates faces before resizing the vector. In DeleteFace, not only the flag is set, but also the face's components are deallocated. 2014-12-15 15:36:37 +00:00
Luigi Malomo c722cedeaa Fixed bug in VertexBorderFromFaceBorder function. 2014-12-10 00:55:37 +00:00
Luigi Malomo efaabde8d0 Types fixed to avoid clang compiler issues. 2014-12-10 00:54:10 +00:00
Nico Pietroni f7a602625f minor change to merge vertex coherently (keep the same global ordering of the vertices) 2014-12-08 15:13:32 +00:00
Nico Pietroni 9c85a56214 changed IsSingularByCross..
added OrientDirectionFaceCoherently
2014-12-08 15:12:29 +00:00
Nico Pietroni 472373efbe minor changes for compilation with Clang 2014-12-08 15:11:01 +00:00
Paolo Cignoni a5ea80d9df Corrected EFi function as vcg/bugs/43/ 2014-12-06 23:36:42 +00:00
Paolo Cignoni cca512c266 Added parameters to control the cylinder refinement to the BuildCylinderVertexShell functions 2014-12-05 03:25:52 +00:00
Paolo Cignoni 90e07822e5 Added BarycentricRelaxVoronoiSamples and QuadricRelaxVoronoiSamples 2014-12-04 16:04:20 +00:00
giorgiomarcias 8f04d22bb6 Added a per-face barycentric constraints weight. Removed some annoying warnings. 2014-11-30 19:32:17 +00:00
giorgiomarcias 6ecf866467 Removed some annoying warnings. 2014-11-30 19:31:35 +00:00
giorgiomarcias ad7f96a642 Removed several unusefull asserts on polychord splitting. 2014-11-24 08:23:23 +00:00
giorgiomarcias 6e0fe4fb49 Changed the SplitPolychord method: now it handles any polychord, especially self-intersecting ones. 2014-11-15 17:55:46 +00:00
giorgiomarcias 7e212f1d60 Function VInd() declared const so that it can be used also with a constant face::Pos. 2014-11-15 17:50:19 +00:00
Paolo Cignoni 8959e68790 Small change still related to the normal -> trianglenormal renaming 2014-11-14 23:01:21 +00:00
Paolo Cignoni 40aedda6b0 Added also a NormalizedTriangleNormal. Too much practical... 2014-11-14 23:00:36 +00:00
Paolo Cignoni 828dc5f404 Added a resize() method to the basic attribute handle class to allow the definition of templated functions that can indifferently take an attribute or a vector as a parameter (like the ones in MeshToMatrix) 2014-11-14 22:03:58 +00:00
Paolo Cignoni 1d79254dbc Added PerVertexArea and PerFaceArea to collect vectors of areas from a mesh 2014-11-13 22:50:39 +00:00
Nico Pietroni 137e34a44f first release version 2014-11-12 15:37:21 +00:00
Nico Pietroni b4150e3e5c 2014-11-12 15:22:09 +00:00
Nico Pietroni 5f4726ca08 2014-11-12 15:21:27 +00:00
Paolo Cignoni 62af567808 Updated to reflect the Normal() -> TriangleNormal() change 2014-11-12 00:19:46 +00:00
Paolo Cignoni 6458dd30ad Added some practical typedefs for simpler use of attributes 2014-11-12 00:19:18 +00:00
Paolo Cignoni 9d89004760 Updated to reflect the Normal() -> TriangleNormal() change
Updated to reflect the changes to the UpdateFlags (new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder)
2014-11-12 00:14:23 +00:00
Paolo Cignoni 4b0e72293f Added ComputeValence function 2014-11-12 00:13:05 +00:00
Paolo Cignoni 6f4d33519b Updated to reflect the changes to the UpdateFlags:
new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder
2014-11-12 00:12:32 +00:00
Paolo Cignoni d6e5ff4512 Updated to reflect the changes to the UpdateFlags:
new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder
2014-11-12 00:12:10 +00:00
Paolo Cignoni 18d91de047 Updated to reflect the Normal() -> TriangleNormal() change
And added function to compute normals per polygonal faces
2014-11-12 00:09:58 +00:00
Paolo Cignoni 884795203c Added VertexBorderFromFaceAdj function (needed for managing polymesh that do not have per face border bit) 2014-11-12 00:08:59 +00:00
Paolo Cignoni b1b3068ba9 Removed the ComputeNormal functions from the face. Almost never used and superfluous 2014-11-12 00:05:45 +00:00
Paolo Cignoni 16f4795588 CRITICAL CHANGE: the commonly used function Normal() used to compute the normal of a triangle has been changed into TriangleNormal() 2014-11-12 00:04:26 +00:00
Paolo Cignoni 3bc278c224 renamed polygon.h to polygon3.h for coherence... 2014-11-12 00:03:01 +00:00
Paolo Cignoni 144c3ce295 Added file for containing polygon based functions (just like triangle) 2014-11-12 00:01:32 +00:00
giorgiomarcias 1f369bbf09 Added the option for selecting polychord loops only. 2014-11-07 15:38:00 +00:00
Nico Pietroni 8c93868ca7 major modification to works with constraints 2014-11-07 12:02:24 +00:00
Nico Pietroni 06bc9ba660 generalized to polygonal faces 2014-11-07 11:42:10 +00:00
Nico Pietroni d93bfe908f changed reference to vertex function in order to compile with polygonal faces 2014-11-07 11:41:41 +00:00
granzuglia af5f31d4f7 - added default constructor to VFAdjType
- removed compile time error on Av.reserve function call
2014-11-06 23:21:04 +00:00
Paolo Cignoni 177cf43069 Added two other meshAssert tests (quads and tris) 2014-11-06 15:10:00 +00:00
giorgiomarcias e1027dedb5 Added method to find all polychords on a mesh (returns the list of Pos's, one for each polychord start edge). 2014-11-06 11:04:19 +00:00
Nico Pietroni 66bd26ed70 minor warning corrected 2014-11-05 19:25:57 +00:00
Nico Pietroni 505fa04c73 Changed per vertex nomal computation to works with polygons 2014-11-05 19:24:46 +00:00
Nico Pietroni f115db004c major changes in UpdateSingularByCross, used the additional parameter to set if a vertex is singular or not 2014-11-05 19:23:42 +00:00
Paolo Cignoni e29b6f4a46 More refactoring of implicit smooting class 2014-11-05 17:23:13 +00:00
Paolo Cignoni eb2b5e7fa5 refactoring to remove quality 2014-11-05 16:22:06 +00:00
Paolo Cignoni d03a5a97d2 First version of the implicit smoother 2014-11-05 15:48:34 +00:00
Paolo Cignoni 0a42a15d35 improved documentation, remove extra ';' and useless const 2014-11-03 15:05:34 +00:00
Paolo Cignoni c7b6bd26bf Significantly improved documentation of the components.
Added IsNull to the VF vertex component and coherent initialization of the vf adjacency.
2014-11-03 15:01:27 +00:00
Paolo Cignoni db53a1ff06 Cleaned up harmonic.h (added standard header, needed meshassert) 2014-11-03 15:00:06 +00:00
Paolo Cignoni e1a327e556 added a missing include callback.h 2014-11-03 14:59:07 +00:00
Paolo Cignoni b328a5f94a Added the new mechanism for run time checking of mesh adequacy to a given algorithm.
While the many RequireXXX functions allow to check the static correctness of a mesh and
have a O(1) complexity, in many cases we need to run more complex checks to be sure that
the subsequent algorithm can run without issues.
Typical cases are the fact that there are no unreferenced vertices (NoUnreferencedVertex)
or a given adjacency is correctly initialized (and not only statically present as a type component).
2014-11-03 14:50:37 +00:00
Paolo Cignoni df6865a6de Changed many explicit exception throwing for missing components into the shorthand RequireXXXX 2014-11-03 14:38:05 +00:00
Paolo Cignoni 5565647e82 Added two functions VertexFromAttributeHandle and FaceFromAttributeHandle to map a pervertex/perface scalar handle into the quality 2014-11-03 14:36:58 +00:00
Paolo Cignoni b278f29129 Changed many explicit exception throwing for missing components into the shorthand RequireXXXX 2014-11-03 14:34:35 +00:00
Paolo Cignoni 6830b4aea4 Changed many explicit exception throwing for missing components into the shorthand RequireXXXX 2014-11-03 14:33:45 +00:00
Luigi Malomo 79f4c6ac94 Added VN() function to triangle3. 2014-11-01 16:58:53 +00:00
giorgiomarcias af0f42fedf "public"-ized some previously "private" static method which are useful also outside. Added a "PC_OTHER" result code for user-defined purposes. 2014-10-17 08:54:34 +00:00
giorgiomarcias bc1975ad43 Added "const" keyword to IsEmpty(). 2014-10-16 09:42:48 +00:00
Massimiliano Corsini 708463311e fix GetBBOx changes 2014-10-13 08:36:01 +00:00
Massimiliano Corsini 0fd22c536b fix include path 2014-10-13 08:35:29 +00:00
ganovelli 918cec664a fixed includes to new files position (also in app2/sample/hashing_2D) 2014-10-09 14:10:27 +00:00
ganovelli 578f4ae72e changed names to avoid troubles with OS oblivious to letter case 2014-10-09 14:04:09 +00:00
ganovelli d5d50503c7 changed the filnenames to avoid possible trouble with OS oblivious to letter case 2014-10-09 14:02:56 +00:00
ganovelli 46031c54ca added GetClosestEdgeBase from space/index/index2/closest_2d.h which is going to be removed 2014-10-09 12:53:40 +00:00
ganovelli 5249736918 completed renaming to lowercase of space/index/index2d and hashing_test2d 2014-10-09 12:32:03 +00:00
ganovelli 1b833f40a9 renaming to lower case (continued) 2014-10-09 12:25:30 +00:00
ganovelli 0c7c9db51a renaming to lowercase 2014-10-09 12:23:46 +00:00
ganovelli d78ad96d9a files renaming to lowercase 2014-10-09 12:22:31 +00:00
Luigi Malomo 81bdd19245 temp fix of include directive. file naming should be fixed for coherency. 2014-09-29 16:52:05 +00:00
granzuglia 9f647f2460 - added missing cast causing compiler error 2014-09-25 17:11:45 +00:00
Paolo Cignoni 03fb236a82 Improved EdgeMeshUniform to sample also closed loops of edges correctly 2014-09-19 17:07:02 +00:00
Luigi Malomo 70154e50bb face border computation from FF adjacency fixed for polygon meshes 2014-09-19 10:57:05 +00:00
granzuglia 42e1ae0cfb - fixed a compatibility problem with MeshLab single precision version 2014-09-17 14:13:45 +00:00
Nico Pietroni e9ba519fa4 small change to do not insert and cycle to find polygons of size 0 2014-09-14 01:02:42 +00:00
Nico Pietroni c3beef6091 added NextNotFaux function 2014-09-11 20:43:41 +00:00
Nico Pietroni 0a91defac8 templated the function VertexClamp wrt input scalar type 2014-09-11 20:42:30 +00:00
Luigi Malomo e5ca4bf8c7 added option to copy adjacency for mesh copy function 2014-09-10 00:50:10 +00:00
Paolo Cignoni 053b649ed2 Added perturbation to the voronoi seed relaxing 2014-09-07 21:36:30 +00:00
Luigi Malomo a78ac53814 added edge mesh support to OBJ importer
corrected a type to avoid clang compiler issues
2014-09-06 11:06:23 +00:00
Paolo Cignoni d8293c0c05 Updated RestrictedVoronoiRelaxing to use area weighted sum of nearest vertexes to compute barycenter 2014-08-30 07:50:22 +00:00
Nico Pietroni 6d042e5200 added FaceFauxBorder function 2014-08-29 15:10:06 +00:00
Paolo Cignoni 0e15b05070 Added more control on the initialization of the random generator in the poisson sampling 2014-08-29 13:21:27 +00:00
Nico Pietroni feff81dd01 solved minor error with templated scalar type 2014-08-28 09:46:49 +00:00
Nico Pietroni ae18d9b445 added VectorFromCoord function 2014-08-28 09:46:16 +00:00
Paolo Cignoni 0337582896 Added managment of fixed vertices in the restricted voronoi relaxing 2014-08-28 09:28:39 +00:00
Paolo Cignoni 636cf7bf8a Added possibility of specifying approximation tolerance in the posson disk sampling by number 2014-08-28 09:28:14 +00:00
Paolo Cignoni c08ca27367 harmless warning 2014-08-28 01:56:28 +00:00
Paolo Cignoni fdf0b5b2ec minor aestetical changes and added edge size checking to the IsSizeConsistent function 2014-08-28 01:55:43 +00:00
Paolo Cignoni 875a7d1aac Added RestrictedVoronoiRelaxing mode to the voronoi framework 2014-08-28 01:54:32 +00:00
Paolo Cignoni b452c7a305 Changed the wrapper for poisson disk sampling to use the exact pruning option if radius is not specified.
Corrected bug in the exact pruning that failed to return radius in some cases
2014-08-28 01:53:58 +00:00
Paolo Cignoni 60ca2f2d72 Updated 4pcs to float/double independnece 2014-08-26 08:45:04 +00:00