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
Paolo Cignoni
0f2d864e05
remove a trailing print()
2008-10-30 11:31:28 +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
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
d3ac368bd5
Updated references of SetRotate to the new SetRotateDeg/SetRotateRad interface
2008-07-13 07:41:20 +00:00
Paolo Cignoni
bafcd1768e
remove harmless warnings
2008-07-02 13:26:25 +00:00
Paolo Cignoni
5fa10cda23
made generic functions static
2008-04-10 11:09:34 +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
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
Paolo Cignoni
7ea4ad85a0
Added doxygen documentation
2008-03-11 09:08:46 +00:00
Paolo Cignoni
14dee656f3
moved ActiveCoordinateFrame to its own files
2008-03-02 16:44:18 +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
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
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
mtarini
44260d6c42
*** empty log message ***
2007-12-21 12:29:34 +00:00
Federico Ponchio
5552afc7d1
#include <gl/glew.h> -> #include <GL/glew.h>
...
(it is case sensitive under linux...)
2007-10-24 10:39:07 +00:00
Paolo Cignoni
f30329419b
corrected bug into the drawsphere (thanks to nico and guido!)
2007-10-22 14:39:54 +00:00
Massimiliano Corsini
63b27cb1b5
solve memory leak in dtor
2007-10-12 14:02:39 +00:00
Paolo Cignoni
95b2d87cc3
glEnable (GL_LINE_SMOOTH) should go before changing the linewidth.
2007-08-17 09:19:40 +00:00
Paolo Cignoni
c63ba58a30
Minor edits in Doxygen documentation.
2007-07-14 12:44:40 +00:00
Paolo Cignoni
b2e7a9e03b
Added Doxygen documentation.
2007-07-14 12:43:44 +00:00
Paolo Cignoni
1a9dafdece
Removed using namespace std and modified accordingly.
2007-07-09 22:47:18 +00:00
Paolo Cignoni
2eb3337caa
Added Doxygen documentation, removed using namespace std, some other minor changes.
2007-07-09 22:41:22 +00:00
Paolo Cignoni
f11076bbcd
Added some std:: here and there
2007-06-25 10:21:38 +00:00
Massimiliano Corsini
5e81eca026
adjust wheel back-compatibility
2007-06-20 12:59:43 +00:00
Paolo Cignoni
74d325979b
Added one-level undo system and sticky trackmodes.
2007-06-13 17:15:09 +00:00
Paolo Cignoni
3535cddaaa
Minor fix in DrawUglyCylinderMode()
2007-06-12 08:58:08 +00:00
Paolo Cignoni
9554ee4245
Removed type cast warnings
2007-05-28 08:10:47 +00:00
ganovelli
22f1bbd089
added inclusion of glew.h
2007-05-16 08:44:05 +00:00
Paolo Cignoni
0fd4e977e5
Moved the dreawing code to trackmodes, some other minor changes
2007-05-15 15:00:47 +00:00
Paolo Cignoni
db4c4f0944
Main restructuring. added many new modes
2007-05-15 14:59:10 +00:00
Paolo Cignoni
9ed47e4afa
Utility functions for the trackmodes, first version
2007-05-15 14:57:34 +00:00
Paolo Cignoni
ece2f97c8b
Added reflection Name
2007-02-26 01:30:02 +00:00
Paolo Cignoni
55bf686991
Added guards for opengl including in mac compiling
2007-02-22 09:17:29 +00:00
Paolo Cignoni
13a26e1b89
Added cast for mac compiling
2007-01-18 01:26:23 +00:00
mtarini
722bd7a696
added "ToAscii" and "SetFromAscii" methods to load/store current trackball status from/to ascii strings
...
(intended uses: clipboard operations and comments inside png snapshots!)
2007-01-15 15:04:15 +00:00
Paolo Cignoni
74a69d1848
Reverted to version 1.17. Version 1.18 was wrongly done starting from a outdated version.
2006-08-30 07:01:54 +00:00
Paolo Cignoni
c5e02633d8
*** empty log message ***
2006-08-23 15:41:32 +00:00
Paolo Cignoni
94f8e5f4d5
Reversed the direction of wheel scaling and added middle mouse panning
2006-07-26 13:54:45 +00:00
Paolo Cignoni
95153f03dc
Added Scale and Translate methods.
...
Added many drawing hints and raised the default num. of steps when drawing circles.
Added MouseDown without coords (for remembering changes of keys modifiers)
Added ZMode to the default modes under Alt+left
Added DrawPostApply (to be completed)
2006-02-13 13:15:52 +00:00
Paolo Cignoni
07613df38d
Added Zmode for moving objects along the perpendicular to the viewplane
2006-02-13 13:10:27 +00:00
Paolo Cignoni
1cb45963f9
Corrected small bugs on rotating after scaling+translating
...
changed void PlaneMode::Apply and void SphereMode::Apply
2006-01-12 15:40:05 +00:00
Paolo Cignoni
1ad3bfb230
Main restructuring. Removed the Draw function and slightly changed the meaning of the trackball itself.
...
See the notes at the beginning of trackball.h
2005-10-17 01:29:46 +00:00
Federico Ponchio
16eafff705
Fixed viewport<->window coordinate change for the z. (z = 2*z -1 now)
...
Accordingly to gluUnproject documentation.
2005-10-15 15:23:32 +00:00
Marco Callieri
bf23eca7be
in SphereMode::Hit added a check on the sphere intersection, if no intersection, calculating distance could generate a NAN exception
2005-07-15 16:39:30 +00:00
Marco Callieri
2e76236b31
changed the name of some intersection functions to avoid ambiguity
2005-06-29 15:22:26 +00:00
ganovelli
820aa5dbd1
modes deallocation commented (quick and dirty solution..to debug)
2005-04-17 17:48:24 +00:00
ganovelli
a07352eacd
"void" added
2005-04-14 21:29:03 +00:00
ganovelli
46ede434d8
*** empty log message ***
2005-04-14 21:23:39 +00:00
Federico Ponchio
2328e5b1e4
*** empty log message ***
2005-04-14 11:35:09 +00:00
Federico Ponchio
09c6d67301
Minimal fix in remoteness (Bugged anyway)
2005-03-02 15:13:45 +00:00
Federico Ponchio
048c401f92
small bugs
2005-02-22 14:33:04 +00:00
Paolo Cignoni
b80cfc783d
changed pointf to point<t> in ViewLineFromWindow
2005-02-11 11:53:18 +00:00
Paolo Cignoni
6a41a6ba9b
Trackball translation corrected
2005-02-11 11:44:07 +00:00
mtarini
0233f3799a
dispelled the mega-evil of GL_TRANSPOSE_*_MATRIX_ARB
2005-02-10 20:09:11 +00:00
Nico Pietroni
0e290b75d4
some warning corrected
2005-02-02 16:46:41 +00:00
Federico Ponchio
ee2a720b71
Added remoteness ("distance" from frustum)
2005-01-21 18:06:05 +00:00
Paolo Cignoni
20891ed96b
Removed the inclusion of a glext.h
2005-01-19 10:29:45 +00:00
Paolo Cignoni
7dca7fd327
*** empty log message ***
2005-01-18 16:47:42 +00:00
ganovelli
5bdfe060a0
PlaneMode completed
2005-01-14 15:44:03 +00:00
Paolo Cignoni
409ceaf11f
*** empty log message ***
2004-12-17 10:28:10 +00:00
Federico Ponchio
37e7cd9ada
Cleaning up and planes init more stable.
2004-10-04 12:33:02 +00:00
Federico Ponchio
44f6565e1e
Added a 'else'.
2004-09-28 15:30:12 +00:00
Federico Ponchio
89c3695006
Various generic changes.
2004-09-28 10:23:28 +00:00
Federico Ponchio
b4e6ecabbe
Added #include <GL/gl.h>
2004-09-28 10:22:00 +00:00
Paolo Cignoni
542670453b
Removed many small warnings
2004-09-09 22:59:21 +00:00
Federico Ponchio
276c9f7dbb
#include <gl... -> #include <GL...
2004-09-09 14:38:52 +00:00
Paolo Cignoni
4857d01a44
Added Scaling
2004-07-18 06:54:08 +00:00
Paolo Cignoni
e2763f9a8b
Added scaling by wheel
2004-07-11 22:06:56 +00:00
Paolo Cignoni
782b814293
Heavily restructured. To be completed only rotation works...
2004-06-09 14:01:13 +00:00
Paolo Cignoni
66e7c5372e
Removed inclusion of gl extension stuff
2004-05-26 15:15:46 +00:00
Federico Ponchio
bc4db34d6e
Added ViewLineFromModel
2004-05-14 03:15:40 +00:00
Federico Ponchio
8381f2f5a0
Redesigned partial version.
2004-05-14 03:15:09 +00:00
Federico Ponchio
c66c874c06
*** empty log message ***
2004-05-12 20:55:18 +00:00
Paolo Cignoni
6df79edd1f
Restructured and adapted in a better way to opengl
2004-05-07 12:46:08 +00:00
Paolo Cignoni
e5aef23c44
Commented out unused parameter names and other minor warning related issues
2004-04-07 10:54:11 +00:00
Federico Ponchio
f6eb36cac1
Fixed current_action initialization.
2004-03-31 15:08:03 +00:00