Paolo Cignoni
eae78a0251
completed the correct working of temporary data inside the refinement functions
2009-06-25 06:19:00 +00:00
Paolo Cignoni
2c3da1c3c9
changed the constructor of the MidPoint functor of the refine. Now it requires a Mesh as an argument to get reliable knowledge of the presence/absence of temporary data.
2009-06-24 20:31:57 +00:00
Paolo Cignoni
3447c82e88
Removed a few harmless warnings
2009-03-30 20:58:18 +00:00
Nico Pietroni
d2bcd3dffa
added in MidPoint inheritance of texture coordinates
2009-02-27 16:12:20 +00:00
Paolo Cignoni
4f6cff78ed
Yet another missing template keyword for gcc
2009-01-20 08:18:01 +00:00
matteodelle
12e32feb59
Replaced forgotten CMeshO with MESH_TYPE in line 314
2009-01-15 17:31:23 +00:00
Paolo Cignoni
45ffbac554
added a forgot std::
2009-01-14 16:22:40 +00:00
Paolo Cignoni
3f38ad70da
Complete re-wrote of the refinement code. Now the predicate is called only once for each edge. no more std:maps are used but the new attributes to store temporary pointers inside newly subdivided faces.
2009-01-14 01:18:34 +00:00
Paolo Cignoni
8f591655f3
added comment on the two critical asserts
2008-12-09 07:52:27 +00:00
Paolo Cignoni
0047c70cae
Translated comments, added various notes, removed some dead code, changed a bit the interface of the default edgelen predicate
2008-12-05 22:57:20 +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
b58cabc1b6
better comment at the begininning explaing a bit the Refine templated mechanism.
2008-10-07 07:02:01 +00:00
Federico Ponchio
696941893d
Translated some italian comments... many more to translate.
2008-08-25 12:33:06 +00:00
Paolo Cignoni
598cb77fb6
Changed the edge split predicate, now it takes a pos instead of two pnts
...
Added quality interpolation
2008-04-07 12:58:48 +00:00
Paolo Cignoni
d014eae1bc
added color interpolation to butterfly
2008-03-18 10:31:47 +00:00
Paolo Cignoni
81bfbcaed8
corrected managment of selected flag when refining the whole mesh flipmesh
2007-03-27 09:25:14 +00:00
mtarini
22fd220c6f
Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD.
2007-03-12 15:37:19 +00:00
Paolo Cignoni
a707c1d217
added missing typenames
2007-01-18 18:15:14 +00:00
Paolo Cignoni
fdaddf0e79
Added TrSplit function.
2007-01-17 14:31:47 +00:00
ganovelli
cd438cf489
changed &*vert.end() to !vert.empty() -> &vert.back() to comply vs2005 compiler
2006-10-27 13:26:49 +00:00
Paolo Cignoni
6cfcd4eca0
removed wrong fn setting
2006-06-18 20:42:01 +00:00
Paolo Cignoni
8bfbf1111d
Changes for compilation on linux AMD64. Some remarks: Linux filenames are case-sensitive. _fileno and _filelength do not exist on linux
2006-06-06 14:35:32 +00:00
Paolo Cignoni
dc06357cfa
HasPerWedgeTexture -> HasPerWedgeTexture(m)
2006-05-03 21:42:10 +00:00
Paolo Cignoni
6de3303285
removed div by zero bug in callback of refine (tnx to Mario Latronico)
2005-12-22 11:24:09 +00:00
Paolo Cignoni
9b82d2e334
Added Callback in refine
2005-12-13 11:01:01 +00:00
Paolo Cignoni
aaa04175d3
commented out an old TRACE
2005-12-02 00:06:37 +00:00
Paolo Cignoni
44eb40324f
small gcc-related compiling issues (typenames,ending cr, initialization order)
2005-07-11 13:16:34 +00:00
Marco Callieri
0d219f91b7
deleted a wrong declaration "typename typename"
2005-06-29 15:25:41 +00:00
Paolo Cignoni
0434c2512d
Corrected the type name of wedge tex coords WedgeInterp in RefineE
2005-06-17 00:48:27 +00:00
Nico Pietroni
8225d40cbb
added #include<vcg/complex/trimesh/update/topology.h> use of update topology in refineE
2005-02-25 10:28:04 +00:00
Nico Pietroni
91ce4200d3
1 warning corrected
2005-02-02 16:01:13 +00:00
ganovelli
9e35226e77
first working version
2004-10-12 15:42:29 +00:00