Commit Graph

712 Commits

Author SHA1 Message Date
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
Paolo Cignoni 64ce68dac0 * make EmptyRadius::HasRadius returns false
* make gl/Shader and gl/Program* a bit easier to use:
 - automatic object creation
 - add Uniform() overloads for vcg::Point*f types
2008-10-15 08:02:14 +00:00
Paolo Cignoni fc98a34972 Add an optional per vertex radius property in occ, ocf, and IO mask.
Extend derivation_chain from 10 to 12
2008-10-14 14:58:09 +00:00
Paolo Cignoni a7a400b40e Changed an old FaceType::HasFaceQuality() into the tempory aware version HasPerFaceQuality(mesh) 2008-10-14 06:39:04 +00:00
Paolo Cignoni d944271c2a Removed a few warnings 2008-10-09 16:16:49 +00:00
Paolo Cignoni 117c2a06de New Parameter function to setup glsl programs that use geometry shaders 2008-10-09 08:58:57 +00:00
Paolo Cignoni 7722469c4f Public keyword missing 2008-10-08 14:30:56 +00:00
Paolo Cignoni 2da37bd5f7 Geometri shader, initial support 2008-10-08 14:00:32 +00:00
Paolo Cignoni b6d7e548b2 Commented out filename after final endif 2008-10-08 14:00:01 +00:00
ganovelli ca01052454 Chamged MatrixGL to comply renaming in wrap/gl/shot.h 2008-10-07 10:58:18 +00:00
Paolo Cignoni 40a149964f made the absence of faces in a ply file a "non critical" error. 2008-10-02 21:46:29 +00:00
ganovelli b2758bcb39 [Namespaces changes]
edge->edg

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 (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:15:51 +00:00
ganovelli 86597ca595 added typename and
[Namespaces changes]
edge->edg

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 (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:15:29 +00:00
ganovelli 5e24bf99ce removed useless inclusion of edge.h 2008-09-30 10:14:52 +00:00
ganovelli 8acc6a4e2c Removed Similarity from Shot
Problem: Shot was using similarity merely to store
rotation and translation. 
There was an incompatibility in that Similarity::ToMatrix
gives scale*rotation*translation while in Shot
the translation stores the viewpoint and the rotation the orientation of the Shot.

In this version, a small class ReferenceFrame was done to play the role of similarity and MultMatrix and MultSimilarity functions were added to transform the frame by multiplying it for a Matrix44 (or applying a similarity).

NOTE: the file export_ply.ply and import_ply.h must also be updated.

-- only compiled with .net ---
2008-09-26 17:05:49 +00:00
Paolo Cignoni dcbb7456ac Added by default rotation on middle + alt, (almost a standard on various 3d packages). Kind patch submitted by Sebastian Herholz. 2008-09-22 23:10:00 +00:00
Paolo Cignoni d49e84fb9c fixed a bug 2008-08-27 14:04:38 +00:00
Paolo Cignoni 78ef9230ee Added modifications sent in by Julien Couet for better saving of computed slices. 2008-08-07 07:24:52 +00:00
ganovelli c69c140e0a minor changes for gcc compiler 2008-08-04 14:49:02 +00:00
ganovelli cff47a9ac3 Extended comment, changed load and save replacing dangerous write and read of the object mesh as whole with saving of its few members 2008-08-01 10:03:05 +00:00
ganovelli b4fa6b9c97 -missing template type added in CameraDistance
-bug in DrawPoints removed
2008-07-24 12:37:18 +00:00
Marco Callieri 74be2a6f67 revised PTX importer, lot of unused code deleted. new import paramenter structure 2008-07-22 10:00:12 +00:00
Paolo Cignoni ce62053b9c Added correct management of binding material in controller nodes 2008-07-21 13:25:32 +00:00
Paolo Cignoni 0b6af20c93 Corrected texture loading. Now symbolic material binding are respected during the traversal. Still to be cleaned up. 2008-07-20 21:25:09 +00:00
Paolo Cignoni 966d98da5a added management of optional quality 2008-07-19 05:25:55 +00:00
Paolo Cignoni c1c51913d3 Started the restructuring of the Collada parser. Now it is correctly recursive and it is able to get geometry also from controller. 2008-07-15 07:27:08 +00:00
Paolo Cignoni d3ac368bd5 Updated references of SetRotate to the new SetRotateDeg/SetRotateRad interface 2008-07-13 07:41:20 +00:00
Paolo Cignoni 51dde5296f Corrected the broken ParseRotationMatrix. It had two bugs: it did not correctly parsed sequence of rotations and it exchanged degree with radians 2008-07-13 05:39:13 +00:00
Paolo Cignoni 86c16f8245 Added missing license information 2008-07-12 06:12:46 +00:00
Paolo Cignoni 637dd26b2b removed duplicated file (same file and more recent was in wrap/dae) 2008-07-12 06:11:47 +00:00
Paolo Cignoni 29ad822941 Added missing std namespace qualifier to min and max 2008-07-04 07:30:49 +00:00
Paolo Cignoni 9ca56690ae remove harmless warnings 2008-07-02 13:31:00 +00:00
Paolo Cignoni 9135ed578c exposed binary/ascii support and added progress bar support in the save 2008-07-02 13:30:21 +00:00
Paolo Cignoni 0a712cbbcb removed harmless warnings and added better support for transp materials 2008-07-02 13:28:37 +00:00
Paolo Cignoni bafcd1768e remove harmless warnings 2008-07-02 13:26:25 +00:00
Paolo Cignoni 700b8cd26e Removed annoying unsigned vs signed warnings.
Thanks to Alain Boyer for the kind bug submission!
2008-06-29 22:44:44 +00:00
Paolo Cignoni ab71949274 Changed a line in a switch case in the void PlyFile::compile function
p->cb = cb_skip_list_bin8 
Thanks to Alain Boyer for the kind bug submission!
2008-06-29 22:32:09 +00:00
Paolo Cignoni 75e3cc2a18 added a safeness assert 2008-06-29 07:48:48 +00:00
ganovelli e91db31568 first draft of the wrapper for cminpack (see http://devernay.free.fr/hacks/cminpack.html).
It only wraps the lmdif function (non linear minimization 
of Sum_{i=0}^{M} ( F(x0,..,xN)_i ) ^2 ) with F:R^N->R^M
2008-06-28 16:14:18 +00:00
Federico Ponchio 8494ace467 Fixed some bug and move to QVariant. 2008-06-27 18:54:18 +00:00
Paolo Cignoni e5572b4f05 added support of internal edge bit for keeping track of triangulated polygonal faces 2008-06-26 08:41:11 +00:00
Paolo Cignoni 17369b521b Matrix transformations corrected in glCylinder and glArrow. 2008-06-23 14:33:51 +00:00
Paolo Cignoni bd784fabaa Corrected a small bug in the management of negative indexes of obj on non triangular faces 2008-06-14 07:29:31 +00:00
Paolo Cignoni e5857b7925 corrected a small bug causing crashes when loading bad-formed mtl files 2008-06-13 07:05:59 +00:00
Paolo Cignoni 67ce430991 Added point drawing using vertex arrays and distance attenuation for large points 2008-06-10 00:57:46 +00:00
Federico Ponchio 634697dd8f Some documentation added 2008-05-30 10:45:33 +00:00
Paolo Cignoni bf0e346d81 removed small nasty bug about indexes that in some cases trashed output meshes when in presence of deleted faces 2008-05-29 15:15:19 +00:00
Federico Ponchio 21adae1895 Created. 2008-05-29 12:50:41 +00:00
Paolo Cignoni 25dd36a704 updated to the new temporary data structure 2008-05-16 17:44:31 +00:00
Massimiliano Corsini 28a08a4e0c set defaut callback (in save) to null 2008-04-29 11:51:28 +00:00
Paolo Cignoni 9b00cd75ef First Working Version 2008-04-24 04:45:36 +00:00
Paolo Cignoni 03609ba40b removed outdated comment 2008-04-22 14:53:53 +00:00
Paolo Cignoni c693b46f57 added yet another type of face indexes (now 8 different ways!) 2008-04-15 14:12:21 +00:00
Paolo Cignoni 0bdd7975b0 added suppor of color in OFF format. 2008-04-15 10:38:12 +00:00
Paolo Cignoni 5fa10cda23 made generic functions static 2008-04-10 11:09:34 +00:00
Paolo Cignoni c8317febdc added missing namespaces 2008-04-06 06:50:00 +00:00
Paolo Cignoni 4b769a4e8a added yet another combination of unsigned/signed elements in faces specification to comply to mathematica ply's 2008-03-22 10:24:44 +00:00
Paolo Cignoni 1d7ca87fe2 usual experiments in the u3d exporting name files management 2008-03-22 07:27:09 +00:00
Paolo Cignoni 4bd2caa2e6 improved comments 2008-03-21 16:09:02 +00:00
Paolo Cignoni 0af424701d Added doxygen documentation 2008-03-21 16:08:43 +00:00
Paolo Cignoni 0a8997ef8d removed vertex color and vertex normal from the capabilities of this format. They are not safe 2008-03-19 05:21:57 +00:00
Paolo Cignoni 633e7b97e4 added quality parameter 2008-03-18 11:26:45 +00:00
Paolo Cignoni 35848b0a77 improved comments 2008-03-14 17:15:59 +00:00
Paolo Cignoni b768cce86c Added doxygen documentation 2008-03-14 16:54:34 +00:00
granzuglia 4725bc5aec added two missing include files:
1) #include <wrap/callback.h>
2) #include <wrap/io_trimesh/io_mask.h>
2008-03-13 08:48:10 +00:00
Paolo Cignoni 7ea4ad85a0 Added doxygen documentation 2008-03-11 09:08:46 +00:00
Paolo Cignoni 66eee15580 added different rules for building the command line for windows and non windows 2008-03-08 17:25:04 +00:00
Paolo Cignoni fa857d5e51 corrected creation of the command line under win 2008-03-06 10:58:40 +00:00
Paolo Cignoni 14dee656f3 moved ActiveCoordinateFrame to its own files 2008-03-02 16:44:18 +00:00
Paolo Cignoni 7fe04d928d added newline at end of file 2008-03-02 15:50:20 +00:00
Paolo Cignoni 9607ee6107 made all static 2008-03-02 14:16:39 +00:00
granzuglia ba13e12c32 bugs patched by Imran
PS I'm not so sure about the instancematerial bug!
2008-02-28 12:02:11 +00:00
granzuglia 6ab9e5699c added support to dae files with lines tag 2008-02-28 10:44:47 +00:00
Paolo Cignoni 6cf9aa4552 removed duplicated material class 2008-02-27 23:48:06 +00:00
Paolo Cignoni e199b32434 added materialname field 2008-02-27 23:38:40 +00:00
Paolo Cignoni bd13e9e1df removed useless include 2008-02-27 23:35:56 +00:00
Paolo Cignoni 2828e5c8e4 corrected various bugs in the export of texture coords 2008-02-27 00:34:43 +00:00
Federico Ponchio de91366540 removed some garbage. 2008-02-26 18:55:55 +00:00
Federico Ponchio 86bf1f6d7b Fixed bug in drawing position of the trackball when changin center. 2008-02-26 18:46:55 +00:00
Paolo Cignoni d8c479c0fe corrected after quaternion/similarity/trackball changes 2008-02-26 18:22:42 +00:00
Paolo Cignoni 38a5850163 corrected CylinderMode::Apply 2008-02-26 18:00:41 +00:00
Federico Ponchio e4bed07afa Fixed scale behaviour. 2008-02-24 18:10:54 +00:00
Federico Ponchio 654452b177 Should work as before. I didn't test cylinder and other exotic modes. 2008-02-24 18:05:08 +00:00
Federico Ponchio 7006d170be Restored trackball functionality. Not very much tested, and code will need some
cleanup.
2008-02-24 14:37:00 +00:00
Paolo Cignoni 16b3a3e11a missing ending newline 2008-02-22 21:00:22 +00:00
Paolo Cignoni 69c5890467 corrected typo 2008-02-22 20:34:35 +00:00
Paolo Cignoni b2d39163ac many user interface improvements, cleaned up a little 2008-02-22 20:04:02 +00:00
Paolo Cignoni 228db666c3 first attempt to correct after quaternion ToMatrix() inversion (does not work yet) 2008-02-22 18:57:47 +00:00
Paolo Cignoni 71db3f05f0 corrected texture saving. Still broken the multitexturing 2008-02-21 17:47:29 +00:00
Paolo Cignoni 130442663c Corrected various bug, involving spurious commas, and pervertex color saved as per wedge color. 2008-02-21 17:23:57 +00:00
Paolo Cignoni b71c11a0f7 some generalization made 2008-02-17 20:52:53 +00:00
Paolo Cignoni 0758b0b32d first version 2008-02-16 14:12:30 +00:00
Paolo Cignoni f027791ab4 removing wrong committed files 2008-02-16 12:03:59 +00:00
Paolo Cignoni f93857dbb0 first version, adapted from meshlab's editmeasure plugin 2008-02-16 12:00:35 +00:00
Paolo Cignoni 45b9624e73 added snap to CylinderMode 2008-02-15 20:57:22 +00:00
Paolo Cignoni e69c1d166b removed some variable initialization related warning, added snap to CylinderMode 2008-02-15 20:56:41 +00:00
Paolo Cignoni 77415bc213 removed some variable initialization related warning 2008-02-15 20:54:45 +00:00
Paolo Cignoni 843c6d172c corrected bug in the management of of multiple solid ascii stl files 2008-02-15 09:51:36 +00:00
Paolo Cignoni 0fdd22023e removed unused vars 2008-02-15 08:19:51 +00:00
Paolo Cignoni 37395805c4 covertInTGATextures-> covertInTGATextures and added a missing const qualifier 2008-02-10 09:41:40 +00:00
granzuglia f7d0f90178 textures conversion in tga both for u3d and idtf format 2008-02-08 16:35:23 +00:00
Paolo Cignoni ed103e5a9b removed useless include 2008-02-08 09:19:52 +00:00
Paolo Cignoni 2fb9f7bf22 gcc issues (mismatched >> ) 2008-02-06 12:02:37 +00:00
granzuglia 23f96b0b59 fixed little bug: saving collada file with texcoords but not textures file 2008-02-05 21:49:55 +00:00
Paolo Cignoni e068b6777a gcc issues (missing typenames and mismatched >> ) 2008-02-05 17:55:09 +00:00
granzuglia cc9887c9d5 removing meshaccessors 2008-02-05 17:46:05 +00:00
granzuglia 7587abf32f removing meshaccessor.h 2008-02-05 17:45:19 +00:00
granzuglia 778d93b70d removed meshaccessor 2008-02-05 17:44:22 +00:00
granzuglia 0f827e0e78 fixed bug on empty mesh 2008-02-04 23:50:07 +00:00
granzuglia d91bb25e52 added support for multiple textures
fixed many stupid bugs
2008-02-04 22:30:42 +00:00
granzuglia b0346b1ab9 erased wrong assert 2008-02-04 22:29:02 +00:00
granzuglia 2e24725d5b totally new collada exporter (WARNING: it has some known bugs!) 2008-01-30 08:33:32 +00:00
granzuglia 72feef8f72 totally new collada exporter (has some bugs) 2008-01-30 08:31:04 +00:00
Paolo Cignoni be51ebfc80 missing check for the presence of optional stuff 2008-01-28 14:45:07 +00:00
Paolo Cignoni b6cea42c5e formatted debug string 2008-01-28 08:50:51 +00:00
Paolo Cignoni 0e283de929 added sanity checks when deleting buffers 2008-01-28 08:49:58 +00:00
Paolo Cignoni c07c26d084 passed the callback in the save 2008-01-24 11:54:23 +00:00
Paolo Cignoni e353664afc solved slash backslash issue in vcg_cache 2008-01-24 11:50:14 +00:00
Paolo Cignoni 04d307db0e added missing cast for normal assignments 2008-01-17 18:02:02 +00:00
mtarini 44260d6c42 *** empty log message *** 2007-12-21 12:29:34 +00:00
granzuglia a2c06f93f4 version with inverted x 2007-12-19 14:06:06 +00:00
Paolo Cignoni e16f9b17df corrected qt include 2007-12-18 17:50:13 +00:00
granzuglia 2afde2785c fixed stride bug on texture 2007-12-18 11:06:46 +00:00
granzuglia fd58c7c501 standard opengl material parameters have been set 2007-12-14 14:15:59 +00:00
granzuglia 764daf6359 fixed texture bug and x-flipping 2007-12-14 12:03:44 +00:00
granzuglia b421afe41e added tga converter 2007-12-13 23:15:45 +00:00
Paolo Cignoni 8b69adbfbd removed harmless gcc warnings 2007-12-13 17:57:33 +00:00
Paolo Cignoni 534e6785a2 removed harmless printf cast warnings 2007-12-13 00:20:34 +00:00
Paolo Cignoni a55cb3a77a removed harmless warnings 2007-12-12 00:24:57 +00:00
Paolo Cignoni 8177caa75c wrong include 2007-12-11 23:54:15 +00:00
Paolo Cignoni 098c61a6a9 first release 2007-12-11 20:37:31 +00:00
granzuglia 112879ffd5 fixed "mesh with holes" bug 2007-12-11 14:51:34 +00:00
granzuglia 40409390c7 fixed right-hand/left-hand coordinates system's bug 2007-12-11 13:00:35 +00:00
granzuglia b8a4cd254d camera bug fixed 2007-12-10 16:52:38 +00:00
granzuglia 19055c6097 fixed /,\ problem 2007-12-07 10:45:43 +00:00
Paolo Cignoni ee49856334 changed the strategy to search the idtf converter 2007-12-06 09:58:54 +00:00
Paolo Cignoni ebff0b88dd gcc compiling issues 2007-12-05 23:08:13 +00:00
granzuglia eca61c1656 updated version with bugs fixed 2007-12-05 14:12:13 +00:00