Commit Graph

1665 Commits

Author SHA1 Message Date
giorgiomarcias 7a9b33fcc5 Corrected a bug which could happen because of memory not released. 2014-03-14 14:56:17 +00:00
giorgiomarcias 833cc12e38 Added a (useful) static method to split a given polychord into a number n>1 of polychords. 2014-03-11 15:06:07 +00:00
Nico Pietroni 4e4d5edeb7 some minor modification to give the possibility to specify the interpolation function for refinemenent 2014-03-07 16:32:06 +00:00
Nico Pietroni 9e2643a90d corrected one bug during collapses.. have to check link conditions 2014-03-07 10:35:36 +00:00
Nico Pietroni a6966b7ba0 first release version 2014-03-06 16:54:42 +00:00
Luigi Malomo 62ad64fdac fixed bugs in the harmonic field computing algorithm 2014-03-05 13:14:48 +00:00
Paolo Cignoni 323362697a Changed to trisplit to make it c++ 01 compliant 2014-03-04 17:18:03 +00:00
Paolo Cignoni dc71da4424 removed useless print from voronoi parametrization 2014-03-04 00:53:39 +00:00
Paolo Cignoni 2254e98779 slightly improved comments and a missing requirement 2014-03-04 00:39:27 +00:00
Paolo Cignoni a6cc8ccd56 Renamed voronoi_clustering -> voronoi_processing 2014-03-04 00:38:36 +00:00
Paolo Cignoni 5dcc53d63c Heavyly restructured the voronoi processing class (to be renamed). See the new trimesh_voronoi sample how to use it in the correct way. 2014-03-04 00:37:01 +00:00
Paolo Cignoni 92d6da43d5 Added the possibility for the plain midpoint class to allow also the correct interpolation of userdefined data by providing, in the constructor, an interpolator functor that will be called for each new vertex to be created. 2014-03-04 00:35:44 +00:00
Paolo Cignoni e042757e5a Added another AddFace wrapper. 2014-03-04 00:31:49 +00:00
Paolo Cignoni 60c32eeeee Better comment and renamed a template 2014-03-03 07:45:00 +00:00
Paolo Cignoni 62bd82e208 added one more control in AddFace 2014-03-03 07:44:03 +00:00
Paolo Cignoni 39f65b4d8f Added some requireAttribute functions 2014-02-27 06:38:44 +00:00
Paolo Cignoni e99ae117de Harmless warning (unsigned vs signed int) 2014-02-25 17:40:36 +00:00
Paolo Cignoni ce9c2c1661 Updated the use of eigen sparse matrix to the current official version (was using the old experimental branch) 2014-02-25 17:39:51 +00:00
Luigi Malomo a472e201a3 added algorithm to compute harmonic fields. 2014-02-21 14:37:20 +00:00
Paolo Cignoni 7cfd407a2f Refactored Smooth::FaceNormalLaplacianVF 2014-02-19 15:27:01 +00:00
Paolo Cignoni 2e18e0650a Added a RequireTriangularMesh 2014-02-19 14:39:30 +00:00
Paolo Cignoni 18c0ac1681 Refactored selection face from vertices algorithms and added requiremnts for triangular mesh for the algorithm selecting vertices starting from face border flag 2014-02-19 14:38:54 +00:00
Paolo Cignoni 85c5274965 Harmless warning (unused parameter) 2014-02-19 13:21:31 +00:00
Paolo Cignoni b2e97b9134 added RequireTriangularMesh guard and corresponding exception 2014-02-19 11:58:01 +00:00
giorgiomarcias 4cc8a7c919 Corrected a wrong behavior in case of a polychord having singularities on one side and a regular (ring) border on the other, which must not be collapsed. 2014-02-19 09:32:35 +00:00
Paolo Cignoni 6f7e2872af Removed useless include 2014-02-18 20:18:13 +00:00
Paolo Cignoni 998312b65e PolygonalMesh Debugging: corrected importFaceAdj bug 2014-02-18 20:17:28 +00:00
Paolo Cignoni 3d676586a7 callback is part of the default inclusion now. 2014-02-18 20:16:26 +00:00
Paolo Cignoni 6292a8a0af Added IsEmpty member to base mesh 2014-02-18 20:16:03 +00:00
Paolo Cignoni 614f49c053 PolygonalMesh Debugging: Added another missing Alloc 2014-02-18 14:12:08 +00:00
Paolo Cignoni d07b9b0c91 PolygonalMesh Debugging: corrected typo in the name of the polychord class 2014-02-18 11:03:42 +00:00
Paolo Cignoni 00d326ed76 Improved comments and harmless refactoring 2014-02-18 11:03:01 +00:00
Paolo Cignoni f896e9bd3e PolygonalMesh Debugging: corrected typo in the name of the polychord class 2014-02-18 11:01:15 +00:00
Paolo Cignoni 0d6c673a9b PolygonalMesh Debugging: Improved Allocator robustness. Better allocation/deallocation of polyigonal elements 2014-02-18 10:56:16 +00:00
Nico Pietroni 30fb536c78 added initial Nrosy interpolation functions 2014-02-16 16:36:22 +00:00
giorgiomarcias 22a3e51d1a Corrected some updating selection functions to manage polygonal faces instead of just triangular ones. 2014-02-15 20:56:36 +00:00
giorgiomarcias 628fc52a42 Removed debugging printings in polycoord collapse. 2014-02-15 17:10:56 +00:00
giorgiomarcias b15e3285c2 Some bug fixes in case of meshes with borders. 2014-02-14 10:36:12 +00:00
Paolo Cignoni f831ec8b77 small change to remove useless annoying warnings. 2014-02-13 17:31:43 +00:00
Paolo Cignoni 7600fc3ffb removed a couple of forgotted debug ply exporting calls 2014-02-13 16:30:41 +00:00
Paolo Cignoni 6efdd91ecc Many small changes to remove useless annoying warnings. 2014-02-13 15:52:17 +00:00
giorgiomarcias 7b1cdcdeb4 Implemented Polycoord Collapse for polygonal meshes (only strips of quads are effectively collapsed). 2014-02-12 12:43:02 +00:00
giorgiomarcias 4260535fa6 Corrected two wrong indexes on the access to the vertexes of a face while compacting the face vector: just a typo mistake. 2014-02-12 12:15:42 +00:00
Paolo Cignoni 7747e6097f Corrected a few allocating and copyng functions to manage polygonal meshes instead of simple triangular ones. 2014-02-12 10:59:37 +00:00
Paolo Cignoni d00d1b90e0 removed useless mesh parameter in FFLinkCondition 2014-02-12 10:58:38 +00:00
Paolo Cignoni 9e28c7b1e1 simple change of the template name from MESH_TYPE to MeshType to standardize 2014-02-10 10:57:12 +00:00
Nico Pietroni 3bd4213984 solved minor compilation issues 2014-02-07 11:06:49 +00:00
Marco Callieri 0ba814697c Poisson sampling was ignoring the DELETED flag, so when a part of a mesh was deleted but still in memory, would sample it. added a couple of if(!(*vi).IsD()) tests in [InitSpatialHashTable], [ComputePoissonSampleRadii] and [PoissonDiskPruning].
Seems to work, but please test it. 
Beware: there could be more places where this is needed; I only checked poisson.
2014-01-21 14:59:45 +00:00
Marco Callieri 17ed6bdac4 in the function used to compute normals for pointclouds, added a check during consensus propagation to avoid flipping normals backface w.r.t. the specified wiewposition.
It does seem redundant, but it may happen, by mere chance, that the starting point used for consensus propagation, forces other points to flip even if the resulting flip places them backface w.r.t. the specified wiewposition
--to be tested--
2014-01-10 13:00:09 +00:00
Paolo Cignoni e4311e9d5a Added comment to voronoi parameter 2013-12-20 11:46:50 +00:00
Paolo Cignoni 2df9b39d16 Further clean up of the voronoi relaxation framework. changed the old VoronoiClustering to ConvertToDelaunayTriangulation (for coherence with the other function) and rewrote its code. 2013-12-20 11:44:18 +00:00
Paolo Cignoni ab5869f6c3 Added the possibility of constraining the movement of some seeds onto a specific domain. Now during relaxation you can for example fix some seeds and constrain some other seeds over linear features defined as subset of vertices. 2013-12-20 02:33:36 +00:00
Paolo Cignoni d1a5d53a89 added VertexBorder sampling algorithm that simply collect all the vertexes on the boundary. 2013-12-20 02:27:09 +00:00
Paolo Cignoni 2acd02f102 Added RequireCompactness to the basic exception throwing requirements that you can write at the beginning of an algorithm 2013-12-20 02:24:22 +00:00
Paolo Cignoni 4897d75026 Added MissingCompactnessException to the basic vcg exceptions 2013-12-20 02:23:24 +00:00
Nico Pietroni 45c93e47f0 corrected 1 warning 2013-12-16 12:07:54 +00:00
Nico Pietroni c1403e2fef - added FaceSaturate function
- corrected vertex from face quality copy
2013-12-16 12:07:26 +00:00
Paolo Cignoni 43b738796d Significantly improved documentation. Refactored a bit some of the Add* for better readability 2013-12-12 20:35:27 +00:00
Paolo Cignoni 6c883d3cf3 Added a few assert to prevent the spread to trash data during voronoi relaxation 2013-12-05 22:35:25 +00:00
Gianpaolo Palma 89039d6658 Inverted face orientation for the Box 2013-12-05 17:43:36 +00:00
Paolo Cignoni 85ac0b3c4b removed a spurious debug exportply 2013-12-04 17:37:41 +00:00
Paolo Cignoni fd09d6fee2 Added standard heading comment to the newly added file. 2013-11-28 23:39:45 +00:00
Paolo Cignoni 6762cdbacb First version of the cylinder clipping procedure.
Now it cut the mesh (the cap part is still lacking...

See the app/trimesh_cylclip example
2013-11-28 23:30:35 +00:00
Paolo Cignoni 993a9a2c5b Tricky Change to the refine interface. Now the edge and midpoint predicate are passed as reference so if you need you can make predicate with state. This is useful when the edge and midpoint predicate share a lot of common information and you want exploit the computation done in the edge predicate (e.g. sometimes when you decide if an edge has to be split you already know where the vertex should be placed). 2013-11-28 23:29:06 +00:00
Paolo Cignoni 74749469e1 Added distance based relaxation option instead of the standard geodesic relaxation 2013-11-27 17:24:04 +00:00
Paolo Cignoni 1c20f47552 added OrientedCylinder to primitive creating functions 2013-11-26 11:49:47 +00:00
Paolo Cignoni bc218b8201 Include header cleaning and reordering. 2013-11-25 12:47:20 +00:00
Paolo Cignoni 51424a7896 committed a small change to the Geodesic::Visit
Now it can start from a set of seeds that are not at zero distance.
2013-11-25 12:46:30 +00:00
Paolo Cignoni cbc36cf147 Include header cleaning and reordering. 2013-11-25 10:40:33 +00:00
Paolo Cignoni ae18013dd2 Updated to a change of interface of VoronoiProcessing<VoroMesh>::VoronoiColoring 2013-11-25 10:39:48 +00:00
Paolo Cignoni 54b288611a Include header cleaning and reordering. 2013-11-25 10:38:17 +00:00
Paolo Cignoni 85ae6fe034 Updated to the change of interface of VFOrderedStarFF 2013-11-25 10:37:42 +00:00
Paolo Cignoni 7c0f42c4d7 Include header cleaning and reordering. 2013-11-25 10:35:39 +00:00
Paolo Cignoni cc72b3e3e1 Include header cleaning and reordering. 2013-11-25 10:32:41 +00:00
Paolo Cignoni 84c80a1972 Include header cleaning and reordering. 2013-11-25 10:01:24 +00:00
Paolo Cignoni 25e6561f60 Changed the access to a segment endpoint according to the recent change P(x) -> Lerp(x) in the segment3 interface 2013-11-07 22:35:32 +00:00
granzuglia d4cbf8b65d - fixed heap bug 2013-10-18 15:32:04 +00:00
granzuglia d59e519e8f - added missing "#include" 2013-10-16 08:36:05 +00:00
Paolo Cignoni a1471cea44 Cleaned up a bit naming and comments and some interfaces of some bitquad functions 2013-10-10 16:02:27 +00:00
Paolo Cignoni b8769bd3e6 updated the voronoi atlas parametrization to the new geodesic api 2013-10-10 10:36:39 +00:00
Paolo Cignoni afec01ce96 corrected order of include files (face/topology.h must go after complex.h) 2013-10-09 09:18:08 +00:00
Paolo Cignoni 4cf6f3d6e8 Added edge collapse of short edges and triangulation of voronoi regions 2013-10-09 08:49:13 +00:00
Paolo Cignoni 2a552f8976 Corrected a wrong call to GetAreaAndFrontier that I forgot to update after the api change... 2013-10-07 08:07:16 +00:00
Paolo Cignoni 97a8cb9238 Removed the missing face bug and the wrong orientation bug. 2013-10-03 21:09:28 +00:00
Paolo Cignoni bf17b1b9f8 Heavylly change. Rewrote the voronoi to mesh converter. Added option for locking vertices 2013-10-03 14:32:53 +00:00
Paolo Cignoni 607e048265 added a few assert in the newly added AddFace shortcut 2013-10-03 14:32:01 +00:00
Paolo Cignoni 41bced16bd Added VertexBorderCorner sampling function (that returns all the vertices over the boundary and that are corners... 2013-10-03 10:00:53 +00:00
Paolo Cignoni 97f8b30adf changed a type of the Build wrapper to override a weird compiler error (form int[3] to point3i) 2013-10-03 09:59:11 +00:00
Paolo Cignoni ad17f61dc0 added a simple wrapper to add a single vertex to a mesh given its coords 2013-10-03 09:57:45 +00:00
Nico Pietroni 97d14f173f added clear V flag at the beginning of ImportFromTriMesh function 2013-10-03 08:21:08 +00:00
Nico Pietroni 7c08094a50 corrected AnisotropicDistance 2013-09-21 00:54:21 +00:00
Nico Pietroni affa165543 added explicit cast to ScalarType , line 286 2013-09-21 00:53:36 +00:00
Nico Pietroni afef24633f added #include <vcg/container/simple_temporary_data.h> 2013-09-21 00:52:24 +00:00
Paolo Cignoni 58471132ba Cleaned up a bit for better handling of point clouds 2013-09-11 11:11:10 +00:00
Paolo Cignoni 80467d1f41 minor changes (component check in the sampler class) 2013-09-11 11:09:29 +00:00
Paolo Cignoni 0263e6df9d Small changes in comments 2013-09-10 14:21:48 +00:00
Paolo Cignoni d974bf2770 Further tuning of poisson disk sampling pruning. Now we check also if the Spatial Hash Index is not over filled, 2013-09-10 13:41:16 +00:00
Paolo Cignoni 46dc55fb3c Refactored code to use the AddFace of the Allocator that add and fill a face with three vertex pointers. 2013-09-10 10:51:15 +00:00
Paolo Cignoni 4fdfb1d62b Parameter Tuning for the PoissonDisk sampling using the getBestPrecomputedMontecarloSample heuristic. Now there is a better default and another param exposed. 2013-09-10 10:50:10 +00:00
Paolo Cignoni b849524274 Added Requirements. Refactored some funcs and uniformed naming of functions... 2013-09-10 10:49:01 +00:00