Commit Graph

250 Commits

Author SHA1 Message Date
ganovelli 573c151241 bug on search cycle corrected (it was looping forever with vertices and twice slower with other elements) 2009-01-29 11:27:32 +00:00
Paolo Cignoni 713a6b6155 Passed const bbox parameter by reference in the getBBox 2009-01-19 23:12:11 +00:00
Paolo Cignoni 266ddc1a42 added a const operator to the spatial hashing iterator 2009-01-19 23:10:43 +00:00
ganovelli af76e5fde8 added keyword "public" for deriving SpatialHashTable from SpatialIndex 2009-01-16 17:01:17 +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
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 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
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 cb22994ef5 Restored TMARKER as a copied, not referenced, class 2008-11-03 16:21:52 +00:00
Paolo Cignoni dfc6417426 Changed IPToP calls into IPiToPf, Markers passed by reference 2008-10-31 10:40:06 +00:00
Paolo Cignoni 49c72bc54e Disambiguated some grid utility names (IPtoTP into IPfToPf and IPiToPf) in order to avoid ambiguities (due to automatic cast?) 2008-10-30 09:01:03 +00:00
Paolo Cignoni 4db69febbe big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default) 2008-10-27 14:48:14 +00:00
Paolo Cignoni 57fe4376a2 fix a few warnings 2008-10-24 12:45:02 +00:00
Paolo Cignoni 9fc4f7d36f added a missing const to grid Create 2008-10-07 06:56:26 +00:00
ganovelli 7defccba1b getclosest update for \the new definition of distance functor 2008-09-30 11:01:09 +00:00
ganovelli 41bc27e33e Changed the type of query type. Made it dependend on distance functor 2008-09-24 09:28:53 +00:00
ganovelli 68d900ec7e changes to compile previous commit with gcc 2008-09-24 09:15:38 +00:00
ganovelli 6a649ee257 changes to comply the templatization of distance functor on the query type 2008-09-24 08:45:31 +00:00
ganovelli 3712ddfd50 - Change to avoid dangerous iterators decrement in RayITerator: reverse iterator used (same as in ClosestIterator)
-removed some old commented code
2008-07-29 16:05:29 +00:00
Paolo Cignoni 2dc0c1e1dc Fixed compilation bug under Visual Studio 2005 2008-07-29 13:01:10 +00:00
Paolo Cignoni 1407af2537 removed harmless warnings 2008-07-09 10:31:55 +00:00
Paolo Cignoni 711c985689 update to the new single template BasicGrid 2008-07-01 12:37:27 +00:00
Paolo Cignoni fa2c3fa060 updated the spatial indexing class to the new basicgrid class that has only one template parameter 2008-07-01 09:33:47 +00:00
Paolo Cignoni 4e227776f3 Removed one useless template parameter from the BasicGrid class and added a couple of useful accessory functions 2008-07-01 09:32:48 +00:00
Paolo Cignoni 66ee02eb49 __int64 is a MS only type. Added portability defines at the beginning. 2008-02-20 11:31:13 +00:00
Marco Callieri 3716a8c6df in BestDim(...) changed int -> _int64 to cope with programs with a very large cell number (like plyMC) 2008-02-19 12:43:01 +00:00
ganovelli 2dea5562fe typo corrected 2008-02-04 19:18:44 +00:00
Federico Ponchio 68032b71dd Added method Gather:
Using a cubic voxel of side <radius> (see Set with radius)
allows you to process all pairs of objects within radius distance.
Usefull to compute normals, weighted means etc.
Speedup is about 7x.
2007-07-16 16:59:26 +00:00
Paolo Cignoni 8bfd6c40e0 Splitted initialiazation functions of grid to add flexibility in the creation 2007-07-16 15:13:39 +00:00
Paolo Cignoni 220baf92c7 Corrected gcc compiling issues 2007-07-02 04:25:32 +00:00
Paolo Cignoni ca8780af81 casting (size_t) to (int) to avoid annoying warning 2007-06-06 10:33:36 +00:00
Paolo Cignoni 9fee0bfaaa Corrected wrong deallocation when octree was destroyed after being never used. 2007-05-10 10:48:49 +00:00
ganovelli ec652a6d99 added cast to avoid warning 2007-05-04 16:17:24 +00:00
Nico Pietroni c466753fe5 corrected test with max distance in ray Iterator 2007-03-26 08:12:30 +00:00
Nico Pietroni 00cc5e3f15 line 375, corrected 1 error concerning intersection with bounding of the grid 2007-03-08 17:05:50 +00:00
ganovelli 116707257a modif in ClosestIterator to include the last shell Si.siz [X|Y|X]. Tested with minialign and point based animation 2007-02-20 16:22:50 +00:00
Paolo Cignoni c4b0073433 Initial commit. Only the Set and GetInSphere methods of the SpatialIndex interface are implemented. 2007-02-18 22:43:10 +00:00
Paolo Cignoni fb51d1f3f9 end() replaced by pointer lastPlusOne 2006-12-06 17:47:50 +00:00
Nico Pietroni f2706529cf changed 1 wrong comment RayIterator---- Refresh .. was the opposite 2006-12-06 12:53:14 +00:00
Nico Pietroni 478e2ad4cd corrected 1 bug in operator ++ of closest iterator 2006-10-26 08:28:50 +00:00
Nico Pietroni a8b6014a73 corrected bug in closest iterator.. if doesn't find any alement at first cells examinated continue until find some element 2006-10-25 15:59:29 +00:00
Paolo Cignoni fe32dbea36 just few rearrangements... 2006-10-25 12:46:07 +00:00
Nico Pietroni 5799203aaf added max dist control and constructor 2006-10-25 09:47:53 +00:00
Paolo Cignoni 4b4dd13689 Minor bug fixed 2006-10-19 13:32:23 +00:00
Paolo Cignoni 9031924a14 Added some templatedoctree to compile under 2003 2006-10-18 15:11:26 +00:00
Federico Ponchio 6eb4a5b293 Working on mingw now. 2006-10-18 08:32:03 +00:00
Paolo Cignoni 5e4f12f28a minor changes to comply gcc compiler 2006-10-16 16:10:22 +00:00
Paolo Cignoni 51efef83bf Conformed with the base interface 2006-10-12 11:02:57 +00:00
Paolo Cignoni 60d1fa3ccd Re-added diff 1.12 by Pietroni (cancelled by previous rollback):
in GridDoRay function the RayIterator must be initialized with maximum distance
2006-10-02 09:34:03 +00:00
Paolo Cignoni 9f8cbf3f08 Reverted to version 1.10 to nullify dangerous marfr960's changes 2006-10-02 09:28:45 +00:00
ganovelli 8f509dd74d reverted to version 1.20 for critical bug 2006-10-02 09:25:49 +00:00
Paolo Cignoni 59d7770ebb Reverted to version 1.14 to nullify dangerous marfr960's changes 2006-10-02 07:47:57 +00:00
Paolo Cignoni 9cf176a0ff Added methods GetClosest, GetInSphere and GetInBox.
Changed signature of Set method to comply with the SpatialIndex interface
2006-09-28 22:49:15 +00:00
Paolo Cignoni 7a82eb0b6e fix some bugs 2006-09-28 09:55:28 +00:00
Paolo Cignoni 8ecd4dc8f2 bug fix, add return type to Init 2006-09-27 08:49:32 +00:00
Paolo Cignoni b6bca3a60b initial commit 2006-09-19 16:28:41 +00:00
Federico Ponchio ac98066038 numeric_limits::(max)() -> numeric_limits::max() 2006-09-18 14:21:59 +00:00
Paolo Cignoni cf6421124f casted returned value type to avoid warning C4267 2006-09-07 09:25:49 +00:00
Paolo Cignoni be5317d84c corrected bounds check in the cell scan in _IsInHTable 2006-08-31 13:26:17 +00:00
Paolo Cignoni 7fb7f4b401 ClosestIterator avoids to put the query point p into the result set 2006-08-31 13:19:59 +00:00
Nico Pietroni 1b117b6aba in GridDoRay function the RayIterator must be initialized with maximum distance 2006-08-29 15:38:36 +00:00
Paolo Cignoni 30c32f2445 added comments
corrected bad reference in void Grid( const Point3i & _c, CellIterator & first, CellIterator & last )
2006-08-23 15:23:05 +00:00
Paolo Cignoni f942fd8a4f *** empty log message *** 2006-08-23 15:22:14 +00:00
Paolo Cignoni ca680b6a32 added some comments 2006-08-23 15:21:35 +00:00
Paolo Cignoni fe330a06f7 corrected minor bugs 2006-08-23 15:20:14 +00:00
Paolo Cignoni ac9e757551 corrected bugs in ClosestIterator class : last element of Elems now is accessed with Elems.back()
corrected bug in ClosestIterator::Refresh() : when grid is called, *last have to be considered
corrected bug in ClosestIterator::End() : only coordinates strictly bigger than siz must be discarded
added several comments
2006-08-23 14:53:50 +00:00
Nico Pietroni b2c789ae43 added InitEmpty Function 2006-07-26 08:12:56 +00:00
Paolo Cignoni a84cf9c8dd explicit cast in _IsInHtable() to resolve a warning 2006-07-10 12:43:13 +00:00
Paolo Cignoni 517c74f506 added missing header 2006-06-01 20:53:56 +00:00
Nico Pietroni 26b64e4246 fixed bug in Ray Iterator .. function Init 2006-06-01 08:41:26 +00:00
Nico Pietroni f9d3653ae5 corrected bug in GridGetInBox function 2006-05-17 12:48:52 +00:00
Paolo Cignoni c5f4a75533 small GCC compiling issues 2006-04-20 08:30:27 +00:00
Nico Pietroni 165db89ccf added typenames declaration in rayIterator 2006-02-08 17:04:10 +00:00
Massimiliano Corsini 3b049ec0e4 fix signed/unsigned mismatch 2006-01-27 09:58:47 +00:00
Federico Ponchio 88614c2f37 gcc compatibility (templates mostly)
bbox -> this->bbox
More consistent use of Box3x and such.
2006-01-23 21:26:57 +00:00
Federico Ponchio 52c3f0e4d4 P1 --> HASH_P1
Old definition was conflicting with functions in segment.h
2006-01-23 15:26:31 +00:00
Federico Ponchio efbad3a4fd Uncommented #include <..../intersection3.h>
for Intersection_Ray_Box...
2006-01-23 11:41:03 +00:00
Marco Di Benedetto 3fc1eb7c2c Corrected Pass-Through bits and added visit flag. 2006-01-19 13:54:49 +00:00
Nico Pietroni 2fd6045afa added #include<limits> 2005-12-14 17:03:13 +00:00
Nico Pietroni aa0575519c added deleted objects control for GridClosest() function call 2005-12-06 18:00:39 +00:00
Paolo Cignoni db9a497910 Forgotten a base deferencing like the previous one
Note also the different possible sintax with this-> instead of the base class name
2005-12-02 00:43:31 +00:00
Paolo Cignoni 03007bab77 Corrected typename usage and removed excess ';' from end of template functions, for gcc compiling 2005-12-02 00:30:27 +00:00
Paolo Cignoni 02e28cc9e5 updated the templates of BasicGrid 2005-12-02 00:29:00 +00:00
Paolo Cignoni 15e94d470a removed excess typenames 2005-12-02 00:27:22 +00:00
Paolo Cignoni 6a70c599b2 Added and removed typenames for gcc compiling.
Added base class qualifier for referencing the elemntes of the templated base class (BasicGrid)
it seems to be needed by the standard
2005-12-02 00:25:13 +00:00
Paolo Cignoni 703e2d7dce Added typenames, ending cr and removed a MAXFLT disliked by gcc 2005-12-02 00:20:32 +00:00
Marco Di Benedetto 9cb3bc6dbb Added std:: namespace for max() and min(). 2005-11-30 16:01:25 +00:00
Marco Di Benedetto 0b08afa4f8 Added (int) cast to std::distance to prevent compiler warning message. 2005-11-30 10:32:44 +00:00
Marco Di Benedetto f229a9e9e6 Added methods to flag visibility. 2005-11-30 09:57:13 +00:00
Nico Pietroni 5397953b4b 1 warning corrected 2005-11-23 15:55:35 +00:00
Paolo Cignoni 5a906c4a50 Added casts to remove warnings 2005-11-10 15:44:17 +00:00
Nico Pietroni 9a29bd3f63 added dynamic spatial hashing class for dynamic updating of entries (and relative functions) 2005-11-07 14:15:36 +00:00
Marco Di Benedetto 329b7edb38 Added PASS_THROUGH flags. 2005-10-26 11:42:03 +00:00
Marco Di Benedetto 2579c02256 Removed child ordered traversal. 2005-10-26 11:41:07 +00:00
Marco Di Benedetto 7d23e4284b Fixed bug in Refresh() ray iterator (Elems.size() > 0). 2005-10-17 08:59:26 +00:00