Commit Graph

749 Commits

Author SHA1 Message Date
Nico Pietroni 24cf3c430a Added ScalarType Length() const function 2009-06-30 16:13:19 +00:00
Nico Pietroni 7c6296c80d * Corrected SegmentSegmentIntersection function
* In LineLineIntersection substituted EPSILON with Eps
2009-06-30 16:11:10 +00:00
Nico Pietroni 10c5f72af2 Corrected 1 bug in DistancePoint2Box2 function 2009-06-30 16:07:13 +00:00
Paolo Cignoni b2bc0d07ba small gcc compilation errors (typenames, missing std...) 2009-06-25 07:29:29 +00:00
Marco Di Benedetto 4e6b4a5b8f added Offset() method. 2009-06-05 09:32:47 +00:00
Federico Ponchio e888ef1560 removed some useless consts 2009-06-03 12:23:20 +00:00
mtarini 0856e6a2eb added CosWedge which returns the cos of a wedge 2009-05-26 17:50:18 +00:00
Paolo Cignoni 0f4817d486 Correct a bug. 2009-05-23 20:14:53 +00:00
Paolo Cignoni f5126d7ffe renamed a EPSILON variabile to avoid name clash 2009-05-18 15:06:11 +00:00
ganovelli 0524e1ac62 corrected the implementation of IntersectionSegmentPlane (compiled .net only) 2009-04-29 09:37:42 +00:00
Paolo Cignoni 4420e5102b Strictly less than instead of less than equals in
RayTriangleIntersection
2009-03-25 08:27:58 +00:00
Paolo Cignoni 42c90d1439 corrected two small compiling errors... 2009-03-19 22:11:35 +00:00
Marco Di Benedetto 93dade9042 modified DistancePoint3Box3 for out-of-box distance. 2009-03-19 21:13:38 +00:00
Marco Di Benedetto 389cc089db Added non-const pointer accessor. 2009-03-19 11:13:17 +00:00
Marco Di Benedetto 0e2bc54b52 Added non-const pointer accessor. 2009-03-19 11:12:23 +00:00
Marco Di Benedetto 915a7b40a1 call IntersectionRayTriangle in Intersection_Segment_Triangle instead of generic Intersection (missing overload). 2009-03-17 18:59:20 +00:00
Nico Pietroni 6b781dc660 changed evaluation of AreaGlobal in InterpolationParameters function 2009-02-27 16:15:28 +00:00
ganovelli 573c151241 bug on search cycle corrected (it was looping forever with vertices and twice slower with other elements) 2009-01-29 11:27:32 +00:00
Paolo Cignoni f4ec24c552 Restored Ray-Triangle Intersection (as an extension of IntersectionLineTriangle) 2009-01-23 14:33:13 +00:00
ganovelli f6b42772eb added IntersectionLineTriangle 2009-01-22 14:34:27 +00:00
Paolo Cignoni 713a6b6155 Passed const bbox parameter by reference in the getBBox 2009-01-19 23:12:11 +00:00
Paolo Cignoni 266ddc1a42 added a const operator to the spatial hashing iterator 2009-01-19 23:10:43 +00:00
ganovelli af76e5fde8 added keyword "public" for deriving SpatialHashTable from SpatialIndex 2009-01-16 17:01:17 +00:00
Massimiliano Corsini b810569a61 use point<ScalarType> instead of Point3d in Grid(.) 2009-01-15 15:31:22 +00:00
Massimiliano Corsini a7c15f807d add index-to-box conversion 2009-01-15 15:30:07 +00:00
Paolo Cignoni d236258507 added silly stuff needed for the MS implementation of hash_multimap 2009-01-14 14:55:50 +00:00
Paolo Cignoni dec8245691 Corrected a missing underscore in a preprocessor define check 2009-01-14 13:33:33 +00:00
Paolo Cignoni 9849e12bd1 removed nasty useless undefs 2009-01-13 15:52:27 +00:00
Paolo Cignoni fdf4e402f3 forgot a couple of std:: 2009-01-13 06:33:53 +00:00
Paolo Cignoni 017d27dc36 Better commnts and other minor beautifications 2009-01-13 06:27:01 +00:00
Paolo Cignoni a546c88a7c Heavy restructured the whole spatial hashing. Much shorter code. The dynamic part is now missing... 2009-01-12 22:46:00 +00:00
Paolo Cignoni 51e1718626 added the possibility to decide the size of the grid with an optional parameter of the Set 2009-01-08 11:29:24 +00:00
Paolo Cignoni 3e85ffd0ff New function for computing baric coords in a more robust way 2009-01-08 11:24:54 +00:00
ganovelli 157301b773 change to comply random generation 2008-12-19 10:40:31 +00:00
Paolo Cignoni cb22994ef5 Restored TMARKER as a copied, not referenced, class 2008-11-03 16:21:52 +00:00
Paolo Cignoni dfc6417426 Changed IPToP calls into IPiToPf, Markers passed by reference 2008-10-31 10:40:06 +00:00
Paolo Cignoni 49c72bc54e Disambiguated some grid utility names (IPtoTP into IPfToPf and IPiToPf) in order to avoid ambiguities (due to automatic cast?) 2008-10-30 09:01:03 +00:00
Paolo Cignoni 6627c21d43 added a missing dot() product for the conservative people still using deprecated stuff... 2008-10-30 07:39:33 +00:00
Paolo Cignoni 69a82d6174 fix the is "inaccessible" issue with g++-4.0.1 - more fixes ;) 2008-10-29 11:29:57 +00:00
Paolo Cignoni 696f763c3d fix the is "inaccessible" issue with g++-4.0.1 2008-10-29 11:28:51 +00:00
Paolo Cignoni e587581275 add transposeInPlace and duplicate V(int) 2008-10-29 11:17:11 +00:00
Paolo Cignoni 07f2e976ea * change all remaining Transpose to transpose,
* update the gl/math wrappers to make them more Eigen friendly
  (and remove the useless, and not used, and somehow dangerous
   *Direct and *E functions)
* add automatic reinterpret_casting from Eigen::Matrix to vcg
  specialized types
2008-10-29 00:05:44 +00:00
Paolo Cignoni 0361427bc0 big cleaning in Point* and Matrix*, now they are very closed to be simple typedef of
Eigen's Matrix. Now the dilema is how to mimic those typedefs, using inheritence ?
or using the classic workaround: typename Point3<float>::Type; with Point3<T>::Type defined
to Eigen::Matrix<T,3,1>. Anyway currently I support both (and the inheritence scheme has
to be preserved for compatibility). The advantage of the second approach is that when
eigen has to evaluate an expression it uses an Eigen::Matrix<>, so it is probably better
to only use Eigen::Matrix but I'm not 100% sure that makes a big difference especially if
we add some automatic reinterpret_cast between Eigen::Matrix and vcg::Point*....
2008-10-28 20:06:17 +00:00
Paolo Cignoni 6e0b8fe1aa added import vector 2008-10-28 15:00:16 +00:00
Paolo Cignoni c1551eddfd make Point derive Eigen's Matrix and some cleanning 2008-10-28 11:47:37 +00:00
Paolo Cignoni 7befff7bec make point2 derived Eigen's Matrix, and a set of minimal fixes to make meshlab compile
with both old and new version. The fixes include:
- dot product: vec0 * vec1 => vec0.dot(vec1) (I added .dot() to the old Point classes too)
- Transpose: Transpose is an Eigen type, so we cannot keep it if Eigen is used. Therefore
  I added a .tranpose() to old matrix classes, and modified most of the Transpose() to transpose()
  both in vcg and meshlab. In fact, transpose() are free with Eigen, it simply returns a transpose
  expression without copies. On the other be carefull:  m = m.transpose() won't work as expected,
  here me must evaluate to a temporary: m = m.transpose().eval(); However, this operation in very
  rarely needed: you transpose at the same sime you set m, or you use m.transpose() directly.
- the last issue is Normalize which both modifies *this and return a ref to it. This behavior
  don't make sense anymore when using expression template, e.g., in (a+b).Normalize(), the type
  of a+b if not a Point (or whatever Vector types), it an expression of the addition of 2 points,
  so we cannot modify the value of *this, since there is no value. Therefore I've already changed
  all those .Normalize() of expressions to the Eigen's version .normalized().
- Finally I've changed the Zero to SetZero in the old Point classes too.
2008-10-28 00:59:46 +00:00
Paolo Cignoni 393ec38d54 quick fix in color4 2008-10-27 19:38:52 +00:00
Paolo Cignoni ab200fc950 Port to eigen2: state of the mess:
* curently nothing change if you don't define VCG_USE_EIGEN
* make Matrix*, Point3 and Point4 derive Eigen::Matrix (still ugly)
* now catching all the dot products to replace them by .dot()
  note that most of meshlab already compile
2008-10-27 19:35:17 +00:00
ganovelli 4002b9a706 created as a first working draft.
Tessellates a simple polygon with the earcut algorithm
assuming the polygon is  almost planar
2008-10-27 16:50:45 +00:00
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
ganovelli c0a5159672 changed member Zero() to SetZero() 2008-10-27 12:52:22 +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 b2960231ca corrected bug on PointBase class (thanks Oscar Barney) 2008-09-22 13:40:53 +00:00
granzuglia 728a9020c4 The class PointBase has been renamed as Point.
An empty class PointBase has been added for backward compatibility.
Mathematical operation (+,+=,*,etc) in class Point<N,S> has been implemented.
2008-09-10 14:04:09 +00:00
ganovelli 1185e2ab96 minor type changes to compile with gcc 2008-08-19 11:03:39 +00:00
ganovelli 3cb29c805b changed template from vcg::Triangle to generic class to allow to pass a vcg::FaceSimpX (recall: the disambiguation was done in the function name exactly for this reason) 2008-08-19 10:21:01 +00:00
ganovelli 82d9dec26a aadded this-> to + operator to compile with .net 2008-08-07 16:22:27 +00:00
ganovelli d35117d9c2 added precompiler check if FABS macro is already defined 2008-08-04 10:54:34 +00:00
ganovelli 57c0fc8238 added inclusion of point3.h, removed useless namespace in InterpolationParameters 2008-08-04 10:53:08 +00:00
ganovelli 08cdd7b3aa added a version of CreateTight which takes a std::vector 2008-08-04 10:50:53 +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
Federico Ponchio 75ee76b233 PlaneFitting returns the eigenvalues instead of true now. 2008-07-21 08:34:31 +00:00
Paolo Cignoni 4555f74ee3 added operator + between color with clamped specialization for unsigned chars 2008-07-09 15:18:08 +00:00
Paolo Cignoni 1407af2537 removed harmless warnings 2008-07-09 10:31:55 +00:00
Nico Pietroni 38c1cc7aaf changed epsilon value on InterpolationParameters function 2008-07-03 10:22:37 +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 616b3fedc5 Added the class oriented bounding box inherited from box3.h 2008-06-23 17:28:30 +00:00
Nico Pietroni 26e1c14de8 correct version of InterpolationParameters 2008-06-20 15:03:27 +00:00
Paolo Cignoni d95f6ee798 Added a constructor from point4 of the same type to allow the use of Point4 operator; e.g. col1 = col2 + col3
Added Clamp operator to get rid of out of 0..1 range values for floats
2008-06-17 23:08:53 +00:00
Paolo Cignoni 8972bf2ea2 added construct from and to float 2008-04-22 20:44:07 +00:00
Nico Pietroni 517108e947 corrected 1 warning in DistancePoint3Box3 function 2008-04-07 10:26:10 +00:00
Nico Pietroni 3edf76179c added default constructor 2008-04-07 10:24:55 +00:00
Nico Pietroni 8feedff976 correct 1 error on DistancePoint3Box3 (if the point is inside the box return distance to the nearest face instead of zero) 2008-03-05 11:48:08 +00:00
Nico Pietroni 94cb8fca1d added DistancePoint2Box2 2008-03-05 11:45:36 +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
Paolo Cignoni c6e1940149 Important Change. Now adding a null bbox to a bbox leave it unchanged (instead of trashing it) 2008-02-03 23:50:51 +00:00
Paolo Cignoni 57069766d4 corrected small bug in multitex coord indexing 2008-01-28 08:48:52 +00:00
Paolo Cignoni d87123b841 disambiguated sqrt call 2007-12-02 07:39:19 +00:00
Federico Ponchio 700ab9112d Added Mean Ratio metric for triangle quality. 2007-11-26 14:11:38 +00:00
ganovelli 9ff18f557b missing typename 2007-11-20 09:45:51 +00:00
Federico Ponchio f0d2300c82 QualityRadii values fixed. 2007-11-19 17:04:05 +00:00
Federico Ponchio e2dfebc909 Typo (missing comma). 2007-11-18 19:12:54 +00:00
Federico Ponchio 030feec36a Added qualityRadii: computes inradius /circumradius.
(ok the name is ugly...)
2007-11-16 14:22:35 +00:00
ganovelli c04c5cde70 added draft for sphereofsphres enclosing 2007-11-07 09:37:20 +00:00
Paolo Cignoni d3d7f047e4 added missing typenames 2007-10-16 16:45:49 +00:00
Nico Pietroni 71f3accd9c added Mirror function 2007-10-12 10:02:41 +00:00
Federico Ponchio 6c762759ab Added Circumcenter function. 2007-10-10 15:11:30 +00:00
Federico Ponchio 76721c28d1 Just a clarification comment 2007-09-21 11:34:10 +00:00
ganovelli 1fee504228 added ScalarType to tetra3 2007-07-31 12:35:42 +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 854717ecfc added a missing static to the Construct() member 2007-07-12 06:41:24 +00:00
Massimiliano Corsini bfbbe58a2a fix area 2007-07-02 10:01:00 +00:00
Paolo Cignoni 220baf92c7 Corrected gcc compiling issues 2007-07-02 04:25:32 +00:00
Federico Ponchio 54aa4df7c7 Made compatible with ScalarType = double 2007-06-20 09:26:42 +00:00
Paolo Cignoni 2ebecdde24 Added method that computes the minimum distance between a segment and a point 2007-06-12 15:40:41 +00:00
Federico Ponchio d8032a9bc0 *** empty log message *** 2007-06-08 14:57:29 +00:00
Paolo Cignoni 279306b9f7 Corrected error in the comment to method IntersectionSphereTriangle 2007-06-08 07:40:40 +00:00
Paolo Cignoni 9105a551cd Added IntersectionSphereTriangle 2007-06-07 15:16:39 +00:00
Paolo Cignoni ca8780af81 casting (size_t) to (int) to avoid annoying warning 2007-06-06 10:33:36 +00:00
Paolo Cignoni 1e2f4c1a80 Added IntersectionSegmentSphere 2007-05-29 14:33:29 +00:00
Paolo Cignoni 9fee0bfaaa Corrected wrong deallocation when octree was destroyed after being never used. 2007-05-10 10:48:49 +00:00
Paolo Cignoni 01277711b6 Corrected InterpolationParameters invocation 2007-05-10 09:31:15 +00:00
ganovelli b8df8c98db debug: function Offset called without pars 2007-05-08 18:54:20 +00:00
Nico Pietroni de99d5c2d9 corrected error on intersection line-circle 2007-05-08 13:49:08 +00:00
Nico Pietroni 43958eea39 added circle-line intersection 2007-05-08 12:11:58 +00:00
Paolo Cignoni 5dd620e4e4 Added enum Dimension; 2007-05-07 07:47:59 +00:00
ganovelli 339f609ece moved InterpolationParamaters out the class Triangle 2007-05-04 16:33:27 +00:00
ganovelli ec652a6d99 added cast to avoid warning 2007-05-04 16:17:24 +00:00
Paolo Cignoni e5d3f05580 commented out non compiling intersectionSpherePlane 2007-04-16 09:08:15 +00:00
Nico Pietroni 5644153c35 IntersectionPlanePlane first parameter is a const 2007-04-10 22:26:47 +00:00
Nico Pietroni 511f80625d - corrected and renamed distance to point ( function TrianglePointDistance) 2007-04-04 23:23:55 +00:00
Nico Pietroni 99afe015fd setted to const the parameter passed to function Projection 2007-04-04 23:22:29 +00:00
Nico Pietroni 477c03ffd1 - Changed name of intersection function between plane and triangle from Intersection to IntersectionPlaneTriangle.
- Added Intersection_Plane_Sphere function.
2007-04-04 23:19:40 +00:00
Nico Pietroni c466753fe5 corrected test with max distance in ray Iterator 2007-03-26 08:12:30 +00:00
Nico Pietroni 63e2cdd95f *** empty log message *** 2007-03-22 18:12:00 +00:00
Nico Pietroni 0aa99556bf *** empty log message *** 2007-03-22 17:29:16 +00:00
mtarini 8fed8aeed3 removed old "tcoord2". New name is "texcoord2" 2007-03-12 15:28:13 +00:00
mtarini 23a0cb0be4 New name (TCoord -> TexCoord). First commit after name change. 2007-03-12 15:26:56 +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
Marco Di Benedetto 50ed5305a4 Added const qualifier to bbox parameter in Intersection_Triangle_Box(). 2007-02-21 02:40:52 +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
mtarini c842c83b77 renamed all methods (now uppercase). Also, the Position of a TCoord is now "P()". Old methods name are left, just for now, for back-compatibility. They will be removed soon. 2007-01-30 19:04:50 +00:00
Nico Pietroni 385ee8ba62 - 1 warning corrected in InterpolationParameters function 2007-01-29 00:21:46 +00:00
Nico Pietroni aacbec3178 first working version 2007-01-25 01:11:10 +00:00
Nico Pietroni 9ec0e7b571 added:
- RayLineIntersection
- RaySegmentIntersection
- SegmentSegmentIntersection
2007-01-25 01:04:54 +00:00
Paolo Cignoni 97ae6e35ed Corrected a syntax error in stabledot 2007-01-18 01:27:44 +00:00
Paolo Cignoni 9ba5050193 Added (Normalized) Normal version templated on three points (instead forcing the creation of a new triangle) 2007-01-13 00:25:23 +00:00
Nico Pietroni 191896afbb added constructors :
-Triangle2()
     -Triangle2(const CoordType &p0,const CoordType &p1,const CoordType &p2)

added functions:
     - InterpolationParameters
     - PointDistance
2007-01-08 09:29:58 +00:00
Nico Pietroni 9cbf2c1c3c - added easpilon test on convex function.
- renamed Intersection function with  IsInsideTrianglePoint and optimized using bouding boxes
2007-01-08 09:26:33 +00:00
Nico Pietroni a2ee98e3e4 first release version 2007-01-03 15:49:48 +00:00
Nico Pietroni 56086c51ae added line-line and line-segment intersection 2007-01-03 15:49:00 +00:00
ganovelli 8403681640 using of locally defined variable removed 2006-12-20 15:23:52 +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
Massimiliano Corsini 952d3e61ca fix all errors and warnings gyven by gcc compiler 2006-11-16 14:48:48 +00:00
Massimiliano Corsini 900a46600e fix polar coordinates 2006-11-15 15:34:39 +00:00
Federico Ponchio 716d0b39f2 Added GetBBox in Point3 (declaration) the body of the function is in box3.h 2006-11-13 13:03:45 +00:00
Paolo Cignoni 642158fc32 many gcc compiling issues 2006-11-07 17:22:53 +00:00
Paolo Cignoni e2733d55df Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem 2006-11-07 15:13:57 +00:00
Nico Pietroni 478e2ad4cd corrected 1 bug in operator ++ of closest iterator 2006-10-26 08:28:50 +00:00
Nico Pietroni ad5a634220 added intersection control between bounding boxes for intersection between segment and triangle function 2006-10-25 16:04:32 +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 17979a3b54 In function Barycenter, replaced calls to (the inexistent) cP(i) with P(i) 2006-10-17 06:51:33 +00:00
Paolo Cignoni 5e4f12f28a minor changes to comply gcc compiler 2006-10-16 16:10:22 +00:00
Paolo Cignoni 00a0aeb381 Added **explicit** constructor from three coords of a different scalartype 2006-10-13 12:59:24 +00:00
Paolo Cignoni 7e30be53fa added callback... 2006-10-13 10:38:09 +00:00
Paolo Cignoni 8d056ebdd4 fixed some bugs 2006-10-12 14:15:13 +00:00
Paolo Cignoni 51efef83bf Conformed with the base interface 2006-10-12 11:02:57 +00:00
Paolo Cignoni 5b4f40661d Minor changes to work with the base-compliant octree 2006-10-12 11:02:37 +00:00
Paolo Cignoni b44fce7de9 added quality for triangle wrap 2006-10-10 09:33:47 +00:00
Marco Di Benedetto 0c31822d3c Implemented Scale() method (was only declared). 2006-10-07 16:51:43 +00:00
Marco Di Benedetto 6a2b32f3e4 Added Dim() method. 2006-10-07 16:50:26 +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
Marco Di Benedetto f2143e6efb added non const * V() 2006-09-28 13:37:35 +00:00
Marco Di Benedetto 532040d1bd Added "const" to Collide() 2006-09-28 13:37:13 +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 ac4efc84ef initial commit 2006-09-21 18:10:05 +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
ganovelli bb8cf89b85 added inclusion of sphere3 2006-09-14 08:46:00 +00:00
ganovelli 3f091b3013 changed t.P(*) in t.cP() nella funzione Barycenter 2006-09-14 08:44:07 +00:00
ganovelli cba93abba3 Intersection_sphere_sphere added 2006-09-14 08:39:07 +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
Massimiliano Corsini 57bcda4fd6 Fix invalid returning values 2006-08-29 12:57:14 +00:00
Massimiliano Corsini a4dec0385d Fix some bugs in color calculations
Add gamma correction
2006-08-24 16:51:06 +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
Massimiliano Corsini 12e2b13e02 first working version 2006-08-02 13:51:53 +00:00
Nico Pietroni b2c789ae43 added InitEmpty Function 2006-07-26 08:12:56 +00:00
Paolo Cignoni 9aa38646ff static keyword only in declaration not in implementation 2006-07-12 12:13:23 +00:00
Paolo Cignoni a84cf9c8dd explicit cast in _IsInHtable() to resolve a warning 2006-07-10 12:43:13 +00:00
Paolo Cignoni 12e55110da minor changes in SphereOfTetra() 2006-07-10 10:38:16 +00:00
ganovelli d263bf8d27 tolto il tipo enumerato axis 2006-07-06 12:42:10 +00:00
ganovelli 5630a1e252 typdef ..ScalarType added 2006-07-06 12:40:34 +00:00
ganovelli d4f068e4e0 adde barycenter() 2006-07-06 12:39:51 +00:00
ganovelli 69ddd70cf4 draft version. For the triangle is not tehe smallest enclosing sphere and for the set of spheres works only for two spheres 2006-07-06 12:37:18 +00:00
ganovelli 94af0e518b Aggiunte funzioni che determinano il lato magiore (minore) 2006-06-29 13:22:04 +00:00
ganovelli d839bc9238 forgot & 2006-06-21 11:07:25 +00:00
ganovelli f533b8abeb changed return type of Zero() (to void) 2006-06-21 11:06:16 +00:00
Marco Di Benedetto 78f25ae2a1 Added const qualifier to P() method. 2006-06-09 07:26:37 +00:00
Paolo Cignoni 5f2db06c23 gcc 4 needs the extra template keyword 2006-06-08 08:52:02 +00:00
Paolo Cignoni 8bfbf1111d Changes for compilation on linux AMD64. Some remarks: Linux filenames are case-sensitive. _fileno and _filelength do not exist on linux 2006-06-06 14:35:32 +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 3e649c465e added PointDistance function 2006-06-01 08:38:58 +00:00
Nico Pietroni f949a83faf Added functions:
- Intersection_Segment_Triangle
- Intersection_Plane_Box
- Intersection_Triangle_Box
2006-06-01 08:38:02 +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
Paolo Cignoni 1f4a4221e3 changes necessary for gcc 3.4.5 on linux 64bit. 2006-04-11 08:10:05 +00:00
Paolo Cignoni a1d3e8a371 Missing ';' (thx Maarten) 2006-03-29 07:53:36 +00:00
Nico Pietroni b2879b7333 IntersectionSegmentPlane and Intersection_Segment_Box functions Added 2006-03-20 14:42:49 +00:00
Nico Pietroni 0c0e9044cf compiled and corrected ClosestPoint function 2006-03-07 16:39:38 +00:00
Nico Pietroni 5dee0e155b added InterpolationParameters function 2006-03-01 15:59:34 +00:00
Nico Pietroni dc14636c2c compiled InterspolationParameters function 2006-03-01 15:35:09 +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
Paolo Cignoni 92c21e838d Very Important Change: Area->DoubleArea (and no more Area function) 2006-01-22 10:00:56 +00:00
Nico Pietroni 31512102ed added Intersection_Segment_Box function 2006-01-20 16:35:51 +00:00
Marco Di Benedetto 3fc1eb7c2c Corrected Pass-Through bits and added visit flag. 2006-01-19 13:54:49 +00:00
Marco Di Benedetto fc85374c3c Fixed product by scalar and SquaredNorm() 2006-01-19 13:53:19 +00:00
Paolo Cignoni 36e37b0a6c fix some bugs. 2006-01-03 12:44:58 +00:00
Nico Pietroni 2fd6045afa added #include<limits> 2005-12-14 17:03:13 +00:00
ganovelli b7e6720706 compiled with gcc 2005-12-12 11:22:32 +00:00
ganovelli f73fa19346 modifications to compile with gcc 2005-12-12 11:15:26 +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
Paolo Cignoni 5a7a294202 Added missing < operator 2005-11-30 08:38:01 +00:00
Nico Pietroni 5daefc19ce added IsInside() function 2005-11-29 16:20:33 +00:00
Nico Pietroni 5397953b4b 1 warning corrected 2005-11-23 15:55:35 +00:00
Paolo Cignoni cb35ae54ca Corrected small error in the ifdefs about USE_EPSILON_TEST and USE_TRI_TRI_INT_EPSILON_TEST 2005-11-16 16:04:40 +00:00
Paolo Cignoni 5a906c4a50 Added casts to remove warnings 2005-11-10 15:44:17 +00:00
Paolo Cignoni e739c6628f Added Abs and LowClampToZero 2005-11-09 16:11:55 +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
Federico Ponchio cf9d5743fb Added newline at end of file (tired of stupid warnings...) 2005-10-24 09:20:28 +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
Marco Di Benedetto 2a0cf74739 Corrected return type in Angle() and protected member access in unary operator - 2005-10-15 19:11:49 +00:00
Federico Ponchio f5a490079f Typename... as usual 2005-10-15 12:58:13 +00:00
ganovelli b47b530549 versione con svd 2005-10-13 14:59:57 +00:00
Federico Ponchio 4c140c3bd4 RayType ->Ray3 in a couple of location (not really sure is correct though...) 2005-10-12 17:29:42 +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
Federico Ponchio e9583c5020 Changed order of functions intersection_line_box and
intersectuion_ray_box
2005-10-03 16:07:50 +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
Paolo Cignoni 4086ccd28b Added Center-Radius Constructor 2005-09-30 15:03:57 +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
Nico Pietroni f3dd988af6 corrected 1 compiling error on Ray_Box_Intersection function 2005-09-30 13:11:39 +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
Nico Pietroni 7bf24066b2 Added function RayBoxIntersection, renamed intersection line box from "Intersection" to "Intersection_Line_Box" 2005-09-29 15:30:10 +00:00
Marco Di Benedetto 521dd26e02 Removed. All functors are in appropriate files. 2005-09-29 11:49:38 +00:00
Marco Di Benedetto 342c06717b Added functor RayTriangleIntersectionFunctor. 2005-09-29 11:48:00 +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