Commit Graph

312 Commits

Author SHA1 Message Date
Paolo Cignoni 8a8eb6fb65 add the possiblity to sort eigenvalues/vectors according to their absolute values 2008-10-24 17:21:53 +00:00
Paolo Cignoni 24ea4251a9 Matrix33: make const the binary operators 2008-10-24 12:20:44 +00:00
Paolo Cignoni 39e2cf2b3e Spherical Harmonics are templatized on the number of coefficients 2008-10-08 14:01:34 +00:00
ganovelli d0d580c4ae Changed GetIntrinsics into:
GetExtrinsicsToWorldMatrix and
GetWorldToExtrinsicsMatrix
2008-10-07 10:57:09 +00:00
ganovelli e16d065e93 [Namespaces changes]
vert->vertex


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 (extended namespaces):
order 0 (vertex)      :vertex 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 11:41:58 +00:00
ganovelli bb741600ca <limits.h> to <limit> 2008-09-30 11:41:04 +00:00
ganovelli a2e3e5b725 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:07:32 +00:00
Federico Ponchio e5258c6aa3 Attempting to make similarity compatible with both quaternions and matrix44 2008-09-26 15:37:53 +00:00
ganovelli 3d8400f86e added a missing templatization od Point3 in Decompose (thanks Oscar Barney) 2008-09-22 13:49:15 +00:00
ganovelli efd69c8291 qualifier Camera<S>:: removed in inline definition (thanks Oscar Barney) 2008-09-22 13:42:49 +00:00
ganovelli 889b2ddaa3 chamged " to < in the #include 2008-09-22 09:35:01 +00:00
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