Commit Graph

250 Commits

Author SHA1 Message Date
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
Nico Pietroni caf5812fec added * operator to Link
modified getClosest in order to use Temporary mark
corrected bug on functor calling compilation
2005-09-14 09:05:32 +00:00
Marco Di Benedetto f170dc4a13 First Commit 2005-09-11 11:46:43 +00:00
Marco Di Benedetto 574063e052 First Commit 2005-09-10 13:22:44 +00:00
Marco Di Benedetto ff6ba606df Modified old GetClosest() to respect old min_dist semantic (in/out) and removed #included <limits> 2005-09-09 11:29:21 +00:00
Marco Di Benedetto f36832fbde #included <limits> for std::numeric_limits<ScalarType>::max() and corrected parameters bug in old GetClosest(); 2005-09-09 11:11:15 +00:00
Marco Di Benedetto 7aa52d9530 Modified GetClosest(): now it uses a functor for distance calculation.
Added comments and a GetClosest() method with backward compatibility.
2005-09-09 11:01:02 +00:00
Paolo Cignoni 3259439f67 Added a templated version of SetBBox 2005-08-26 09:27:58 +00:00
Nico Pietroni 66921c752b exetended form BasicGrid, changed type of t in class Link (from Iterator to Pointer to the object) 2005-08-02 11:18:36 +00:00
Nico Pietroni 7bc4ef59fd added IPToP and IBoxToBox functions, modified BoxToIBox function in order to use PToIP function 2005-08-02 11:01:05 +00:00
Paolo Cignoni a96663b39e First working version 2005-07-28 08:41:00 +00:00
Paolo Cignoni 875b913314 corrected error in GridP (did not compile) 2005-07-28 06:11:12 +00:00
Paolo Cignoni b537c21b4c Added a class BasicGrid with some utility function that are scattered among similar classes 2005-07-01 11:33:36 +00:00
Nico Pietroni 1f72e96683 minor changes 2005-06-15 11:44:47 +00:00
Nico Pietroni cd855e4e57 resolved hash code conflicts 2005-06-01 13:47:59 +00:00
Federico Ponchio f766cf6773 *** empty log message *** 2005-04-14 17:23:08 +00:00
Paolo Cignoni e974b9c948 Removed BestDim function from the grid_static_ptr class and moved to a indipendent file (grid_util.h) for sake of generality. 2005-03-15 11:43:18 +00:00
ganovelli 95e02ebe5e there was a debug line, now removed 2005-03-15 09:50:44 +00:00
ganovelli 2d6e353608 ClosestK added and other minor changes 2005-03-14 15:11:18 +00:00
ganovelli 7610457632 added ClosersIterator and other minor changes. Not compatible with the previous version.
Still other modifications to do (temporary commit)
2005-03-11 15:25:29 +00:00
ganovelli 34679d1176 added vcg header 2005-02-21 12:13:25 +00:00
Paolo Cignoni 7a2475edd5 Added some casts 2005-01-03 11:21:26 +00:00
Nico Pietroni ea41fb5580 first release version 2004-12-16 18:00:51 +00:00
Federico Ponchio 16d1909ad0 SetBox minimal change. 2004-09-28 10:25:05 +00:00
Federico Ponchio da556417cc Small bugs fixed. 2004-09-23 14:29:42 +00:00
Federico Ponchio 17623f1cbe Removed SetSafeBBox. SetBBox is now safe enough. 2004-09-23 13:44:25 +00:00
Paolo Cignoni dea8a1e895 included stdio.h 2004-09-09 12:44:39 +00:00
ganovelli 363a14700e minor changes for gcc 2004-09-09 08:39:29 +00:00
ganovelli 260665c528 added Grid to return all the cells sharing a specified edge 2004-06-25 18:34:23 +00:00
Federico Ponchio 956a626273 Added some help and inndentation 2004-06-23 15:49:03 +00:00
ganovelli 2739634d38 changed calls to Dist 2004-05-12 18:50:58 +00:00
ganovelli cfbe1314df changed to grid_static_obj to grid_static_ptr 2004-05-11 14:33:46 +00:00
ganovelli 51d36a0451 created 2004-05-10 14:57:23 +00:00
ganovelli d7d6388dbf created 2004-05-10 14:45:46 +00:00
Paolo Cignoni b91d8334d5 Initial commit 2004-03-08 09:24:59 +00:00