Commit Graph

20 Commits

Author SHA1 Message Date
Federico Ponchio d0ad7cbacc fabs -> math::Abs 2009-01-15 14:29:05 +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 8a8eb6fb65 add the possiblity to sort eigenvalues/vectors according to their absolute values 2008-10-24 17:21:53 +00:00
ganovelli b457b0c978 removed printf 2008-03-17 11:36:37 +00:00
Nico Pietroni 09acf65187 -added some explicit CASTs in order to avoid warning if one use float instead of double as ScalarType 2007-01-29 00:18:20 +00:00
Paolo Cignoni a927c50c8d Added missing typedef for gcc compiing 2006-09-29 08:36:10 +00:00
Paolo Cignoni 4e76390661 Removed some warnings 2006-09-28 22:49:49 +00:00
Paolo Cignoni 5905c197b6 added some typename directives 2006-07-28 12:39:05 +00:00
Paolo Cignoni 68b176d276 Changed the template argument in JacobiRotate and added method for sorting eigenvalues and eigenvectors (SortEigenvaluesAndEigenvectors) 2006-07-24 07:26:47 +00:00
Paolo Cignoni 3d8bbcc87f added missing internal prototype to Sort function 2006-05-25 09:35:55 +00:00
Paolo Cignoni 1e8fb101d5 Added initial disclaimer 2006-05-17 09:26:35 +00:00
Paolo Cignoni 179d96b098 Added enum for the sorting strategy of the result in SVD. 2006-05-15 07:36:50 +00:00
Paolo Cignoni 26ce24dec3 Added method for sorting the singular values computed by the SingularValueDecomposition procedure 2006-04-29 10:20:52 +00:00
Federico Ponchio cf9d5743fb Added newline at end of file (tired of stupid warnings...) 2005-10-24 09:20:28 +00:00
Paolo Cignoni 5ef378ec5a add define header 2005-10-03 16:19:44 +00:00
Paolo Cignoni 825c3b9a0c minor changes to comply gcc compiler 2005-03-30 17:18:13 +00:00
Paolo Cignoni 77dc6537fa bug fixed in SingularValueBacksubstitution 2004-10-18 12:18:10 +00:00
Paolo Cignoni 7767e4a63b Added SingularValueDecomposition method 2004-10-18 08:25:28 +00:00
Paolo Cignoni d403de71f8 Little fix on Jacobi() function 2004-10-15 14:17:53 +00:00
Paolo Cignoni 546d4d88e1 Initial commit 2004-10-15 13:44:09 +00:00