Commit Graph

739 Commits

Author SHA1 Message Date
Nico Pietroni 48bca62885 corrected some minor warning 2014-08-01 00:24:55 +00:00
Nico Pietroni 2134c8f064 corrected some minor warning 2014-08-01 00:24:21 +00:00
Nico Pietroni 3dfce75a37 2014-08-01 00:18:43 +00:00
Nico Pietroni 3c6625d060 added DoRay and Closest Point queries 2014-08-01 00:17:06 +00:00
Nico Pietroni 8909e9205a removed one commented line 2014-08-01 00:16:23 +00:00
Nico Pietroni 2c2b5b1319 added constructor with center and radius 2014-08-01 00:15:51 +00:00
Nico Pietroni 433d070691 added RayBoxIntersection function and RaySegmentIntersectionFunctor 2014-08-01 00:15:14 +00:00
Nico Pietroni 565308c80d corrected one bug in closest point 2014-08-01 00:14:25 +00:00
Nico Pietroni cd83a42ea6 added PointSegment2DEPFunctor 2014-08-01 00:13:25 +00:00
Nico Pietroni 6902670e48 indented and remove include of triangle3 2014-08-01 00:12:49 +00:00
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 a743e93a70 Reasonable but harmless clang warning cleanup 2014-07-03 21:28:40 +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 cf856d0a6b Reasonable but harmless clang warning cleanup 2014-07-01 10:08:00 +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
Paolo Cignoni 01ab3c4e68 Templated the Lerp color operator to allow use with double... 2014-06-24 08:46:49 +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
Luigi Malomo 6ac9919471 added static member Zero() to point3 2014-05-28 22:44:08 +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 bf1e2977d0 Corrected a wrong usage of IntersectionSegmentTriangle (could not compile...) 2014-04-07 14:48:16 +00:00
Nico Pietroni b87832a022 added PlanePointSquaredDistance function 2014-04-07 06:30:30 +00:00
Nico Pietroni b400ca4b75 added Mirror function 2014-04-07 06:29:32 +00:00
Paolo Cignoni 6f7e2872af Removed useless include 2014-02-18 20:18:13 +00:00
Paolo Cignoni bbae89aa94 Many small changes to remove useless annoying warnings. 2014-02-13 16:29:51 +00:00
Paolo Cignoni e829dff8af added a const to a parameter passed by reference. 2014-02-13 16:29:21 +00:00
Paolo Cignoni 6efdd91ecc Many small changes to remove useless annoying warnings. 2014-02-13 15:52:17 +00:00
Federico Ponchio 57880ef231 Replaced Eigen::Vector3f p; with Eigen::Matrix<S,3,1> p; (support for double precision). 2014-02-12 15:07:19 +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
Gianpaolo Palma eeaabe684c Compiling errors fixed in the function ClosestPoint2Box2 2013-11-28 16:34:20 +00:00
granzuglia fa8a11fd32 - added missing include 2013-11-28 12:55:58 +00:00
Paolo Cignoni fba7d7873e removed spurious printf 2013-11-25 10:31:01 +00:00
Paolo Cignoni 3bdf666e86 Changed the interface of the interpolating function of a segment (2D and 3D) from the ambiguous P(float) to Lerp(float). Note that with the previous interface it could happen that seg.P(1) != seg.P0() just becouse seg.P(1) was the result of a lerp. 2013-11-06 16:06:57 +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 04268b170f Removed all references to the useless old vcg::math::Swap 2013-07-26 07:01:21 +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 4ab12a165f uniformed syntax of the name of the parameters of the rect packer 2013-04-15 20:57:15 +00:00
Paolo Cignoni a1c03d2e61 uniformed syntax of the name of the parameters of the rect packer 2013-04-15 20:56:40 +00:00
Paolo Cignoni 84b8170401 Changed the default of the param and added the automatic reverse of flipped outlines 2013-03-26 23:02:23 +00:00
Paolo Cignoni c73b9a7727 Added first version of the rasterized outline packer written by Andrea Bernabei 2013-03-26 11:30:59 +00:00
Paolo Cignoni 9bd9f9fdc7 Further cleaning up and factorization of the stuff for the raster outline packer 2013-03-26 11:25:47 +00:00
Paolo Cignoni ea5c88be1a corrected harmless bug (misleading j/i scopes in nested for's) 2013-03-25 13:10:40 +00:00
Paolo Cignoni f156a5a82c Updated version of the oldpolyrect packer. Reasonably extended to multiple domain. To be tested/replaced 2013-03-13 19:09:50 +00:00
ganovelli 9e45730d93 DIstance to SignedDistance 2013-03-13 09:40:55 +00:00
Paolo Cignoni 888b89f834 Added reading and wrinting of polygon to simple ascii files 2013-03-13 00:14:21 +00:00
Federico Ponchio 383c16acd4 changed P() to something less ugly. 2013-03-04 20:35:03 +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
ganovelli 8c998ccd11 vcg::tri::Allocate<MESH>::Get*Attribute(m,name);
has CHANGED!

Before it was returning a valid handle to the attribute
IF it existed, otherwise the handle was invalid.
 
Now it always returns a valid handle to the attribute,
by creating the attribute name if it did not exist or returning
the handle to it if it was already there.

ALl the code using Get*Attribute  has been changed accordingly.
2013-01-30 17:18:55 +00:00
Paolo Cignoni 7a205ecad6 removed harmless warnings 2012-12-02 15:07:17 +00:00
Paolo Cignoni dc44ff8265 Added ComputeSimilarityMatchMatrix (and removed useless printout...) 2012-11-27 22:49:21 +00:00
Paolo Cignoni 2cbd4b7964 Added support for the color support in STL files (both the SolidView and the Magics 'standard'). 2012-11-27 07:05:38 +00:00
Paolo Cignoni 9a47f8db4c removed unused var... 2012-11-22 23:32:35 +00:00
Paolo Cignoni 039bc9bafa Added the new version of the point matching code. Now it is under space and no more under math 2012-11-22 23:29:43 +00:00
Paolo Cignoni 8f079de515 Added a bunch of 'c' to component members to clarify constant access 2012-11-15 19:14:29 +00:00
Paolo Cignoni 8b4d04be7a Added a bunch of 'c' to component members to clarify constant access 2012-11-15 19:11:28 +00:00
Paolo Cignoni 0d95c87141 Removed the old normal extrapolation 2012-11-08 17:20:31 +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 027da6f0a8 Just changed the default number of rotation attempt for packing OO polygons 2012-10-23 08:48:26 +00:00
Paolo Cignoni b26b406f8f Added a ToEigenVector method 2012-10-22 18:43:24 +00:00
Paolo Cignoni c87cd495de Rewrote of the Fitting to plane functions. Added Weighted version and sample 2012-10-22 18:27:30 +00:00
Paolo Cignoni 1918c53a09 Cleaning of names and reordering of Color functions 2012-10-19 11:52:57 +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
Paolo Cignoni 372ee1ed99 Corrected a small (!) bug in the IntersectionSegmentTriangle. (the line triangle intersection function returns a **signed** distance...) 2012-10-15 09:42:05 +00:00
Paolo Cignoni 19675a4e33 Deprecating the use of old dangerous linear algebra code. Please use Eigen!
Now attempting to include lin_algebra will block your compilation...
2012-10-11 10:48:55 +00:00
Paolo Cignoni fc75c0c62d Harmless gcc warnings 2012-10-09 07:05:45 +00:00
Paolo Cignoni c059114300 Orthography lenght -> length 2012-10-08 09:05:11 +00:00
Paolo Cignoni dfc9192715 Orthography lenght -> length 2012-10-08 09:03:25 +00:00
Nico Pietroni 1aecce2033 added IsCCW function 2012-10-03 16:39:29 +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
Paolo Cignoni 7e4e023266 Removed a dubious unused normalize method... 2012-07-03 09:29:48 +00:00
Paolo Cignoni b08fda7641 Corrected SegmentPointSquaredDistance to do not use anymore a hardcoded EPSilon value... 2012-07-02 16:45:49 +00:00
Nico Pietroni 066f46c20b first release version 2012-06-22 14:27:33 +00:00
Nico Pietroni 614a5fec16 first release version 2012-06-22 14:25:35 +00:00
Nico Pietroni 0e3d2abcfd corrected return value of closest point 2012-06-22 14:23:33 +00:00
Federico Ponchio cb639a12d7 renamed from max/min to hi/low 2012-06-14 09:40:26 +00:00
Nico Pietroni d4ad0bd6f6 added check if length of segment is zero then function SegmentPointDistance still works 2012-05-25 13:32:48 +00:00
Paolo Cignoni 7537b20933 Added a NormalizedDirection method 2012-05-05 14:54:45 +00:00
Paolo Cignoni 8eb94a7f9d Changed ColorRamp non static method into a static one (that constructs a Color4b object) and added a more uniform SetColorRamp method. 2012-04-18 21:17:04 +00:00
Paolo Cignoni b57a747441 rewriting of the SegmentPointSquaredDistance, now it is much much much shorter. 2012-03-14 15:57:37 +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 1def190868 harmless gcc warnings 2012-02-09 17:55:41 +00:00
Paolo Cignoni 790cf5d7ef Added a second function to compute the distance between a point and a box, according to the fact that you need the distance between the surface of a box or the distance from the filled box (e.g. the distance is 0 inside the box) 2012-02-09 17:30:54 +00:00