Commit Graph

284 Commits

Author SHA1 Message Date
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
Marco Di Benedetto 56412a6071 Modified objapplyfunctor to nodeapplyfunctor. 2005-10-15 19:14:35 +00:00
Paolo Cignoni 9a78285793 Removed the supposedly wrong first parameter in the three invocation of ClassType::BoundObjects. 2005-10-12 09:59:40 +00:00
Paolo Cignoni 08a49f7305 Minor changes in Set method: added use of template scalar type computing BBox. 2005-10-07 13:27:22 +00:00
Nico Pietroni a3d7b98a34 corrected bug on Set Function .... bbox must be exetended in order to have'nt any object on his borde 2005-10-05 17:05:08 +00:00
Nico Pietroni f0724dd9e9 corrected bug on closest Iterator 2005-10-05 17:04:45 +00:00
Marco Di Benedetto b7d4a5efd6 First Commit, new version. 2005-10-05 01:59:56 +00:00
Marco Di Benedetto 797d8f344f *** empty log message *** 2005-10-05 01:58:21 +00:00
Marco Di Benedetto 2a3744d4d8 Removed "parent" pointer class member in Node class. 2005-10-05 01:43:28 +00:00
Marco Di Benedetto ded83f251f Node children are now tested in ascending ray-T order. 2005-10-05 01:40:56 +00:00
Paolo Cignoni 97c08b13f3 erase wrong assert on boxToIbox function 2005-10-03 16:21:10 +00:00
Nico Pietroni 3a54e6d7c3 added GetInSphere and GetInBox functions 2005-10-03 13:58:21 +00:00
Nico Pietroni 3fd167568f added GridGetInSphere and GridGetInBox functions 2005-10-03 13:57:32 +00:00
Nico Pietroni bccc1ad129 optimized Closest iterator
added possibility to pass a point p that is outside the bbox of the indexing structure
2005-10-03 10:06:53 +00:00
Nico Pietroni 418bf58a24 changed Set functions, added possibility to pass the bbox as parameter 2005-10-03 10:05:26 +00:00
Paolo Cignoni 1422c01d7a Small bug in the computation of the intersection between the todo box and the grid bbox that failed for extrema points. 2005-10-02 23:18:06 +00:00
Paolo Cignoni 010877c2b8 English comment and moved typedef to public scope 2005-10-02 23:16:26 +00:00
Paolo Cignoni e40b78b1af Inveted the boolean sign of an assert in Grid() 2005-10-02 23:15:26 +00:00
Paolo Cignoni f44089209e Changed the default strategy for building a AABB tree. Now the max num of elem per leaf is a constant (10) 2005-10-02 23:13:30 +00:00
Paolo Cignoni eb14792ee4 Completely rewrote the GridClosest, now it:
- works for point out of the grid
- expands the box in a distance coherent way
- does not re-visit already visited cells
- shorter code!!
( still to be tested :) )
2005-09-30 15:12:16 +00:00
Paolo Cignoni 0bccd8ca77 Reordered grid access functions
Added possibility of setting BBox explicitly in Set(...)
2005-09-30 15:07:28 +00:00
Nico Pietroni baf89ec27c added functions:
- GetKClosest
     - DoRay
2005-09-30 13:15:48 +00:00
Nico Pietroni a3c311feda added wrapping to functions defined in GridClosest:
- GetClosest
     - GetKClosest
     - DoRay
2005-09-30 13:15:21 +00:00
Nico Pietroni 6416a20ba2 changing order of parameter for functor calling (distance to point, intersection to ray...) 2005-09-30 13:13:47 +00:00
Nico Pietroni 94f3ed0fa9 basic grid class is derived from Indexing base class defined in base,h 2005-09-30 13:12:46 +00:00
Marco Di Benedetto 5b15048c38 Removed '&' in FrustumCull() method. 2005-09-29 22:20:49 +00:00
Marco Di Benedetto 0b4247dff6 Added frustum culling methods, renamed some parameters. 2005-09-29 22:18:16 +00:00
Marco Di Benedetto 521dd26e02 Removed. All functors are in appropriate files. 2005-09-29 11:49:38 +00:00
Marco Di Benedetto add80bd224 Added Point3::Construct() in ray-face functor
to handle tree and objects with different ScalarType.
2005-09-28 21:24:44 +00:00
Marco Di Benedetto bf84eeafe0 Added Import() to box and barycenter functors
to handle tree and objects with different ScalarType.
2005-09-28 21:23:03 +00:00
Marco Di Benedetto 21d8967063 First Commit. 2005-09-28 20:14:53 +00:00
Marco Di Benedetto 478c812d2d Removed. Now common utils are in wrap/utils.h 2005-09-28 19:59:39 +00:00
Marco Di Benedetto 3f8831798f Removed for new version. 2005-09-28 19:58:00 +00:00
Marco Di Benedetto a8e493209e #included aabb tree base. 2005-09-28 19:57:18 +00:00
Marco Di Benedetto cd7fc5bedf All functors but FaceRayIntersectFunctor removed and placed in appropriate files. 2005-09-28 19:55:08 +00:00
Marco Di Benedetto cb0aab5473 #included aabbtree base. 2005-09-28 19:49:13 +00:00
Marco Di Benedetto c8ff470b30 Removed hit point parameter, #included aabbtree base. 2005-09-28 19:48:31 +00:00
Marco Di Benedetto ab147cbfbc First Commit. 2005-09-28 19:44:49 +00:00
Marco Di Benedetto c553959046 First Commit. 2005-09-28 17:19:28 +00:00
Paolo Cignoni 2db605e2be Added a control to avoid multiple check of the same cells during radial expansion
Still miss some code to properly initialize when point is out of the BBox of the grid.
2005-09-28 08:27:11 +00:00
Paolo Cignoni a2115a7d6c Renamed to grid_closest 2005-09-27 15:10:23 +00:00
Paolo Cignoni f73826de44 First Version 2005-09-27 15:09:38 +00:00
Marco Di Benedetto fefa8ab4c3 First Commit. 2005-09-26 18:33:16 +00:00
Marco Di Benedetto 8e50d54365 Removed for new dirtree 2005-09-26 12:23:28 +00:00
Marco Di Benedetto 798bc841c5 FaceRayIntersectFunctor implementation finished, added necessary headers. 2005-09-22 22:43:42 +00:00
Marco Di Benedetto 123fd375a6 Corrected bug in IntersectionBoxRay() and some undeclared variable errors. 2005-09-22 18:57:07 +00:00
Marco Di Benedetto bcd64129e2 Old versions removed. Now AABBBinaryTree has its own folder. 2005-09-22 13:13:36 +00:00
Marco Di Benedetto 82c6f3e0b8 First Commit. 2005-09-22 13:03:16 +00:00
Nico Pietroni 15405e5e3c Added DynamicSpatialHAshTable class 2005-09-21 14:22:49 +00:00
Nico Pietroni 329b50d96e removed closest functions. Closest function is now on index\\Closest.h
Users must use trimesh\\closest.h to perform spatial query.
2005-09-21 09:22:51 +00:00
Nico Pietroni 5866d71f45 added maximum radius control on Closest Itarator function:
if (radius>=max_dist)
	end=true;

in Nextshell( ) function
2005-09-21 09:21:20 +00:00
Nico Pietroni 77d69c2aec first working version 2005-09-21 09:19:21 +00:00
Nico Pietroni 69b2d6596c added temporary mark for closest iteartor 2005-09-20 14:02:16 +00:00
Nico Pietroni 68d1cfee4e Changed Closest Iterators template arguments functor
Corrected Bug in Ray Iterators Added Elems.clear() on Init method
2005-09-20 12:32:33 +00:00
Nico Pietroni 54c8562e3a use of standard grid interface
use of vector instead of map inside the cell
removed closest iterator
2005-09-19 13:35:45 +00:00
Nico Pietroni be78e8d97f first release version 2005-09-19 13:33:58 +00:00
Paolo Cignoni 1e7094c90d A lot of attempts in gcc compiling... 2005-09-16 12:03:11 +00:00
Paolo Cignoni edc816917a missing gcc typenames 2005-09-16 12:02:22 +00:00
Paolo Cignoni dc56fe4537 Removed two wrong typenames 2005-09-16 11:57:15 +00:00
Paolo Cignoni 40b2a1f36d removed wrong typename and added ending \n 2005-09-16 11:56:38 +00:00
Marco Di Benedetto 316f8dba50 Modified interface for search compatibility and facilities. 2005-09-16 10:05:05 +00:00
Marco Di Benedetto 15ce3360ed Modified interface, added GetKClosest(). 2005-09-16 10:04:15 +00:00
Marco Di Benedetto f8ba5762e2 General interface redefinition, added special functors for faces. 2005-09-16 10:03:46 +00:00
Paolo Cignoni e6739a6a71 fixed bugs 2005-09-15 13:16:42 +00:00
Nico Pietroni 417bf69fc3 minor changes 2005-09-15 11:15:00 +00:00
Paolo Cignoni 05a23b3e5f minor changes 2005-09-14 13:27:38 +00:00
Nico Pietroni 92665798d1 canged template parameters for Closest Function (use of TempMark class) 2005-09-14 12:57:52 +00:00