Commit Graph

351 Commits

Author SHA1 Message Date
ganovelli f2ed76753c added inclusion of functional 2008-09-22 09:10:58 +00:00
granzuglia b9ce07204e Minor changes according to new Point<N,S> definition. 2008-09-10 14:06:13 +00:00
Paolo Cignoni e8c7472dca Corrected name of template type S in UndistortedToDistorted() to avoid the shadowing between S as type and S as variable name. 2008-09-09 17:41:33 +00:00
matteodelle c94dbdfdaf 2008-09-09 09:22:55 +00:00
matteodelle 0c2491e1b4 new functions to handle distortion: should not affect previous stuff. tested but still error prone... 2008-09-09 09:20:48 +00:00
Federico Ponchio 12d5a0e322 Removed compile warning by initializing imax to 0 in Decompose(). 2008-08-27 14:33:20 +00:00
Paolo Cignoni 7c66288207 changed a RotateRad to the new SetRotateRad 2008-08-14 10:02:07 +00:00
ganovelli 3462f6a8c2 changed from Rotate (in degrees) to SetRotateRad and SetRotateDeg (the same as in Matrix44.h)
Added return type to the functions SetXXX
2008-08-12 17:31:11 +00:00
Paolo Cignoni 9e214da6ff Re-inserted the return statement in the Invert() function that was erroneously removed with the previous commit. 2008-08-11 12:56:37 +00:00
Paolo Cignoni 65320e40a7 Added a clarifying comment on the Invert versus Inverse issue 2008-08-11 08:04:19 +00:00
ganovelli 1e94f7cf46 Add covariance matrix of a set of points 2008-08-07 18:33:23 +00:00
Paolo Cignoni dde42be7ea Added new line at the end of file 2008-08-04 15:55:53 +00:00
Paolo Cignoni e4e5507757 Added missing includes 2008-08-04 15:38:10 +00:00
Paolo Cignoni c46f5f2435 removed a version of the ComputeRigidMatchMatrix that take in input a weight vector. User should use ComputeWeightRigidMatchMatrix directly 2008-07-23 22:50:15 +00:00
Paolo Cignoni f61a69c94f in "ComputeRigidMatchMatrix(std::vector<ScalarType> weights,Matrix44x &res,std::vector<Point3x> &Pfix,std::vector<Point3x> &Pmov)" I changed:
Quaterniond qtmp;  ----->to------>	Quaternionx qtmp;
Point3d tr;	   ----->to------>	Point3x tr;
2008-07-23 17:30:30 +00:00
Paolo Cignoni 6a4631b94b 1) in "ComputeWeightedRigidMatchMatrix" I changed:
std::vector<double> weights       ----->to------>     std::vector<ScalarType> weights
tmp.Trasp();		          ----->to------>     tmp.Transpose();
QQ.Zero();		          ----->to------>     QQ.SetZero();
RM.Zero();		          ----->to------>     RM.SetZero();
ccm.Trasp();		          ----->to------>     ccm.Transpose();
QQ.Jacobi(d,v,nrot);	          ----->to------>     Jacobi(QQ,d,v,nrot);
q.RotMatrix(Rot);	          ----->to------>     q.ToMatrix(Rot);
tr= (bfix - Rot.Apply(bmov));     ----->to------>     tr= (bfix - Rot *bmov);		
Trn.Translate(tr);	          ----->to------>     Trn.SetTranslate(tr);	


2) in "ComputeRigidMatchMatrix" I changed:
return ComputeRigidMatchMatrix(res,Pfix,Pmov,qtmp,tr); 	----->to------>	 return ComputeWeightedRigidMatchMatrix(res,Pfix,Pmov,weights,qtmp,tr);
2008-07-23 17:19:51 +00:00
Federico Ponchio 825483d177 Rationalized ToMatrix and FromMatrix (and improved algorithm). 2008-07-21 13:38:55 +00:00
Federico Ponchio 89973a1a14 Extrinsics in Shot use Matrix44 not Quaternion. therefore ToMatrix was correct.
Rolling back.... sigh.
2008-07-14 13:42:22 +00:00
Federico Ponchio 844be84004 GetCol3 -> GetColumn3 (this part needs to be tested!) 2008-07-14 13:28:27 +00:00
Paolo Cignoni a20902efd8 VERY IMPORTANT CHANGE - Could break the compilation of a lot of code around.
SetRotate of matrix44 has gone. Now only the explicit version SetRotateDeg and SetRotateRad are available. It was too error prone having something with the OpenGL syntax but using radiant instead the OpenGL degrees
2008-07-13 05:37:00 +00:00
ganovelli 3d21fcba1d removed dependency on qt 2008-06-23 14:20:52 +00:00
Paolo Cignoni 8a6dbded39 Corrected wrong license information in the header 2008-05-28 23:29:23 +00:00
Paolo Cignoni 45ed8cb000 Capital f in Factorial 2008-05-28 08:59:40 +00:00
Paolo Cignoni a152d0e208 First release 2008-05-28 08:55:04 +00:00
Paolo Cignoni 0a0436a13c Removed $Log$ macro 2008-05-28 08:54:33 +00:00
Paolo Cignoni 4ee18ed103 First release 2008-05-28 08:53:30 +00:00
Paolo Cignoni 2caf6034f3 Added SQRT_TWO 2008-05-28 08:51:32 +00:00
Paolo Cignoni 399277570b First release 2008-05-16 10:36:35 +00:00
Federico Ponchio 9cb9c1dace Fixed Axis. Due to quaternion changes. 2008-04-11 12:22:32 +00:00
ganovelli b457b0c978 removed printf 2008-03-17 11:36:37 +00:00
Paolo Cignoni 04d00284a5 added missing include limits 2008-03-06 10:45:39 +00:00
Paolo Cignoni 051c612aba Heavily refactored the whole structure.
Some interfaces have been changed. Be careful.
2008-03-05 11:21:49 +00:00
Paolo Cignoni d14283e619 added maxcount 2008-02-29 12:15:06 +00:00
Federico Ponchio 82635287c7 Returrned to s*r*t decomposition. 2008-02-24 18:03:03 +00:00
Federico Ponchio 6b3726ef90 Removed a Transpose due to change in quaternions.h ToMatrix 2008-02-22 18:10:39 +00:00
Federico Ponchio 8cc9a085a7 Changed to reflect quaternion toMatrix inversion. 2008-02-22 17:41:48 +00:00
Federico Ponchio 84760ee1f2 Fixed determinantt problem and quaternion problem. 2008-02-22 17:40:27 +00:00
Federico Ponchio 2b19c6c313 ToMatrix returned the inverse matrix. OUCH.
This affects trackball and shot.h
Added a const also.
2008-02-22 17:39:59 +00:00
Federico Ponchio e4c62fec6d refixed bug in FromMatrix 2008-02-21 11:34:08 +00:00
Federico Ponchio a32c8842ef fixed bug in FromMatrix 2008-02-21 10:57:59 +00:00
Paolo Cignoni 652f27f40f corrected bug in FromMatrix 2008-02-21 10:30:18 +00:00
ganovelli 7ddf584fac useless matrix multiplication removed 2008-01-03 17:42:03 +00:00
ganovelli a7e016e1ef added RandomRotation 2008-01-03 17:40:17 +00:00
Paolo Cignoni 224e50a2bd Added missing include guards 2007-12-02 10:06:47 +00:00
Marco Di Benedetto da56c33f36 Added missing #include <algorithm> 2007-11-24 20:41:00 +00:00
Paolo Cignoni 3f18e449dc added ComputeSimilarityMatchMatrix 2007-11-17 15:41:42 +00:00
Paolo Cignoni 68effd0f7a Added IsNAN 2007-07-24 07:09:17 +00:00
Paolo Cignoni 787cfbe93f first version, ported from the internal lib to the open one. 2007-07-13 14:23:56 +00:00
Paolo Cignoni c26a1aa94b added a static (unefficient!) identity member 2007-07-13 00:01:47 +00:00
Paolo Cignoni 4dd3dbdbfb added the missing static Construct() member 2007-07-12 06:42:01 +00:00
Massimiliano Corsini a522bf6595 add DCM to Euler Angles method (to implement) 2007-07-03 16:07:09 +00:00
Massimiliano Corsini c99138926d add DCM to Euler Angles conversion 2007-07-03 16:06:48 +00:00
Paolo Cignoni 7b85798562 added bestmachting normal 2007-05-29 14:01:24 +00:00
Paolo Cignoni 63dccc011a Moved here from shadevis 2007-05-22 21:21:27 +00:00
Nico Pietroni 85175e7dc4 added RotationMatrix method to calculate rotation matrix along an axis 2007-04-19 14:30:26 +00:00
Nico Pietroni ac5e8a2143 Added function RotationMatrix 2007-04-07 23:06:47 +00:00
Paolo Cignoni ae9d8a8535 Solved an issue related to different casting double-float between gcc 3 and gcc 4 2007-03-22 11:07:16 +00:00
Massimiliano Corsini 488287610f final fix to euler angles transformation 2007-03-08 14:39:27 +00:00
mtarini c2dcc2798f added a missing "Quaternion<S>::" in "FromEulerAngles" 2007-02-06 12:24:07 +00:00
Massimiliano Corsini 9659b702f8 fix euler angles computation 2007-02-06 09:57:40 +00:00
Massimiliano Corsini 8b60f2cc35 fix names 2007-02-06 08:54:07 +00:00
Massimiliano Corsini 961c1dfff0 add new ctor (build similarity from euler angles) 2007-02-05 14:17:48 +00:00
Massimiliano Corsini 0bb019d92e add extrinsic parameters accessors 2007-02-05 14:17:21 +00:00
Massimiliano Corsini 4b5533971a add from euler angles to rotation matrix conversion 2007-02-05 14:16:33 +00:00
Massimiliano Corsini fbf770bd7b add euler angle to quaternion conversion 2007-02-05 13:55:21 +00:00
Nico Pietroni 2d7c1bbdd2 -Used scalar type passed as template argument istead of double to prevent warnings.. in Rotate function 2007-01-29 00:20:25 +00:00
Nico Pietroni 09acf65187 -added some explicit CASTs in order to avoid warning if one use float instead of double as ScalarType 2007-01-29 00:18:20 +00:00
matteodelle cd277247cc *** empty log message *** 2007-01-10 17:25:18 +00:00
Nico Pietroni f8eeaae81f added explicit cast in function inline float Sqrt(const int v) in order to avoid warnings 2007-01-08 09:23:49 +00:00
Paolo Cignoni 01695ba1d5 Corrected a syntax error detected only by gcc.
Corrected the order of initialization in the constructor to match the declaration order
2006-12-21 00:13:27 +00:00
matteodelle 17ebec98c6 minor eroor correction on variable names 2006-12-18 16:02:57 +00:00
Marco Callieri a344d59446 camera+shot revamp: changed field names to something with more sense, cleaning of various functions, correction of minor bugs/incongruences, removal of the infamous reference in shot. 2006-12-18 09:46:39 +00:00
Paolo Cignoni 5af2209678 Re added typedef Histogramf and Histogramd 2006-11-28 21:29:21 +00:00
Massimiliano Corsini d179389424 add documentation
fix typo
2006-11-28 09:47:42 +00:00
Federico Ponchio 613dcafe3b just added an #include <matrix33> 2006-11-13 12:53:40 +00:00
Paolo Cignoni 642158fc32 many gcc compiling issues 2006-11-07 17:22:53 +00:00
Paolo Cignoni e2733d55df Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem 2006-11-07 15:13:57 +00:00
Paolo Cignoni 06047a697d gcc compiling issues 2006-11-07 11:47:14 +00:00
Paolo Cignoni ebc0ac52c0 Added two sqrt templates for resolving ambiguity of sqrt(int) 2006-10-13 13:14:50 +00:00
Paolo Cignoni 605c4d2f04 Added a minimum method that uses SVD. Unfortunately it is much much slower. 2006-10-09 20:23:00 +00:00
Paolo Cignoni a927c50c8d Added missing typedef for gcc compiing 2006-09-29 08:36:10 +00:00
Paolo Cignoni 4e76390661 Removed some warnings 2006-09-28 22:49:49 +00:00
ganovelli d1eea25504 added constructor from matrix44 excluding a row and colum 2006-09-25 23:05:29 +00:00
Paolo Cignoni ac4efc84ef initial commit 2006-09-21 18:10:05 +00:00
Paolo Cignoni d8b56cedb1 Added SetIdentity method 2006-09-21 18:09:34 +00:00
Paolo Cignoni 8d63662955 Added const to declarations of the overloaded (operators *).
Otherwise the  * operator would always attempt to convert any type of data passed as an argument to Point3<TYPE>
2006-09-11 16:11:39 +00:00
Paolo Cignoni 6cc1fb0753 Copy constructor : faster memcpy instead of slow 'for' cycle
empty constructor
2006-08-23 15:24:45 +00:00
Paolo Cignoni 5905c197b6 added some typename directives 2006-07-28 12:39:05 +00:00
Paolo Cignoni 68b176d276 Changed the template argument in JacobiRotate and added method for sorting eigenvalues and eigenvectors (SortEigenvaluesAndEigenvectors) 2006-07-24 07:26:47 +00:00
ganovelli bd2e84521b toMatrix with matrix33 added 2006-06-22 08:00:26 +00:00
ganovelli 9587cc0350 bug in operator + with MatrixxDig 2006-06-22 08:00:05 +00:00
Paolo Cignoni 3d8bbcc87f added missing internal prototype to Sort function 2006-05-25 09:35:55 +00:00
Paolo Cignoni 1e8fb101d5 Added initial disclaimer 2006-05-17 09:26:35 +00:00
Paolo Cignoni 179d96b098 Added enum for the sorting strategy of the result in SVD. 2006-05-15 07:36:50 +00:00
Paolo Cignoni 4273322f65 minor change: removed unused vars 2006-05-04 00:09:53 +00:00
Paolo Cignoni 10c513dad8 Added some utility methods (swapping of columns and rows, matrix-vector multiplication) 2006-04-29 10:26:04 +00:00
Paolo Cignoni 26ce24dec3 Added method for sorting the singular values computed by the SingularValueDecomposition procedure 2006-04-29 10:20:52 +00:00
Paolo Cignoni 3ddd189349 changes necessary for gcc 3.4.5 on linux 64bit. Please take note of case-sensitivity of filenames 2006-04-11 08:09:35 +00:00
Paolo Cignoni 462fa9effe extra includes necessary for compilation of meshlab on AMD 64 with gcc 3.4.5 2006-03-29 09:25:49 +00:00
Paolo Cignoni 5a2ed7b59d Corrected intialization of flag, must be zero. 2006-01-22 17:01:40 +00:00
Nico Pietroni cf9fd0ca9f added operators:
operator -= ( const Matrix33Diag<S>  &p )
           Matrix33  operator - ( const Matrix33Diag<S>  &p )
           Matrix33  operator + ( const Matrix33 &m )
           Matrix33  operator + ( const Matrix33Diag<S>  &p )
2006-01-20 16:41:44 +00:00
Marco Callieri e7b6fd9b9f in FileWrite, added file closing after finishing 2006-01-12 13:12:54 +00:00
Marco Callieri abbcfe10a9 corrected UnProject, it's necessary also a ZDepth value to perform inverse projection 2005-12-12 16:53:43 +00:00
Marco Callieri f6261d2a45 Added Unproject, from 2D local space + Zdepth to 3D camera space. Added ViewportToLocal, inverse of LocalToViewport 2005-12-12 16:52:55 +00:00
ganovelli 7229c77576 added diagonal matrix, outer produce and namespace 2005-12-12 11:25:00 +00:00
ganovelli dca1252d91 missing type added 2005-12-12 11:24:09 +00:00
Marco Callieri 1257fd3a4a added commodity function ProjectWorldtoViewport() to obtain directly pixel indices without calling two separate function of two different objects 2005-12-07 10:57:52 +00:00
Marco Callieri ee3d9a28e3 in Shot<S>::Axis changed Row3 to GetRow3 . row3 was the old method name of Matrix44 2005-12-02 16:14:35 +00:00
Paolo Cignoni 2d58480432 Corrected bug in == and != Matrix44 operators 2005-12-02 09:46:49 +00:00
Paolo Cignoni 6d5c0cd0f7 Removed excess ';' from end of template functions, for gcc compiling 2005-12-01 01:03:37 +00:00
ganovelli 29208970f0 added access to similarity (just for symmetry with Camera() ) 2005-11-23 14:18:35 +00:00
ganovelli 63b79da781 Empty constructor added, untemplated class Shotf and Shotd added
usage: Shotf myShot;
corrected member access rights
2005-11-23 11:58:52 +00:00
ganovelli 43b85e9405 created 2005-11-18 14:46:23 +00:00
Paolo Cignoni 0f7d072b0f Changed Invert -> FastInvert for the function based on the maple expansion 2005-11-14 10:28:25 +00:00
Federico Ponchio cf9d5743fb Added newline at end of file (tired of stupid warnings...) 2005-10-24 09:20:28 +00:00
Federico Ponchio a06ae78c6e Changed a Zero in SetZero in WeightedCrossCovariance() (again) 2005-10-13 15:45:23 +00:00
Federico Ponchio 5008465972 Added IsOrtho... 2005-10-12 16:43:32 +00:00
Nico Pietroni 7580221931 corrected sintax error on singular value decomposition 2005-10-05 17:06:12 +00:00
Paolo Cignoni 5ef378ec5a add define header 2005-10-03 16:19:44 +00:00
ganovelli 44e86f5a9b added inverse by SVD 2005-09-29 09:53:58 +00:00
Paolo Cignoni f8aafdd20d removed signed/unsigned warning 2005-09-16 11:51:23 +00:00
Paolo Cignoni 2c5c27e3fd First working version 2005-07-28 06:34:03 +00:00
Paolo Cignoni 44eb40324f small gcc-related compiling issues (typenames,ending cr, initialization order) 2005-07-11 13:16:34 +00:00
Paolo Cignoni bd4e3b01b0 Removed default values from the implementation of SetCavalieri and SetIsometric 2005-07-01 10:55:42 +00:00
Paolo Cignoni 494f6ccff7 aggiunto:
- l' enum dei tipi  PERSPECTIVE,  ORTHO, ISOMETRIC,  CAVALIERI
- inline void SetCavalieri(...)
- inline void SetIsometric(...)

- modificato
- void SetOrtho( .. )
2005-06-29 14:59:03 +00:00
ganovelli 42831cd32b added Matrix44Diag 2005-06-28 17:42:47 +00:00
Paolo Cignoni 88792bfc33 Completed Shear Matrix code and comments,
Added use of swap inside Transpose
Added more complete comments on the usage of Decompose
2005-06-17 05:28:47 +00:00
Paolo Cignoni 8d51af2c92 Corrected small bug in SetRange (H was resized to n instead of n+1) 2005-06-17 00:54:55 +00:00
ganovelli ccbfc728cb added include of algorithm 2005-06-14 14:27:00 +00:00
Paolo Cignoni fe5d343fd0 Added Various missing functions: SetShearXY, SetShearXZ, SetShearYZ, SetScale for point3 and Decompose
Completed *=(scalar); made uniform GetRow and GetColumn
2005-06-10 15:04:12 +00:00
Paolo Cignoni c379550e2e Added include assert.h and cast to ScalarType for a pow in SetRange() function. 2005-06-10 14:59:39 +00:00
Paolo Cignoni bebc58f9b1 Changed a Zero in SetZero in WeightedCrossCovariance() 2005-06-10 14:51:54 +00:00
Nico Pietroni 47b654861c Added Norm Function 2005-06-10 11:46:49 +00:00
Paolo Cignoni 4ae07c24c1 Added typedef Histogramf and Histogramd 2005-06-09 14:19:55 +00:00
ganovelli b14537dcff changed from Matrix33Ide to MatrixeeDiag 2005-06-07 14:29:56 +00:00
Federico Ponchio 6c1fdb3066 Added fabs() to variance, which can sometime be negative in case
of rounding errors (and sqrt chokes on it).
2005-06-07 09:37:33 +00:00
Paolo Cignoni 17fb55c9e0 Added Percentile and removed small bug in Add 2005-06-07 07:44:08 +00:00
ganovelli 5aea057836 Matrix33Ide Added: it implements diagonal matrix. Added only operator += in Matrix33 2005-05-23 15:05:26 +00:00
ganovelli c3db21bd39 tolto il const a interpolate 2005-04-17 21:57:03 +00:00
Federico Ponchio 59c1559e59 Typo: Point3 -> Point4 2005-04-15 09:19:50 +00:00
Federico Ponchio f766cf6773 *** empty log message *** 2005-04-14 17:23:08 +00:00
Federico Ponchio 2328e5b1e4 *** empty log message *** 2005-04-14 11:35:09 +00:00
Nico Pietroni 9cb3c240e6 changed swap to math::Swap in Traspose Function 2005-04-11 14:11:22 +00:00
Paolo Cignoni 1363b8c4a8 Added missing functions Avg, rms etc, now fully (almost) functional 2005-04-04 10:48:35 +00:00
Paolo Cignoni 825c3b9a0c minor changes to comply gcc compiler 2005-03-30 17:18:13 +00:00
Paolo Cignoni f8fb041641 minor bugs fixed 2005-03-18 16:31:02 +00:00
Paolo Cignoni 4c1f6e73b6 removed small gcc compiling issues 2005-03-18 00:14:40 +00:00
Paolo Cignoni 27694f7a67 Added operator*=( std::vector<PointType> ...) to apply a matrix to a vector of vertexes (replacement of the old style mesh.Apply(tr). 2005-03-15 11:40:56 +00:00
Paolo Cignoni c272706c18 Added missing include<vector> 2005-03-14 09:23:40 +00:00
Paolo Cignoni b01f11a93e Corrected declaration and some syntax errors in GetFrustum 2005-02-22 10:57:58 +00:00