Commit Graph

2064 Commits

Author SHA1 Message Date
Massimiliano Corsini dad1103184 poisson disk sampling (under construction...) 2009-01-15 22:38:37 +00:00
ganovelli 87b8c55144 added Allocator::IsValidHandle which returns true if an handle to an attribute is valid or if the attribute
has been removed. This modification affects timesh/allocate.h and trimesh/base.h
2009-01-15 17:41:59 +00:00
matteodelle 12e32feb59 Replaced forgotten CMeshO with MESH_TYPE in line 314 2009-01-15 17:31:23 +00:00
Massimiliano Corsini f5e4f86859 2009-01-15 17:03:08 +00:00
Paolo Cignoni 957fb711ed minor gcc compilation issues 2009-01-15 16:00:46 +00:00
Paolo Cignoni 0a287f7bce added missing function for setting flags on faces 2009-01-15 15:59:51 +00:00
Massimiliano Corsini 15ae5168f2 further step in poisson disk sampling development.. 2009-01-15 15:32:10 +00:00
Massimiliano Corsini b810569a61 use point<ScalarType> instead of Point3d in Grid(.) 2009-01-15 15:31:22 +00:00
Massimiliano Corsini a7c15f807d add index-to-box conversion 2009-01-15 15:30:07 +00:00
Federico Ponchio d0ad7cbacc fabs -> math::Abs 2009-01-15 14:29:05 +00:00
granzuglia 72eb2f753e added GetColumn3,GetColumn4,SetColumn 2009-01-15 13:42:30 +00:00
Paolo Cignoni ab8fe0462d added some missing typename for gcc compiling 2009-01-15 08:04:12 +00:00
Paolo Cignoni 0e037cabc1 added multisampling distance field evaluation 2009-01-15 01:31:09 +00:00
Paolo Cignoni f001af1c5c better comments and removed useless code 2009-01-15 01:25:15 +00:00
ganovelli 729cd02057 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2009-01-14 17:45:18 +00:00
Massimiliano Corsini fdaa2e88d1 poisson disk under development... (not working for now) 2009-01-14 17:12:12 +00:00
Paolo Cignoni 45ffbac554 added a forgot std:: 2009-01-14 16:22:40 +00:00
Paolo Cignoni 2497e3d286 Added Edge Uniform sampling function that takes samples uniformly only on the mesh edges by regularly subdividing them 2009-01-14 15:56:07 +00:00
Paolo Cignoni 1f992d7929 Added helper function to returning a list of all the unique edges of a mesh 2009-01-14 15:54:50 +00:00
Paolo Cignoni d236258507 added silly stuff needed for the MS implementation of hash_multimap 2009-01-14 14:55:50 +00:00
Paolo Cignoni dec8245691 Corrected a missing underscore in a preprocessor define check 2009-01-14 13:33:33 +00:00
Paolo Cignoni 3f38ad70da Complete re-wrote of the refinement code. Now the predicate is called only once for each edge. no more std:maps are used but the new attributes to store temporary pointers inside newly subdivided faces. 2009-01-14 01:18:34 +00:00
Paolo Cignoni 9dc34faae4 added missing face flags clear/setting members 2009-01-14 01:16:11 +00:00
Paolo Cignoni 3cee0f23b5 commented out a addCell call that was undefined 2009-01-13 21:10:57 +00:00
Paolo Cignoni 9849e12bd1 removed nasty useless undefs 2009-01-13 15:52:27 +00:00
Paolo Cignoni fdf4e402f3 forgot a couple of std:: 2009-01-13 06:33:53 +00:00
Paolo Cignoni 017d27dc36 Better commnts and other minor beautifications 2009-01-13 06:27:01 +00:00
Paolo Cignoni a546c88a7c Heavy restructured the whole spatial hashing. Much shorter code. The dynamic part is now missing... 2009-01-12 22:46:00 +00:00
Massimiliano Corsini c4ca67e959 fix typo 2009-01-12 16:11:37 +00:00
Paolo Cignoni 417c52b7b0 Better comments clarifying the purpose of Samplers and Algorithms for sampling 2009-01-12 16:01:49 +00:00
Massimiliano Corsini 1a05696eb5 first sketch of the Poisson disk (projection-based) sampling 2009-01-12 14:22:03 +00:00
Massimiliano Corsini abbf0d60ce starting to implement PoissonDisk sampling 2009-01-11 15:43:58 +00:00
Massimiliano Corsini 44aa343da6 minor changes in poisson disk 2009-01-09 17:05:10 +00:00
Massimiliano Corsini 3586a13438 replace rand() with MarsenneTwister generator 2009-01-09 14:35:46 +00:00
Paolo Cignoni 51e1718626 added the possibility to decide the size of the grid with an optional parameter of the Set 2009-01-08 11:29:24 +00:00
Paolo Cignoni 28c4843567 Heavily restructured. Now more robust and allow also the creation of discretized surfaces 2009-01-08 11:26:49 +00:00
Paolo Cignoni 3e85ffd0ff New function for computing baric coords in a more robust way 2009-01-08 11:24:54 +00:00
Paolo Cignoni 20272bf7ac gcc compilation issues 2009-01-08 07:52:16 +00:00
ganovelli 8ae63ef1c3 - added optional parameter to return the closest vertex as a vertex attribute
- added a tolerance to check triangle inequality
2009-01-07 14:25:46 +00:00
ganovelli 2e7bde9f24 more clean up, unified single and multiple sources cases 2009-01-06 15:13:43 +00:00
Paolo Cignoni 0db413a1f4 fix compilation 2008-12-29 12:01:23 +00:00
ganovelli 818129d045 refactorized but Still to clean up;
It seems to work but "continuous" distance estimation cannot work with multiple sources.
In this case edge leght estimation is used.
2008-12-22 19:51:11 +00:00
Paolo Cignoni 56d93a02b6 Othography. Fartest -> Farthest 2008-12-21 07:44:29 +00:00
Paolo Cignoni 190e1612c7 added VVStarVF that computes the star of a given vertex exploiting VF adjacency 2008-12-21 01:41:07 +00:00
Paolo Cignoni eca304e5f5 mark of Vertex should not be named HasFaceMarkOcf!! 2008-12-21 01:39:46 +00:00
Paolo Cignoni 36c902097a put class in namespace tri, removed useless parameter from DistanceFromBorder() 2008-12-21 01:37:29 +00:00
ganovelli 157301b773 change to comply random generation 2008-12-19 10:40:31 +00:00
ganovelli 39ffa7cd3d [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:39:32 +00:00
ganovelli 8a1fdbe37f [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:34:41 +00:00
ganovelli 045832c348 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:34:17 +00:00
ganovelli d88ae15696 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:33:51 +00:00
ganovelli 4f8ed978a7 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:33:23 +00:00
ganovelli f9a1578c8d [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:33:01 +00:00
ganovelli 49b4970452 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:32:32 +00:00
ganovelli c9b6f8f7c8 2008-12-19 10:31:56 +00:00
ganovelli 698f6cbd7e [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:30:51 +00:00
ganovelli d3682195ca replaced a "3" with a f->VN() 2008-12-18 17:53:42 +00:00
ganovelli db04989f13 added support for meshes with holes 2008-12-18 17:52:48 +00:00
Paolo Cignoni 20b46e3122 added the default use of a safe random generator for shuffling vectors (mingw rand seems really bad...) 2008-12-18 00:30:52 +00:00
Paolo Cignoni 0b15c9b4b4 added a few const, and a default value for the generate(int) call 2008-12-18 00:29:03 +00:00
Paolo Cignoni c2c940338e added a missing PerFaceFromCurrentVertexNormal mode 2008-12-18 00:27:47 +00:00
Marco Callieri 7548c5e2ac corrected a pow argument casting 2008-12-16 09:52:04 +00:00
Paolo Cignoni 0f0ac756e4 Polar Functor is now templatized 2008-12-15 13:16:00 +00:00
Paolo Cignoni a9a17a0713 Aligned with current implementation of RandomGenerator 2008-12-15 08:49:02 +00:00
ganovelli ca3f973398 added unsupported to deprecated in the warning 2008-12-12 18:11:42 +00:00
ganovelli 76eefc7fb8 added unsupported to deprecated in the warning 2008-12-12 18:10:36 +00:00
Paolo Cignoni 8ef495be20 added test to skip degenerate triangles in curvature computation 2008-12-12 15:08:36 +00:00
Paolo Cignoni 4e2808a64e added assert for avoiding to put trash into a histogram 2008-12-12 15:06:27 +00:00
Paolo Cignoni 46cc8c7327 Removed harmless warnings 2008-12-11 13:56:37 +00:00
Paolo Cignoni 85dc63a154 moved here from meshlab. Long time due. 2008-12-11 13:52:25 +00:00
Paolo Cignoni 3485b76d8f Added explicit casts 2008-12-09 11:36:34 +00:00
Paolo Cignoni 8f591655f3 added comment on the two critical asserts 2008-12-09 07:52:27 +00:00
Paolo Cignoni 2143a5138a corrected bug in PerVertexFromCurrentFaceNormal (wrong use of Construct() ) 2008-12-09 07:51:33 +00:00
Paolo Cignoni a37e44cff1 Made create:box working. Current version was plain wrong. Thanks to Lorenzo Marchi 2008-12-08 14:56:28 +00:00
Paolo Cignoni 0047c70cae Translated comments, added various notes, removed some dead code, changed a bit the interface of the default edgelen predicate 2008-12-05 22:57:20 +00:00
Paolo Cignoni 0e13472efb corrected a wrong assert in grid creation function 2008-12-05 22:55:36 +00:00
Paolo Cignoni e744ca1c0e added the missing HasPerVertexMark 2008-12-05 22:45:05 +00:00
Paolo Cignoni f6388be600 added VertexSet, the dual of UpdateFlags::VertexClear(bitmask); 2008-12-05 22:44:03 +00:00
Paolo Cignoni 007d6b94f5 added two const to the next and prev index returning functions 2008-12-05 22:42:55 +00:00
Paolo Cignoni cca3b3ad5f cleaned up a lot of typename gcc compilation issues 2008-12-02 10:04:16 +00:00
Paolo Cignoni 928c8dd997 Removed harmless warnings 2008-11-28 14:55:45 +00:00
Paolo Cignoni 62c3f721aa Added missing include trimesh/allocate.h 2008-11-28 13:45:39 +00:00
Paolo Cignoni 13e5060688 Re-added the original constructor with the seed. Very useful for using custom static generators. 2008-11-27 21:04:17 +00:00
ganovelli 3cbdda3232 added EmptyEEAdj to the type holder 2008-11-27 18:21:01 +00:00
ganovelli 1d263ec3ff added the possibility to include a container of edges as a third parameter.
This mod should be  fully backward compatible (tested .net 2005 and gcc 4.2.4)
2008-11-27 18:01:07 +00:00
Massimiliano Corsini b73fba8706 refactoring 2008-11-27 16:39:05 +00:00
Paolo Cignoni 46b3024de6 Changed as to include new Random methods 2008-11-27 15:05:36 +00:00
Massimiliano Corsini c13722fd54 minor changes 2008-11-27 11:49:17 +00:00
Massimiliano Corsini 67d185c384 other bugs fixed 2008-11-27 11:37:23 +00:00
Massimiliano Corsini 7b8d3a07f0 first fixes 2008-11-27 11:31:01 +00:00
Massimiliano Corsini 50a436594e re-styled and improved uniform random number generator 2008-11-27 11:27:54 +00:00
ganovelli 9d8e452e65 added Alloc to support polygon meshes 2008-11-26 17:58:15 +00:00
ganovelli 01750729b6 missing checks on deleted simplex added 2008-11-26 17:57:09 +00:00
ganovelli faeef173e8 added AddEdge and RemoveEdge (still much ongoing) 2008-11-26 17:56:00 +00:00
ganovelli 4cae6b5107 added the update of the pointers related to the AddEdges 2008-11-26 17:46:31 +00:00
ganovelli a00abdc73c added EmptyHEData in EdgeBase 2008-11-26 17:43:28 +00:00
ganovelli cb547de5ec removed a few bugs, added EmptyHEData class 2008-11-26 17:42:55 +00:00
ganovelli 327874865a removed a few bugs on calls to Alloc() 2008-11-26 17:41:47 +00:00
Massimiliano Corsini 992a808685 2008-11-20 17:00:30 +00:00
Paolo Cignoni 8e23847cab Distance functor is now a template parameter 2008-11-20 16:24:42 +00:00