Massimiliano Corsini
b31fc9ddec
2011-05-23 14:09:16 +00:00
Massimiliano Corsini
eec4f43178
add a method to roto-translate the camera frame
...
add a service method to adjust the camera-shot when the World coordinates are scaled
2011-05-19 16:28:51 +00:00
Massimiliano Corsini
9349591548
fix some comments about the assumption made by the Shot
2011-05-19 08:46:38 +00:00
Paolo Cignoni
2c15159659
fixed multmatrix when a scaling factor is present
2011-05-03 15:19:04 +00:00
Paolo Cignoni
f310574e04
- Shot::MultMatrix(Matrix44) now accepts matrices with scaling. Corrected the rotation multiplication.
2011-04-11 09:39:20 +00:00
Paolo Cignoni
8fd11ae657
harmless gcc warnings
2011-02-17 11:40:22 +00:00
Paolo Cignoni
88107edef1
Added Shot::GetViewDir() method
2011-02-17 09:58:16 +00:00
Federico Ponchio
ef57d3e7e5
interpolate -> Interpolate.
2010-11-15 00:16:40 +00:00
Paolo Cignoni
343493ef11
Moved the ORTHO, PERSPECTIVE enums from the vcg namespace to the camera class namespace.
2010-10-31 13:19:09 +00:00
Paolo Cignoni
a9db0be12d
shotf and shotd are TYPEDEF not SUBCLASS !!!
2010-10-21 13:41:29 +00:00
Paolo Cignoni
2bdd323387
removed harmless warnings
2010-10-15 09:14:35 +00:00
Paolo Cignoni
d4786a1702
added maxElem minElem functions that returns values of the added elements and that can be outside the minmax range of the histogram
2010-10-01 08:59:25 +00:00
Paolo Cignoni
af5e0eb46b
small changes to the histogram interface to allow the use of weighted histograms
2010-09-21 22:33:37 +00:00
Paolo Cignoni
349e9869cf
Updated many vcg files to do not use anymore the vcg::Max(a,b) and vcg::Min(a,b). Use the std version instead.
2010-09-21 22:09:13 +00:00
Paolo Cignoni
47138fce2f
WARNING: important change. Removed the useless vcg::math::Max(a,b) that mimicked the std::max, and changed into a three argument Max(a,b,c) (quite useful in a lot of context and missing in std::.
2010-09-21 22:00:39 +00:00
Paolo Cignoni
d263446d0e
small changed needed for allowing derivation of extended classes
2010-09-13 09:42:25 +00:00
Paolo Cignoni
2bfd589613
disambiguated a pow call
2010-09-07 22:14:20 +00:00
matteodelle
3064a869cc
Michele Sottile: added GetFovFromFocal
2010-07-21 15:54:31 +00:00
ganovelli
eb3f1a97fc
added HasPerVertexVFAdjacency and HasPerFaceVFAdjacency. Removed
...
generic HasVFAdjacency which made the logical AND of the two and updated the
relative calls.
2010-06-24 12:35:37 +00:00
matteodelle
155cfe6845
New coords conversion function
2010-03-30 19:58:35 +00:00
Paolo Cignoni
a201459a30
removed harmless warnings
2010-03-18 14:20:53 +00:00
Paolo Cignoni
e4b0019e90
removed harmless warnings
2010-03-18 10:08:12 +00:00
Paolo Cignoni
eca7114e6c
corrected a small error inserted by mistake in the last commit...
2010-03-16 14:46:55 +00:00
Paolo Cignoni
80f825a428
removed harmless warnings
2010-03-16 14:25:30 +00:00
Paolo Cignoni
9f8497013f
removed harmless warnings
2010-02-24 09:55:28 +00:00
Paolo Cignoni
41fda194bd
Correctly defined int inside loop as per MSVC requirements, changed assert as to be more accurate
2010-02-11 20:06:14 +00:00
Paolo Cignoni
c72bfe6f63
Corrected a bug in the Distribution class and added useful access bin counting functions members to the Histogram class
2010-01-11 22:57:32 +00:00
Paolo Cignoni
3765096290
Added the possibility to wrap an existing coefficient vector
2010-01-08 10:36:09 +00:00
Paolo Cignoni
3705cb3cb9
Improved speed by using DynamicLegendre and precomputing Scaling Factors
2009-10-14 16:10:42 +00:00
Paolo Cignoni
8d8ed1efa8
Memoized version of Legendre computation called DynamicLegendre
2009-10-14 16:09:30 +00:00
Marco Callieri
0ccb9e8992
added support function (_substitute) to umproject 2D points + depth when the rotation matrix is not exactly rigid (such as the one calculated by Textailor, Tsai and Garcia)
2009-09-08 14:05:49 +00:00
mtarini
7f83000b93
fixed a nasty bug in Matrix44<T>::ToEulerAngles (but it still suffers from Gimbal Lock)
2009-08-21 12:42:16 +00:00
Paolo Cignoni
9608ec798b
compilation fixes with Eigen
2009-07-21 07:29:13 +00:00
Nico Pietroni
7aefe275b3
added #include<stdio> because of fprintf call on Histogram<ScalarType>::FileWrite function
2009-07-17 17:42:51 +00:00
Paolo Cignoni
e6fbdfb9f6
Added static constuctor that imports from different Quaternion types (overrides same static contstructor of father's Point4 class)
2009-07-10 13:18:24 +00:00
Paolo Cignoni
70d3ccfa23
Removed harmless warnings
2009-06-11 23:55:06 +00:00
Paolo Cignoni
b441009e15
added an invalid method that says if a shot is "reasonable" or not. A shot is valid if its Intrinsics are valid.
2009-05-21 23:04:09 +00:00
Paolo Cignoni
12c61c4622
Added ByLine() method, which initializes the quadric as the squared distance from a given line.
...
This works with a vcg::Ray() too, but the caller should be aware that the distance "before" the ray origin is computed as if the ray were a line.
2009-03-31 09:17:39 +00:00
Paolo Cignoni
19ae359bf1
Added unified interface for open and close 0,1 intervals and
...
extern boxmuller gaussian generator.
2009-02-04 12:06:58 +00:00
Paolo Cignoni
3d5ccb47f9
compilation fixes with eigen (norm2=>squaredNorm, a*b => a.dot(b))
2009-01-23 16:58:47 +00:00
Paolo Cignoni
9a47677ed2
compilation fixes with eigen
2009-01-22 23:10:24 +00:00
granzuglia
de75285ed0
added const qualifier to transpose function
2009-01-22 10:18:40 +00:00
Paolo Cignoni
91968941c8
removed abs and sqrt ambiguities
2009-01-18 23:56:28 +00:00
Paolo Cignoni
07fd44359d
Added Distribution Class, a more safe and slower class for managing distribution of scalar values that has the same interface of Histogram
2009-01-15 23:54:00 +00:00
Federico Ponchio
d0ad7cbacc
fabs -> math::Abs
2009-01-15 14:29:05 +00:00
granzuglia
72eb2f753e
added GetColumn3,GetColumn4,SetColumn
2009-01-15 13:42:30 +00:00
Paolo Cignoni
0b15c9b4b4
added a few const, and a default value for the generate(int) call
2008-12-18 00:29:03 +00:00
Marco Callieri
7548c5e2ac
corrected a pow argument casting
2008-12-16 09:52:04 +00:00
Paolo Cignoni
0f0ac756e4
Polar Functor is now templatized
2008-12-15 13:16:00 +00:00
Paolo Cignoni
a9a17a0713
Aligned with current implementation of RandomGenerator
2008-12-15 08:49:02 +00:00
Paolo Cignoni
13e5060688
Re-added the original constructor with the seed. Very useful for using custom static generators.
2008-11-27 21:04:17 +00:00
Massimiliano Corsini
b73fba8706
refactoring
2008-11-27 16:39:05 +00:00
Paolo Cignoni
46b3024de6
Changed as to include new Random methods
2008-11-27 15:05:36 +00:00
Massimiliano Corsini
c13722fd54
minor changes
2008-11-27 11:49:17 +00:00
Massimiliano Corsini
67d185c384
other bugs fixed
2008-11-27 11:37:23 +00:00
Massimiliano Corsini
7b8d3a07f0
first fixes
2008-11-27 11:31:01 +00:00
Massimiliano Corsini
50a436594e
re-styled and improved uniform random number generator
2008-11-27 11:27:54 +00:00
Paolo Cignoni
5ee16ee977
Removed unused static field max_band
2008-11-20 13:27:50 +00:00
Federico Ponchio
a9e5756eda
Distortion parameter zeroed on creation!
2008-11-06 15:36:44 +00:00
Paolo Cignoni
0927eaf2fb
sounds like I forgot to commit the addition of Transpose compatibility + fix related to recent Eigen change
2008-11-04 12:33:47 +00:00
mtarini
b3620bb320
implemented ToEulerAngles + minor changes and fixes.
2008-11-01 15:54:13 +00:00
Paolo Cignoni
dfc97ba1f2
fix Matrix44 infinite product, make glGetv not allocate temporary
2008-10-30 10:47:08 +00:00
Paolo Cignoni
60eb470c6c
of course fixing msvc breaked gcc... not anymore... spoke too fast gcc 4.0.1 had troubles
2008-10-29 15:52:07 +00:00
Paolo Cignoni
e90fd9ca16
of course fixing msvc breaked gcc... not anymore
2008-10-29 15:36:08 +00:00
Paolo Cignoni
0414cbc2f3
Fixed includes, new interface to specify polar functions
2008-10-29 15:26:45 +00:00
Paolo Cignoni
c8506daaff
fixed a couple of MSVC issues, meshlab compile, the plugins soon...
2008-10-29 14:01:44 +00:00
Paolo Cignoni
7b075b3905
mvsc does not like #warning
2008-10-29 13:17:32 +00:00
Paolo Cignoni
69a82d6174
fix the is "inaccessible" issue with g++-4.0.1 - more fixes ;)
2008-10-29 11:29:57 +00:00
Paolo Cignoni
696f763c3d
fix the is "inaccessible" issue with g++-4.0.1
2008-10-29 11:28:51 +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
Paolo Cignoni
0361427bc0
big cleaning in Point* and Matrix*, now they are very closed to be simple typedef of
...
Eigen's Matrix. Now the dilema is how to mimic those typedefs, using inheritence ?
or using the classic workaround: typename Point3<float>::Type; with Point3<T>::Type defined
to Eigen::Matrix<T,3,1>. Anyway currently I support both (and the inheritence scheme has
to be preserved for compatibility). The advantage of the second approach is that when
eigen has to evaluate an expression it uses an Eigen::Matrix<>, so it is probably better
to only use Eigen::Matrix but I'm not 100% sure that makes a big difference especially if
we add some automatic reinterpret_cast between Eigen::Matrix and vcg::Point*....
2008-10-28 20:06:17 +00:00
Paolo Cignoni
c1551eddfd
make Point derive Eigen's Matrix and some cleanning
2008-10-28 11:47:37 +00:00
Paolo Cignoni
977ddb9623
some cleaning
2008-10-28 10:16:43 +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
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
5394003338
Fixed small error in documentation
2008-10-24 18:49:40 +00:00
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