Commit Graph

752 Commits

Author SHA1 Message Date
Paolo Cignoni 03eb1cfadb Improved management of collada meshes composed by polylistmesh 2009-04-04 17:25:57 +00:00
Paolo Cignoni 3bf343c31b gcc compilation issue 2009-04-02 07:56:38 +00:00
Paolo Cignoni 0c5aefb278 Added ClearModes() method to trackball to avoid leaking and corruptions due to double deletion of modes. 2009-04-01 14:53:20 +00:00
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
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