Commit Graph

3752 Commits

Author SHA1 Message Date
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