Commit Graph

649 Commits

Author SHA1 Message Date
Paolo Cignoni b22077f200 added picking of visible faces 2009-04-01 14:51:49 +00:00
ganovelli d016806729 added case vertSize or faceSize are 0 2009-03-31 13:36:32 +00:00
Paolo Cignoni efde1babe5 Sorry, corrected a mistake in the Matrix() method due to a temporary local library change. Won't do that again. 2009-03-31 09:23:20 +00:00
Paolo Cignoni a353708f16 Added Matrix)() and InverseMatrix() methods, which respectively return the direct and inverse matrices that describe how the trackball similarity is applied with respect to the trackball center.
Corrected ToAscii() and SetFromAscii() methods, which should work with 8 values instead of 9 (well, in effect they are implemantation dependent methods, so...).
2009-03-31 09:03:18 +00:00
Paolo Cignoni 3447c82e88 Removed a few harmless warnings 2009-03-30 20:58:18 +00:00
Marco Di Benedetto 8a454d266c added detection of wedge normal in LoadMask. 2009-03-24 17:14:54 +00:00
Paolo Cignoni c5ad3694bd Corrected small bug inserted during the add of pervertexradius ply elements 2009-03-19 10:29:24 +00:00
Paolo Cignoni 666b0996ff Added support for PLY saving and reading of the radius property (useful for point clouds) 2009-03-18 14:39:02 +00:00
Paolo Cignoni 946ae834b8 Changed the include guard. Added comment to remember that the View class is used only by the trackball 2009-03-11 09:32:12 +00:00
Paolo Cignoni 90d7a087bc added possibility of skipping header 2009-03-03 23:41:00 +00:00
Paolo Cignoni 1a4c19c69f removed harmless warnings 2009-03-03 23:39:27 +00:00
Paolo Cignoni 06dbbfec33 Added support for the Stanford range map ply repository (that are raw gridded range maps) 2009-02-16 01:03:11 +00:00
Paolo Cignoni 8a53c7a836 Fixed memory leak 2009-01-23 13:58:20 +00:00
Paolo Cignoni 7c9aa1c99f Crude, yet functional, custom attribute implementation 2009-01-23 09:22:38 +00:00
Paolo Cignoni 8627c95678 Added Attribute support 2009-01-12 13:57:48 +00:00
Paolo Cignoni 3d14df75e4 corrected small bug that prevented the loading of tristripped ply files 2009-01-07 14:54:22 +00:00
Paolo Cignoni 6f533063ae uint are not a standard type... 2009-01-07 08:58:00 +00:00
Paolo Cignoni 28c13b2037 removed harmless gcc warnings 2009-01-03 22:44:49 +00:00
Paolo Cignoni fe715961f3 added support of binaries ply files with indices stored as short 2009-01-03 22:42:22 +00:00
Paolo Cignoni 5e1ccc4cfc added missing std:: 2008-12-19 15:52:20 +00:00
ganovelli 70ea5c2057 added support for loading directly polygon meshes.
If you are not using polygon mesh this commit does not change anything.
2008-12-18 18:02:44 +00:00
Paolo Cignoni f644a496ec Removed harmless warnings 2008-12-11 13:56:09 +00:00
Paolo Cignoni 928c8dd997 Removed harmless warnings 2008-11-28 14:55:45 +00:00
Paolo Cignoni a54582a3d2 Strings for element name and properties in ply descriptors should be const char *. 2008-11-27 23:54:50 +00:00
ganovelli 7b64489526 added Alloc to support polygon meshes 2008-11-26 17:59:29 +00:00
Federico Ponchio 6d2363d10a There was a bug in TransformGL for perspective matrix.
The function worked as intended only if near == focal.
2008-11-21 17:22:58 +00:00
Paolo Cignoni 818eb2b61d remove an ifdef for compiling with older apple compiler. no more needed under leopard (thanks to Iacopo Peri) 2008-11-18 09:37:23 +00:00
Paolo Cignoni b5d3a085a8 removed references to a MeshModel type that was leaked here from meshlab... 2008-11-13 10:45:39 +00:00
Paolo Cignoni 16e51c9d75 Corrected long standing bug of double deletion of trackmodes. New safer destructor 2008-11-13 09:33:43 +00:00
mtarini 80f1fa2396 Added NavigatorWasdMode: doom-like navigation around/inside objects (see samples/SDL_trackball for an example) 2008-11-12 16:36:55 +00:00
mtarini 1ad548c24c Added animations and keys (so far, only used by the Navigator Mode) 2008-11-12 16:33:40 +00:00
mtarini 5704acea18 Added handling of a few more keys. 2008-11-12 16:32:18 +00:00
Federico Ponchio 01c0bc106f Added function to get near and far plane for a box (exact). 2008-11-07 15:15:06 +00:00
Paolo Cignoni 0f2d864e05 remove a trailing print() 2008-10-30 11:31:28 +00:00
Paolo Cignoni dfc97ba1f2 fix Matrix44 infinite product, make glGetv not allocate temporary 2008-10-30 10:47:08 +00:00
Paolo Cignoni 3d43483497 one more fix gcc 4.0.1 issue in wrap/gl/math 2008-10-29 13:04:11 +00:00
Paolo Cignoni 0d9795d163 fix gcc 4.0.1 issue in wrap/gl 2008-10-29 12:56:32 +00:00
Paolo Cignoni e587581275 add transposeInPlace and duplicate V(int) 2008-10-29 11:17:11 +00:00
Paolo Cignoni 07f2e976ea * change all remaining Transpose to transpose,
* update the gl/math wrappers to make them more Eigen friendly
  (and remove the useless, and not used, and somehow dangerous
   *Direct and *E functions)
* add automatic reinterpret_casting from Eigen::Matrix to vcg
  specialized types
2008-10-29 00:05:44 +00:00
Federico Ponchio 632f4842f1 Polar mode now working. 2008-10-28 16:43:56 +00:00
Paolo Cignoni c0c76bc5b8 added Polarmode prototype (doesn't work yet) 2008-10-28 15:55:40 +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 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
Massimiliano Corsini e98422ee49 fix tokenizeNextLine 2008-10-27 15:19:28 +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
Federico Ponchio fe59b6ad4d Extrinsics.tra is now private, using Tra() 2008-10-24 16:37:24 +00:00
Paolo Cignoni 9947006682 Heavy refactoring of the SVG writing code. Now it is much much shorter and hopefully more clear. 2008-10-23 16:51:58 +00:00
Paolo Cignoni 3c79fae752 Improved robustness of parsing of malformed off 2008-10-16 14:32:37 +00:00
Paolo Cignoni 8f77d3cbaa removed non-portable inclusion of GL.h (on mac gl.h is in stupid places) 2008-10-15 10:11:39 +00:00
Paolo Cignoni a3dbc3168b fix a typo in Program::Uniform() 2008-10-15 09:28:15 +00:00