ganovelli
30f799220d
All the functions handling TriMesh::imark have been moved outside the definition
...
of TriMesh to workaround an internal compiler error of vc compiler, and the usages have been
consequently updated
2010-03-19 17:05:14 +00:00
Paolo Cignoni
355edd042e
removed harmless warnings
2010-02-24 09:56:58 +00:00
Paolo Cignoni
b14cd10824
Added management of per-vertex quality values during simplification to amplify initial quadric values
2009-08-30 09:35:36 +00:00
granzuglia
b41603d086
added missing #include file update/topology.h
2009-07-17 08:22:38 +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
4db69febbe
big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default)
2008-10-27 14:48:14 +00:00
Paolo Cignoni
5082a0cb03
Corrected a very small bug in the finalize of the quadric simplification, (RW flags were not correctly restored at the end of the simplification)
2008-07-17 06:52:56 +00:00
Paolo Cignoni
437d258a22
Added (from an idea of Fabio Ganovelli) the possibility of adding face-quality driving quadrics. For each face, three quadric perpendicular to the face plane and passing through the edges are added (just like for borders, but with a much lower weight). In case of very planar surface these quadrics try to keep the original shapes of triangles, preferring small edge collapse. Without this in planar zones collapse order could be random.
2008-07-15 07:15:18 +00:00
Paolo Cignoni
b626643efb
Re-factored the Heap-Simplex ratio parameter. Now it is something that should be asked to the localmodification class.
2008-07-10 09:44:09 +00:00
Nico Pietroni
b3c2645005
changed line 215 for compilation problems in case of class extension (just semantic)
2008-07-03 10:21:17 +00:00
Paolo Cignoni
12c8c9f3ff
Added Allocator::DeleteFace and Allocator::DeleteVertex; Now the use of SetD() should be deprecated.
2007-10-16 16:46:53 +00:00
Paolo Cignoni
ae9d8a8535
Solved an issue related to different casting double-float between gcc 3 and gcc 4
2007-03-22 11:07:16 +00:00
Paolo Cignoni
02beca15e3
Added Rad to the NormalThr Option and removed a bug in multiple exectuion of non optimal simplification (missing an isD check)
2007-02-25 09:20:10 +00:00
Paolo Cignoni
9732b0f8b8
Added Finalize() method to the interface, corrected minor bugs on border preserving and postsimplification cleanup
...
Avoided double make_heap (it is done only in the local_optimization init)
2007-01-19 09:13:14 +00:00
Paolo Cignoni
7be5d031b9
typenames and qualifiers for gcc compliance
2006-10-15 07:31:22 +00:00
Paolo Cignoni
6295f96fbd
Heavyly restructured for meshlab inclusion. Now the access to the quadric elements are mediated by a static helper class.
2006-10-09 20:12:55 +00:00
Paolo Cignoni
c2fb20c70b
Updated to the new style face->Normal() becomes Normal(face)
2006-10-07 17:20:25 +00:00
Paolo Cignoni
2ef5b676b5
Changed the sign of the priority of a collapse. Now it is its the error as it should (and not -error)
2005-10-02 23:19:36 +00:00
Federico Ponchio
2328e5b1e4
*** empty log message ***
2005-04-14 11:35:09 +00:00
Paolo Cignoni
1509a9b434
Better management of symmetric/asymmetric edge collapses
2005-01-19 10:35:28 +00:00
Paolo Cignoni
8ca248762a
Moved param classes inside; added support for optimal placement and symmetric; added update heap also here (not only in the base class)
2004-12-10 01:07:15 +00:00
Paolo Cignoni
da6bf044f0
passed parameters by reference in many funcs and gcc cleaning
2004-11-23 10:34:45 +00:00
ganovelli
4359486afc
A vcg.::Pos was used to implement the collapse type. CHanged
...
to vcg::Edge
2004-10-25 07:07:56 +00:00
ganovelli
215aaa2e84
corrected error in -error (see localoptimization)
2004-09-29 17:08:16 +00:00
ganovelli
26c2861e7a
creation
2004-09-15 10:25:20 +00:00