Commit Graph

1607 Commits

Author SHA1 Message Date
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
Paolo Cignoni b49b2ce1e8 Added PerVertexBasicRadialCrossField for the creation of sample cross field 2013-07-26 12:21:40 +00:00
Paolo Cignoni 05d262ba9b Added conversion to polygonal mesh and to edge mesh of the generated voronoi diagram.
Improved behavior for biased distance diagrams
2013-07-26 12:20:40 +00:00
Paolo Cignoni a2b05e1f66 Added isotropic distance and anisotropic distance functor for biasing the geodesic computation. 2013-07-26 12:13:45 +00:00
Paolo Cignoni c5549f607a Cleaned up the edge allocator and added two small wrapper for adding and initializing a single face or edge with the vertex pointers 2013-07-26 09:34:41 +00:00
Paolo Cignoni f85ce4e334 Removed all references to the useless old vcg::math::Swap 2013-07-26 07:35:02 +00:00
Paolo Cignoni f9db54196b Significant Change.
Removed old quality from geodesic function. Use the Geodesic class that has a singleCall wrapper doing the same in a eventually better way. 
Added a number of RequireXXX at the beginning. To be completed...
2013-07-24 12:00:47 +00:00
Nico Pietroni f22b8bef25 uncommented some code to find which vertex fix on poisson solving 2013-07-23 11:22:06 +00:00
Nico Pietroni fe7565ad2a commented the part that set as border the non manifold vertex 2013-07-23 11:20:44 +00:00
Paolo Cignoni c5fcfd94c1 Added a MeshSampler Class to the framework as a simple example of the sampling procedure
Added another wrapper for montecarlo sampling of points 
Improved the basic wrapper of poisson disk sampling to include variable disk radius sampling
2013-07-23 07:32:12 +00:00
Paolo Cignoni 99440c4e62 #ifndef NO_QT -> #ifdef QT_VERSION 2013-07-16 15:44:52 +00:00
Paolo Cignoni 42da29417b cleaned up a bit the interface and formatting of the code of the voronoiclustering alg 2013-07-05 14:46:48 +00:00
Paolo Cignoni 7b8f21ba7a Excluded from the computation of the mass intergrals the faces with an area that is <= std num limits <scalar>::min() 2013-07-03 21:44:39 +00:00
Paolo Cignoni 1655f806df removed M_PI_2 constant. (not more supported by vs2010 on) 2013-07-03 21:12:08 +00:00
Paolo Cignoni 29b3c4e1ec Added VertexCrease, EdgeMontecarlo sampling methdo
Improved PoissondDisk sampling algorithm with the bestSampleChoiceFlag parameter
2013-06-24 10:51:53 +00:00
Paolo Cignoni 98e49178ba Added IsCoherentlyOrientedMesh and cleaned up a bit the self intersection 2013-06-24 10:50:14 +00:00
Paolo Cignoni 9acdf598a1 removed harmless gcc warning 2013-06-24 09:36:46 +00:00
Paolo Cignoni 388435d15a Added a default value to the optional cb parameter in the pointcloud normal generation function 2013-06-24 08:36:08 +00:00
Paolo Cignoni 49d759af2a Added EdgeBarycentricToFaceBarycentric to convert an edge position into a face barycentric position 2013-06-24 07:31:11 +00:00
Paolo Cignoni 5049407069 Added FaceFauxSignedCrease that Marks feature edges according to two signed dihedral angles. 2013-06-24 06:56:15 +00:00
Paolo Cignoni efe6379b4b Added updating of the bbox for generic mesh build
Added build for point clouds
Added Clear at the beginning of the Build(m)
2013-06-24 06:49:51 +00:00
Nico Pietroni 5f59f1fa5a corrected some non templated type on SplitNonManifoldVertex function 2013-05-08 09:05:58 +00:00
Nico Pietroni a52a4d0ad3 added ClearCreases function..
corrected setting B for non manifold in VertexBorderFromNone
2013-04-24 14:22:43 +00:00
Nico Pietroni 04bca27a7e erased first assert of RemoveDuplicateEdge function 2013-04-20 15:13:49 +00:00
Paolo Cignoni cbba83d17c added Annulus and OrientedAnnulus to mesh creation helpers 2013-04-15 20:14:27 +00:00
Paolo Cignoni 371ff46282 added a missing RequireVFAdjacency and corrected a bug into the RequireXX for a couple of other adjacency... 2013-04-12 09:16:49 +00:00
Paolo Cignoni eeddfe6a90 Updated to include better control of the voronoi parametrization. Changed packer (warning it requires qt...) 2013-04-03 10:07:29 +00:00
Paolo Cignoni 135f5f9ecb added Outline2VecBBox method 2013-04-03 10:02:19 +00:00
Nico Pietroni 01c0681291 added #include <vcg/complex/exception.h> 2013-03-30 15:31:57 +00:00
Nico Pietroni 8454fb5fc9 removed some commented part and changed FixDefaultVertices 2013-03-30 15:30:18 +00:00
Paolo Cignoni 9bd9f9fdc7 Further cleaning up and factorization of the stuff for the raster outline packer 2013-03-26 11:25:47 +00:00
Paolo Cignoni 4fa516b8d7 Added first version of the outlinesupport.h to manage various interaction between meshes, borders and outlines 2013-03-25 13:09:15 +00:00
Paolo Cignoni 668bf05a1d Refactored a bit CountConnectedComponents (added requiremens) 2013-03-25 10:33:22 +00:00
granzuglia 5bcce6a3d5 //static_cast<VertexPointer>(NULL) has been introduced just to avoid an error in the MSVS2010's compiler confusing pointer with int. You could use nullptr to avoid it, but it's not supported by all compilers.
//The error should have been removed from MSVS2012				
std::pair<float,VertexPointer> zz(0.0f,static_cast<VertexPointer>(NULL));
2013-03-24 16:33:50 +00:00
Paolo Cignoni 1fef63b1da improved a bit the basic step of the voronoi clustering 2013-03-22 17:07:55 +00:00
Paolo Cignoni e94cfb5a43 Refactored a bit the extended marching cube core. Cleaned up a bit the trivial walker to be used by both of them. Updated the sample for marching cube. 2013-03-22 17:06:41 +00:00
Paolo Cignoni 3a9a72c098 removed a useless template specialization to a few std::make_pair 2013-03-22 16:53:42 +00:00
Paolo Cignoni 12543d68a2 Removed also from this file the deprecated dependencies from linalg. NOW EVERY PIECE OF THE VCG relies on eigen for linalgebra. 2013-03-20 08:32:53 +00:00
Paolo Cignoni 72d67f4a11 Added parenthesis to clearly disambiguate if/then/else 2013-03-20 08:28:30 +00:00
Paolo Cignoni 5aaa6f4720 harmless small refactoring 2013-03-13 14:59:34 +00:00
Paolo Cignoni f62e07ee66 Corrected the behavoiour of the allocate::Compact when managing uninitialized and null element in adjacency 2013-03-13 14:33:09 +00:00
Paolo Cignoni 6950be4594 Improved comment/documentation. Changed throws in require 2013-03-13 14:00:29 +00:00
Paolo Cignoni 8446dbc168 corrected a wrong interface to poisson pruning (left after recent changes) 2013-03-13 00:16:51 +00:00
Paolo Cignoni 8f45cb352e Added a simpler CompactEveryVector to allocate to compact face edge and vertices... 2013-03-13 00:15:13 +00:00
ganovelli 4253c2f3b6 corrected bug on appending perFace and perEdge attributes
(thanks to Minghua Nie for pointing it out).
2013-03-11 11:53:26 +00:00
Paolo Cignoni d61c5c24a1 Slight change of the PoissonDiskPruning interface. Removed a useless parameter (the original surface mesh) 2013-03-01 08:34:33 +00:00
Paolo Cignoni 0f34456c92 further cleaning up and commenting 2013-02-28 15:51:38 +00:00
Paolo Cignoni 391e376be7 Cleaned up a bit. Only a bit. 2013-02-28 07:02:20 +00:00
Paolo Cignoni 26392a560b Corrected a small bug in the Poisson disk sampling: as an unwanted side effect invoking the sampling will change the size of the bbox of the mesh. Mostly harmless but weird. 2013-02-23 05:50:27 +00:00
Nico Pietroni 4799f4c4bc minor changes 2013-02-19 13:54:14 +00:00
Nico Pietroni 1f91e92f9a changed the strategy to find point to fix in an automatic way, and some minor changes in comments 2013-02-19 13:53:33 +00:00
Paolo Cignoni 0839617d99 Corrected a small bug in the simpler wrapper for the generation of a poisson disk distribution over a mesh 2013-01-31 10:50:19 +00:00
ganovelli 8c998ccd11 vcg::tri::Allocate<MESH>::Get*Attribute(m,name);
has CHANGED!

Before it was returning a valid handle to the attribute
IF it existed, otherwise the handle was invalid.
 
Now it always returns a valid handle to the attribute,
by creating the attribute name if it did not exist or returning
the handle to it if it was already there.

ALl the code using Get*Attribute  has been changed accordingly.
2013-01-30 17:18:55 +00:00
ganovelli 512da45bf7 updated to new GetPer*Attribute 2013-01-30 17:14:47 +00:00
Paolo Cignoni 2b9a9f2be2 removed a useless loop in the update cycle of the heap of the edges to be collapesed. Stupid bug pointed out by Enrico (thanks!) 2013-01-28 15:42:24 +00:00
Paolo Cignoni 69ca459335 Restructured Extrude.h in order to allow the easy separation of the side and top/bottom components 2013-01-23 08:35:23 +00:00
Nico Pietroni e633317b58 added include matrix44.h 2013-01-22 10:51:56 +00:00
Nico Pietroni 37e8a2118b changed tri::RequirePerEdgeFlags to RequirePerEdgeFlags 2013-01-22 10:50:40 +00:00
Nico Pietroni cb13855328 corrected 1 compilation error SetVertCrossVectorFromFace 2013-01-22 09:58:20 +00:00