mtarini
935b2e102b
added a test on existence of glPointParameterfv before its use in point-based mesh rendering to avoid crashes.
2009-04-20 16:30:35 +00:00
Paolo Cignoni
3745e4db1f
changed the main strategy, now the loading is done internally in a custom typed mesh, that at the end is appended to the input one.
2009-04-05 23:30:29 +00:00
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