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