Commit Graph

255 Commits

Author SHA1 Message Date
Luigi Malomo 2e5ac741a8 added closest face function which returns also barycentric coordinates and the interpolated normal for the closest point.
fixed Inside class for checking if a point is inside a mesh
minor fixes
2014-07-26 14:44:59 +00:00
Paolo Cignoni c2f98a8595 Added missing standard vcg header comment 2014-07-12 05:49:07 +00:00
Paolo Cignoni d520fe2f0e Corrected small clang typename issues 2014-07-11 13:00:44 +00:00
Gianpaolo Palma 31fb567321 Thread-safe refactoring of the class KdTree.
Removed methods:
void setMaxNofNeighbors(unsigned int k);
inline int getNofFoundNeighbors(void);
inline const VectorType& getNeighbor(int i);
inline unsigned int getNeighborId(int i);
inline float getNeighborSquaredDistance(int i);

Added methods:
void doQueryDist(const VectorType& queryPoint, float dist, std::vector<unsigned int>& points, std::vector<Scalar>& sqrareDists);
void doQueryClosest(const VectorType& queryPoint, unsigned int& index, Scalar& dist);

Changed methods:
void doQueryK(const VectorType& queryPoint,  int k, PriorityQueue& mNeighborQueue);
2014-07-11 11:52:52 +00:00
Gianpaolo Palma 0491ceedeb Added method "sort(bool)" to sort the element of the queue in ascending or descending order 2014-07-11 11:35:15 +00:00
Paolo Cignoni 5e910a0058 Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType 2014-07-01 10:08:30 +00:00
Paolo Cignoni f576d96d39 Templated the IPiToPf and IPfToPf function to allow volumes with scalar type different from the one of the meshes 2014-06-24 08:47:34 +00:00
Gianpaolo Palma f97ccfbf56 Added destructor to HeapMaxPriorityQueue 2014-06-20 13:55:19 +00:00
Paolo Cignoni f5778fd180 Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType 2014-06-20 07:04:42 +00:00
Paolo Cignoni 03206b6bc4 Added a VectorConstDataWrapper to simply create a kdtree from a vector of point3f 2014-04-17 09:50:21 +00:00
Paolo Cignoni c085b7d6ba Added a IPtoPfMatrix method to the grid class Returns the matrix that applied to a point in grid space transforms it in the original space. 2014-04-17 08:17:08 +00:00
Paolo Cignoni 6f7e2872af Removed useless include 2014-02-18 20:18:13 +00:00
Paolo Cignoni e829dff8af added a const to a parameter passed by reference. 2014-02-13 16:29:21 +00:00
Massimiliano Corsini 171510a59b fix name of hash functor to avoid conflict with the 3D spatial hash 2014-02-11 13:48:52 +00:00
Luigi Malomo dd7e419215 corrected visibility classification for leaf BVs in frustum culling. 2013-09-26 17:26:47 +00:00
Luigi Malomo cf4844f4a4 fixed a bug in frustum culling.
objects that are not in the halfspace determined by the plane direction will be culled.
2013-09-26 11:16:26 +00:00
Luigi Malomo e65be2aa17 added Empty() and Clear() members to AABBBinaryTreeIndex. 2013-08-30 11:44:54 +00:00
Paolo Cignoni be3e74ca6a Refactored CountInSphere / RemoveInSphere for the PoissonDisk sampling optimizations (now you can just count the element inside a given sphere without removing them. 2013-06-24 07:57:18 +00:00
Paolo Cignoni 32423ca043 Improved comment on the order of the returned elements in a kdtree 2013-01-31 10:44:44 +00:00
Paolo Cignoni 8e9430889c simple orthographic errors in comments 2012-11-07 17:56:07 +00:00
Paolo Cignoni 2c32f546ef Added a VertexConstDataWrapper to the kdtree helper classes for a simpler use of a kdtree to index the vertexes of a mesh 2012-10-25 16:55:52 +00:00
Paolo Cignoni f96cbbe7e4 Made the member with the distfunctor no more a reference but a copy. To avoid issues when passing temporary dist functors... 2012-10-18 09:01:51 +00:00
Paolo Cignoni d3d85dd0c0 corrected small bug in the gridclosest scanning function that caused rescan of the inner box when the search region in the uniform grid was growing. 2012-10-18 08:44:11 +00:00
Massimiliano Corsini 47adc093b2 add the possibility to specify the cell size 2012-09-19 09:05:40 +00:00
Massimiliano Corsini dec783bcf0 add SetByPointers to deal with containers of pointers instead of containers of elements 2012-09-03 13:50:42 +00:00
Massimiliano Corsini f16b821dc0 minor fix 2012-08-27 15:50:55 +00:00
Nico Pietroni fc97ed0e1c added support for primitive subdivision into cells 2012-08-27 12:47:12 +00:00
Nico Pietroni 461c8e1552 added support for primitive subdivision into cells 2012-08-27 12:46:50 +00:00
granzuglia 0448e15f5b - removed compile time errors 2012-07-23 12:16:17 +00:00
Massimiliano Corsini a5bec5b623 Fix Remove method (replace 3d box with 2d box) 2012-07-20 11:07:04 +00:00
Paolo Cignoni 58eced0506 Changed one of the init overload Set(), the one that allowed to specify the cell radius but ACTUALLY it did not use it...
now has a new name : SetWithRadius
2012-07-06 09:40:09 +00:00
Paolo Cignoni 38b8ab1f15 Corrected a bug in GridStaticPointer: The hint about the number of cell to be used was ignored and used only to compute the expansion offset. 2012-07-06 06:58:17 +00:00
Paolo Cignoni b77fa00b5e removed a few unused commented out funcs 2012-07-04 15:27:17 +00:00
Nico Pietroni 066f46c20b first release version 2012-06-22 14:27:33 +00:00
Paolo Cignoni bc57fc36b4 Moved here and cleaned the kdtree for points implemented by Gael 2012-02-22 16:57:44 +00:00
Paolo Cignoni 2fe129645b Rolled back 2011-10-05 15:04:40 +00:00
ganovelli 017323e803 IptoP changed into IPfToPf 2011-04-13 16:15:13 +00:00
Paolo Cignoni 6a876e1fc9 removed warnings due to deprecated hash map usage 2011-02-17 16:40:56 +00:00
Paolo Cignoni 7eaece45af harmless gcc warnings 2011-02-17 11:41:21 +00:00
Paolo Cignoni 8446d9f566 added method to know if a spatial indexing structure is empty or not 2010-11-09 08:15:14 +00:00
Paolo Cignoni 070c47b0a5 added method to know if a spatial ubdexing structure is empty or not 2010-11-09 08:12:58 +00:00
Paolo Cignoni 349e9869cf Updated many vcg files to do not use anymore the vcg::Max(a,b) and vcg::Min(a,b). Use the std version instead. 2010-09-21 22:09:13 +00:00
Federico Ponchio 1017656a61 returned closest point was wrong. 2010-07-15 19:37:59 +00:00
Nico Pietroni ac4a79bc8f corrected call to new function Name IntersectionRayBox 2010-04-21 17:22:39 +00:00
Paolo Cignoni bdc74ae3b4 uniformed to the new intersection naming schemas 2010-04-20 00:59:38 +00:00
Paolo Cignoni 0165f918f1 removed harmless gcc warnings 2010-03-26 09:43:45 +00:00
Paolo Cignoni fba6bd5917 removed harmless warnings/English Comments 2010-03-18 10:04:55 +00:00
Paolo Cignoni 95e1b391c8 min in std limits is a function 2010-02-11 20:07:27 +00:00
Paolo Cignoni fbbf8fe436 Removed gcc4.4 warnings 2009-12-08 15:57:19 +00:00
Paolo Cignoni 32619f1625 harmless gcc compiling issues 2009-12-03 23:17:46 +00:00