Commit Graph

41 Commits

Author SHA1 Message Date
Paolo Cignoni 8a0c86c857 corrected the template in the normal<> function... again 2009-12-07 08:17:10 +00:00
Paolo Cignoni 32619f1625 harmless gcc compiling issues 2009-12-03 23:17:46 +00:00
Paolo Cignoni 1b7adbe035 Hole filling now returns the number of closed holes 2009-09-12 05:20:32 +00:00
ganovelli 9d8e452e65 added Alloc to support polygon meshes 2008-11-26 17:58:15 +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 86816cc60f added few missing template type 2008-08-04 11:03:48 +00:00
Paolo Cignoni c2f8cdac1f removed past end access in an assert 2007-11-05 23:46:43 +00:00
Paolo Cignoni a2439416b2 Remove some usless code in Minimum Weight Triangulation. 2007-01-31 15:25:49 +00:00
Paolo Cignoni 33d860cbb9 Bug fix 2007-01-31 11:46:12 +00:00
Paolo Cignoni a707c1d217 added missing typenames 2007-01-18 18:15:14 +00:00
Paolo Cignoni 090e33d162 The minimum weight algorithm keep the topology consistent. 2007-01-18 11:17:43 +00:00
Paolo Cignoni 0c8a863586 Bugfixed ComputeDihedralAngle function 2007-01-10 12:07:54 +00:00
Paolo Cignoni 2581b0015e Bug fix on ComputeDihedralAngle function 2006-12-27 15:09:52 +00:00
Paolo Cignoni 8547f05f14 Commented some variant of the quality measure of weighted ears 2006-12-12 11:14:51 +00:00
Paolo Cignoni f57a022c06 Added many this-> for gcc compiling 2006-12-07 00:40:18 +00:00
Paolo Cignoni 38e3e600a9 Corrected bugs on selfintersection 2006-12-06 13:03:59 +00:00
Paolo Cignoni b9be8bd5fd Heavily restructured and corrected. Now a single Close ear function
Corrected Hole search function, and management of double non manifold vertex in a hole
Changed priority strategy in the heap, now a mix of quality and dihedral angle.
Changed but still untested IntersectionEar
2006-12-06 00:12:53 +00:00
Paolo Cignoni 02456f0505 Corrected bug in the search of holes. Removed output prints 2006-12-01 21:24:16 +00:00
Paolo Cignoni 9c5b7ce5a1 Corrected pop_heap vs pop_back issue in heap usage 2006-12-01 08:53:55 +00:00
Paolo Cignoni 2fc96f2682 Added Callback, Corrected some spelling errors (adiacense -> adjacency).
Added Validity Check function for hole loops
2006-12-01 00:11:17 +00:00
Paolo Cignoni 638be12fdc small gcc compiling issues 2006-11-30 11:49:20 +00:00
Paolo Cignoni 70c16f01ef Made static exposed funtions of the class 2006-11-29 16:21:45 +00:00
Paolo Cignoni ef0a22c229 Removed limit. 2006-11-29 15:25:22 +00:00
Paolo Cignoni 4110ebe3aa Code refactory and bugfix. 2006-11-29 15:18:49 +00:00
Paolo Cignoni 2954c88fef Now compiles on gcc under linux. 2006-11-24 10:42:39 +00:00
Paolo Cignoni d74b87b91e Code refactory and added minimum weight triangolation. 2006-11-22 13:43:28 +00:00
Paolo Cignoni 73985fe506 Clear some useless code 2006-11-13 10:11:38 +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
Paolo Cignoni 06047a697d gcc compiling issues 2006-11-07 11:47:14 +00:00
Paolo Cignoni 0146bedd72 Added missing std:: 2006-11-07 07:56:43 +00:00
Paolo Cignoni 1c8f2d9055 Leipa ear now compute max dihedral angle. 2006-11-06 16:12:29 +00:00
ganovelli 05090aaee1 changed access throught iterator with static call to comply 2005 compiler 2006-10-31 11:30:41 +00:00
Paolo Cignoni 4c66ab97d9 Added missing std:: 2006-10-20 07:44:45 +00:00
Paolo Cignoni 8af861d31d New policy for compute quality in TrivialEar.
Bugfixed LeipaEar.
Added new algorithm "selfintersection" with test for self intersection.
2006-10-18 15:06:47 +00:00
Paolo Cignoni 6e09ed9458 Bugfix and added a new type of ear (Liepa like) 2006-10-10 09:12:02 +00:00
Paolo Cignoni d644daee6b Optimized version of "EAR HOLE FILLING", the Ear is selected according to its dihedral angle. 2006-10-09 10:07:07 +00:00
Paolo Cignoni 2daa4cdd9b first working implementationof "EAR HOLE FILLING". 2006-10-06 15:28:14 +00:00
Paolo Cignoni 1ada6a63ce BugFix 2006-10-02 12:06:40 +00:00
Paolo Cignoni adfa71e1e0 It close one simple hole . . . 2006-09-27 15:33:32 +00:00
Paolo Cignoni b6c4ae457c Frist working release whit a few bugs.
It almost fills the hole ...
2006-09-27 09:29:53 +00:00
Paolo Cignoni fb23c731ab First Non working Version 2006-09-25 09:17:44 +00:00