Commit Graph

3661 Commits

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