Commit Graph

70 Commits

Author SHA1 Message Date
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 ab200fc950 Port to eigen2: state of the mess:
* curently nothing change if you don't define VCG_USE_EIGEN
* make Matrix*, Point3 and Point4 derive Eigen::Matrix (still ugly)
* now catching all the dot products to replace them by .dot()
  note that most of meshlab already compile
2008-10-27 19:35:17 +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
ganovelli e5d28ed8b5 [Namespaces changes]
trimesh->tri

clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (extended namespaces):
order 0 (vertex)      :vertex 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:55:18 +00:00
ganovelli ece2df9202 [Namespaces changes]
trimesh->tri


clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (extended namespaces):
order 0 (vertex)      :vertex 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:53:28 +00:00
ganovelli f7da79d507 Add template parameter to PointDistanceFunctor 2008-09-24 08:56:06 +00:00
Paolo Cignoni bafcd1768e remove harmless warnings 2008-07-02 13:26:25 +00:00
Paolo Cignoni 8314b1759a Heavily restructured (an almost complete rewrite) of the class that convert a mesh to a distance field and run marching cubes on it. 2008-07-01 09:37:31 +00:00
Federico Ponchio a4a0d6acf3 last_seed++ shodl have been ++last_seed 2008-06-30 08:46:06 +00:00
Paolo Cignoni 9b324d2f50 added missing license info 2008-05-29 20:54:34 +00:00
Paolo Cignoni 2a69681d28 added facegrid method to build just the faces 2008-04-24 04:44:48 +00:00
Paolo Cignoni c5a92fd4c0 added missing std:: 2008-04-08 09:51:15 +00:00
ganovelli 0b3e46c93c added Cylinder(..). the filename platonic.h is lesser and lesser significant... 2008-02-15 14:38:32 +00:00
Paolo Cignoni 5519491d1f changed radius from percentage based to absolute and reverted the sign of the default walking 2007-12-18 17:30:04 +00:00
Paolo Cignoni 6144006bfd Re-Wrote basic build function 2007-10-19 22:29:36 +00:00
Massimiliano Corsini 1e6b800880 remove signed/unsigned warning 2007-10-09 12:04:06 +00:00
Paolo Cignoni c704229b67 corrected computation of Barycenter 2007-08-20 21:06:29 +00:00
Federico Ponchio ec52ffd973 *** empty log message *** 2007-06-15 15:04:43 +00:00
Federico Ponchio acc11c1df4 *** empty log message *** 2007-06-11 15:26:30 +00:00
Federico Ponchio 511f4053c9 *** empty log message *** 2007-06-01 09:07:23 +00:00
Federico Ponchio 007d53b7e0 *** empty log message *** 2007-05-30 15:09:58 +00:00
Federico Ponchio 73d01b5408 *** empty log message *** 2007-05-30 14:03:49 +00:00
Paolo Cignoni a9ed51c145 Added some comments, and cleared startup a little 2007-05-22 15:25:14 +00:00
Paolo Cignoni cc7146cc86 Added small comment to grid function 2007-02-01 06:38:27 +00:00
Paolo Cignoni ef3acb4fc8 Removed unuseful CoordType test 2007-01-27 13:14:34 +00:00
Federico Ponchio eb0ae58b64 removede int<->pointer conversions. 2006-11-29 14:20:10 +00:00
Federico Ponchio 7d06710d46 I nuovi seed ora devono essere ad almeno radius dalla mesh. 2006-10-19 10:11:01 +00:00
Federico Ponchio 8fd20ba5aa *** empty log message *** 2006-10-18 21:26:39 +00:00
Federico Ponchio 50a6a8b79b *** empty log message *** 2006-10-18 21:22:15 +00:00
Federico Ponchio 2d6cd78082 *** empty log message *** 2006-10-18 15:40:04 +00:00
Federico Ponchio 310fcc2947 *** empty log message *** 2006-10-18 14:52:24 +00:00
Federico Ponchio 4e29f4f87e *** empty log message *** 2006-10-18 14:22:17 +00:00
Federico Ponchio 7047f4d4a7 using existing faces. 2006-10-18 14:08:50 +00:00
Federico Ponchio e4a4dd72bb Fixed a few bugs, added a few tricks. 2006-10-18 13:15:30 +00:00
Federico Ponchio 36db742b83 working backup 2006-10-18 10:08:15 +00:00
Federico Ponchio 947b27d691 Added callback 2006-10-16 14:28:25 +00:00
Federico Ponchio eb691cb768 *** empty log message *** 2006-10-14 16:20:06 +00:00
Federico Ponchio 568dbaf75f Rimossa (temporaneamente) la parte che cerca le altre componenti connesse. 2006-10-14 12:03:55 +00:00
Federico Ponchio 4a9d5af123 *** empty log message *** 2006-10-14 10:46:40 +00:00
Paolo Cignoni 736ef2bc24 Decreased vn when deleting a vertex 2006-10-14 00:39:52 +00:00
Paolo Cignoni b7d931e7dc Removed the class name Pivot before the methods of the class (gcc tolerated this!) 2006-10-14 00:15:21 +00:00
Federico Ponchio b0a192b60c First version somewhat stable. 2006-10-13 02:51:24 +00:00
Federico Ponchio 711e5ad192 *** empty log message *** 2006-10-13 02:11:35 +00:00
Paolo Cignoni 4c34a7674c *** empty log message *** 2006-08-23 15:29:44 +00:00
Paolo Cignoni 10eb316ac5 Little improvement 2006-07-24 13:39:39 +00:00
Paolo Cignoni 7752f015eb Added default argument for compilation on linux 2006-07-17 09:25:28 +00:00
Paolo Cignoni 29822d8362 changes necessary for gcc 3.4.5 on linux 64bit 2006-04-11 08:08:28 +00:00
Paolo Cignoni 47443e5bb5 Double->Scalar in dodecahedron 2006-03-27 04:18:35 +00:00
Paolo Cignoni 558c52d8cb Corrected Grid 2006-01-30 08:09:05 +00:00
Paolo Cignoni 02f1e55b83 Added Grid function (to build range map meshes...) 2006-01-22 17:10:15 +00:00