Commit Graph

57 Commits

Author SHA1 Message Date
ganovelli 9e45730d93 DIstance to SignedDistance 2013-03-13 09:40:55 +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 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 c059114300 Orthography lenght -> length 2012-10-08 09:05:11 +00:00
Paolo Cignoni 5bb5c1a1eb Correct a function name to match attribute order
IntersectionPlaneLine(line,plane) -> IntersectionPlaneLine(plane,line)
2012-01-18 16:41:34 +00:00
Paolo Cignoni 4c4d505b6f added assert for discouraging inconsistent triangleplane intersection 2011-11-21 08:54:35 +00:00
Paolo Cignoni 2fe129645b Rolled back 2011-10-05 15:04:40 +00:00
Paolo Cignoni db5320cc64 Modified IntersectionPlaneSegment so that it returns always the same intersection independently from the segment orientation
Return false if segment is parallel with the plane.
2011-05-11 09:56:23 +00:00
ganovelli dbd3bd1a70 rewritten wrong planeboxintersection 2011-04-13 16:07:35 +00:00
Nico Pietroni 6ad59d0756 corrected IntersectionSegmentTriangle calls, the value dist was not updated coherently 2010-10-15 15:15:27 +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
Paolo Cignoni 3291bb2889 Made uniform the naming of the intersection functions, added some comment and improved a bit the robustness of the triangle triangle intersection test in a mesh 2010-04-20 00:41:45 +00:00
Paolo Cignoni db53730ae7 better comments for intersectionLineTriangle 2010-04-14 09:16:13 +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
Marco Di Benedetto 915a7b40a1 call IntersectionRayTriangle in Intersection_Segment_Triangle instead of generic Intersection (missing overload). 2009-03-17 18:59:20 +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 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 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 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
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 1e2f4c1a80 Added IntersectionSegmentSphere 2007-05-29 14:33:29 +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 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
Marco Di Benedetto 50ed5305a4 Added const qualifier to bbox parameter in Intersection_Triangle_Box(). 2007-02-21 02:40:52 +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
ganovelli cba93abba3 Intersection_sphere_sphere added 2006-09-14 08:39:07 +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
Nico Pietroni f949a83faf Added functions:
- Intersection_Segment_Triangle
- Intersection_Plane_Box
- Intersection_Triangle_Box
2006-06-01 08:38:02 +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 31512102ed added Intersection_Segment_Box function 2006-01-20 16:35:51 +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 f3dd988af6 corrected 1 compiling error on Ray_Box_Intersection function 2005-09-30 13:11:39 +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 342c06717b Added functor RayTriangleIntersectionFunctor. 2005-09-29 11:48:00 +00:00
Marco Di Benedetto 1de3d80e9b Added intersection for ray-triangle (with Ray3 type). 2005-09-28 19:40:55 +00:00
Marco Callieri 1b05420d2a changed intersection names to more specific to avoid ambiguity 2005-06-29 15:28:31 +00:00
ganovelli 41945cf2d5 added intersection between tow planes (porting from old vcg lib) 2005-03-15 11:22:39 +00:00
Paolo Cignoni 0251d89f11 aggiunta intersect ray-box 2005-01-26 10:03:08 +00:00
Paolo Cignoni 2d18591782 Better Doxygen documentation 2004-10-13 12:45:51 +00:00
Federico Ponchio dedf484388 forgotten typename SEGMENTTYPE::... 2004-09-09 14:41:32 +00:00
Nico Pietroni d18f2f9f39 correcter .dir to .Direction and .ori in .Origin() 2004-08-09 09:48:43 +00:00
Nico Pietroni f610bf209c added rey triangle intersections funtions 2004-08-04 20:55:02 +00:00
Paolo Cignoni 398a5a60cc Added a cast to remove a warning 2004-07-11 22:08:04 +00:00