Commit Graph

658 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
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