Commit Graph

26 Commits

Author SHA1 Message Date
ganovelli eb3f1a97fc added HasPerVertexVFAdjacency and HasPerFaceVFAdjacency. Removed
generic HasVFAdjacency which made the logical AND of the two and updated the 
relative calls.
2010-06-24 12:35: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
ganovelli bb741600ca <limits.h> to <limit> 2008-09-30 11:41:04 +00:00
Paolo Cignoni 2caf6034f3 Added SQRT_TWO 2008-05-28 08:51:32 +00:00
Paolo Cignoni 68effd0f7a Added IsNAN 2007-07-24 07:09:17 +00:00
Nico Pietroni f8eeaae81f added explicit cast in function inline float Sqrt(const int v) in order to avoid warnings 2007-01-08 09:23:49 +00:00
Paolo Cignoni ebc0ac52c0 Added two sqrt templates for resolving ambiguity of sqrt(int) 2006-10-13 13:14:50 +00:00
Paolo Cignoni 6d5c0cd0f7 Removed excess ';' from end of template functions, for gcc compiling 2005-12-01 01:03:37 +00:00
Paolo Cignoni 14a1c4c1e7 Aggiunte macro sin/cos/atan per C++ Builder 2004-08-31 15:42:59 +00:00
ganovelli 700d8efbef limits function cancelled 2004-05-10 13:00:14 +00:00
ganovelli cee79014d1 correction on templates 2004-05-03 08:38:08 +00:00
ganovelli 1b3fc69fac Min and Max changed from const members to static class function
Use: Value<float>::Min()
2004-04-15 09:36:59 +00:00
mtarini 0002503283 debugged Max and Min const values (to make them linkable) 2004-03-31 12:41:55 +00:00
Paolo Cignoni 0a7cf4514f int64 -> long long for GCC compatibility 2004-03-31 10:09:19 +00:00
mtarini e4cf5549cd - added VoidType - added "static_assert" 2004-03-16 00:23:50 +00:00
mtarini bc1fdc913b Added Atan2.
Added common utilities: Max, Min, Swap, Sort(a,b), Sort(a,b,c).
Changed Max values syntax. example:  Value<float>::Max
2004-03-10 17:37:54 +00:00
mtarini eda1533770 Added Atan2.
Added common utilities: Max, Min, Swap, Sort(a,b), Sort(a,b,c).
Changed Max values syntax. example:  Value<float>::Max
2004-03-10 16:54:57 +00:00
mtarini 5ed7bf6aba (CVS did not want to undo update) 2004-03-09 17:55:04 +00:00
mtarini 7a5b65928b *** empty log message *** 2004-03-08 19:40:48 +00:00
mtarini ed506a2ea5 first version (tarini) 2004-03-08 19:38:29 +00:00
Federico Ponchio a462f2ce71 Aggiunti un po di inline davanti alle funzioni 2004-03-08 14:49:37 +00:00
Federico Ponchio e5cde4e163 added Acos e Asin 2004-03-04 00:21:00 +00:00
Paolo Cignoni 5332b4ac5b changed math from class to template 2004-03-03 22:51:49 +00:00
Federico Ponchio ca807a0787 *** empty log message *** 2004-02-19 15:28:01 +00:00
Paolo Cignoni 5a558b0f8c Edited Comments and GPL license 2004-02-13 02:18:57 +00:00
Federico Ponchio 04afe4c81e Adding base.h 2004-02-09 13:32:16 +00:00