Commit Graph

156 Commits

Author SHA1 Message Date
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