Commit Graph

14 Commits

Author SHA1 Message Date
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 711c985689 update to the new single template BasicGrid 2008-07-01 12:37:27 +00:00
Federico Ponchio 3bb9c7cbc6 Addded check for no color in mesh 2007-11-06 16:12:24 +00:00
Paolo Cignoni 5f423b1e96 Added ColorPreserving Cellbase template. 2006-06-08 13:55:16 +00:00
Paolo Cignoni 6ffc992641 Re-adapted to ms compilers 2006-05-26 10:18:11 +00:00
Paolo Cignoni 18458e04a2 Many changes for the different interpretation of hash_set between gcc and .net. Probably to be completed. 2006-05-25 09:37:14 +00:00
Marco Di Benedetto 9ced8993e3 Corrected bbox inflation amount in case of _cellsize != 0 2006-05-24 16:42:22 +00:00
Paolo Cignoni 31d29d1f32 better comment to the init parameters 2006-05-24 15:16:01 +00:00
Paolo Cignoni a21b630e88 Added missing std:: to swap 2006-05-24 08:54:04 +00:00
Paolo Cignoni 83a8f5efa3 Added DoubleFace management 2006-05-21 06:40:31 +00:00
Marco Di Benedetto f001cdf2e2 Added check for empty generated mesh (prevent call to mesh allocator with zero vertices or faces). 2006-05-19 20:49:03 +00:00
Marco Di Benedetto acf23d578f added check for deleted faces and modified/added std namespace qualifier. 2006-05-18 22:20:53 +00:00
Paolo Cignoni b24b496f50 Some minor optimizations 2006-05-18 13:59:20 +00:00
Paolo Cignoni c3833c0aa7 First working Version 2006-05-16 21:56:06 +00:00