|
From: Wouter W. <wo...@xs...> - 2008-06-01 18:13:54
|
Hello there,
I am trying to use GMTL in my application,
but I am running into a lot of problems.
A lot of the examples in the FAQ do not seem to work.
I include gmtl.h, so that should cover everything, right?
Ok, so, where to start. First of all; extracting rotation/translation information from a matrix doesn't work properly.
The FAQ states:
"You can extract the rotational data as any of GMTL's rotation data types. In any case, you need to use the makeRot templated function. Note that you need to specify which rotation data type you want to extract."
followed by four examples.
Two of these examples do not work; extracting the rotation in euler angles or quaternions works, but trying to get axis angles or a matrix fails.
myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
results in 19 errors on that line.
Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE> &)' : could not deduce template argument for 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
...and so on...
myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
results in similar errors
Secondly, the makeTrans function works for Point3f and Vec3f, but not for Matrix44f. The following code:
gmtl::Matrix44f matrix1;
gmtl::Matrix44f matrix2;
matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
results in the following errors:
Error 1 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 3 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 123
Error 4 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 125
Error 5 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const float' (or there is no acceptable conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
The 3rd problem I encountered is the rotating of vectors.
The FAQ says:
"In most cases you can simply use the * operator with your vector and one of the rotaional data types."
So I tried that, with the provided sample code:
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myVec * myAA;
myVec = myVec * myQuat;
myVec = myVec * myMat;
myVec = myVec * myEuler;
This results in >100 errors, all of type C2784 ("could not deduce template argument for....")
I'm clueless here, I am trying to use the GMTL library for basic math operations, but just about everything I try to do, fails.
Can someone help me out?
- Wouter
|
|
From: Kevin M. <ke...@su...> - 2008-06-01 19:24:32
|
what happens when you reverse your arguments?
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
I don't think it works to have the vec on the left hand side... but i could
be wrong, i haven't used this library in a few years... :)
On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
> Hello there,
>
> I am trying to use GMTL in my application,
> but I am running into a lot of problems.
> A lot of the examples in the FAQ do not seem to work.
> I include gmtl.h, so that should cover everything, right?
>
> Ok, so, where to start. First of all; extracting rotation/translation
> information from a matrix doesn't work properly.
>
> The FAQ states:
>
> "You can extract the rotational data as any of GMTL's rotation data types.
> In any case, you need to use the makeRot templated function. Note that you
> need to specify which rotation data type you want to extract."
>
> followed by four examples.
>
> Two of these examples do not work; extracting the rotation in euler angles
> or quaternions works, but trying to get axis angles or a matrix fails.
>
>
> myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
>
>
> results in 19 errors on that line.
>
> Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
> Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
> Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>
> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE>
> &)' : could not deduce template argument for
> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program
> Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
> ...and so on...
>
>
> myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
>
> results in similar errors
>
>
>
> Secondly, the makeTrans function works for Point3f and Vec3f, but not for
> Matrix44f. The following code:
>
> gmtl::Matrix44f matrix1;
> gmtl::Matrix44f matrix2;
> matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
>
> results in the following errors:
>
> Error 1 error C2039: 'Size' : is not a member of
> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
> 2.2.0\include\gmtl\Generate.h 122
> Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR
> Juggler 2.2.0\include\gmtl\Generate.h 122
> Error 3 error C2039: 'Size' : is not a member of
> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
> 2.2.0\include\gmtl\Generate.h 123
> Error 4 error C2039: 'Size' : is not a member of
> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
> 2.2.0\include\gmtl\Generate.h 125
> Error 5 error C2679: binary '=' : no operator found which takes a
> right-hand operand of type 'const float' (or there is no acceptable
> conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
>
> The 3rd problem I encountered is the rotating of vectors.
> The FAQ says:
> "In most cases you can simply use the * operator with your vector and one
> of the rotaional data types."
>
> So I tried that, with the provided sample code:
>
> gmtl::Vec3f myVec;
> gmtl::AxisAnglef myAA;
> gmtl::Quatf myQuat;
> gmtl::Matrix44f myMat;
> gmtl::EulerAngleXYZf myEuler;
>
> myVec = myVec * myAA;
> myVec = myVec * myQuat;
> myVec = myVec * myMat;
> myVec = myVec * myEuler;
>
>
> This results in >100 errors, all of type C2784 ("could not deduce template
> argument for....")
>
>
> I'm clueless here, I am trying to use the GMTL library for basic math
> operations, but just about everything I try to do, fails.
>
> Can someone help me out?
>
>
> - Wouter
>
>
>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> ggt-devel mailing list
> ggt...@li...
> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>
>
--
kevin meinert | http://www.subatomicglue.com
|
|
From: Wouter W. <wo...@xs...> - 2008-06-01 20:09:15
|
that didn't help :(
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 9:17 PM
Subject: Re: [ggt-devel] problems using GMTL
what happens when you reverse your arguments?
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
I don't think it works to have the vec on the left hand side... but i could be wrong, i haven't used this library in a few years... :)
On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
Hello there,
I am trying to use GMTL in my application,
but I am running into a lot of problems.
A lot of the examples in the FAQ do not seem to work.
I include gmtl.h, so that should cover everything, right?
Ok, so, where to start. First of all; extracting rotation/translation information from a matrix doesn't work properly.
The FAQ states:
"You can extract the rotational data as any of GMTL's rotation data types. In any case, you need to use the makeRot templated function. Note that you need to specify which rotation data type you want to extract."
followed by four examples.
Two of these examples do not work; extracting the rotation in euler angles or quaternions works, but trying to get axis angles or a matrix fails.
myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
results in 19 errors on that line.
Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE> &)' : could not deduce template argument for 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
...and so on...
myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
results in similar errors
Secondly, the makeTrans function works for Point3f and Vec3f, but not for Matrix44f. The following code:
gmtl::Matrix44f matrix1;
gmtl::Matrix44f matrix2;
matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
results in the following errors:
Error 1 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 3 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 123
Error 4 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 125
Error 5 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const float' (or there is no acceptable conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
The 3rd problem I encountered is the rotating of vectors.
The FAQ says:
"In most cases you can simply use the * operator with your vector and one of the rotaional data types."
So I tried that, with the provided sample code:
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myVec * myAA;
myVec = myVec * myQuat;
myVec = myVec * myMat;
myVec = myVec * myEuler;
This results in >100 errors, all of type C2784 ("could not deduce template argument for....")
I'm clueless here, I am trying to use the GMTL library for basic math operations, but just about everything I try to do, fails.
Can someone help me out?
- Wouter
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
------------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------------------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
|
|
From: Kevin M. <ke...@su...> - 2008-06-01 20:29:54
|
*check your compiler version.
*
I have
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
compiling your 3rd example, I get this error:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myVec * myAA'
main.cpp:14: error: no match for 'operator*' in 'myVec * myQuat'
main.cpp:15: error: no match for 'operator*' in 'myVec * myMat'
main.cpp:16: error: no match for 'operator*' in 'myVec * myEuler'
which makes sense, since there are no functions for that.
Swapping the args, I still get 2 errors:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myAA * myVec'
main.cpp:16: error: no match for 'operator*' in 'myEuler * myVec'
which makes sense, since we don't have functions for AA * vec, or euler *
vec (you should use matrix or quaternion...)
here's my main.cpp so that you can try it on your compiler.
#include <gmtl/gmtl.h>
int main()
{
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
return 0;
}
On Sun, Jun 1, 2008 at 1:08 PM, Wouter Wognum <wo...@xs...> wrote:
> that didn't help :(
>
> ----- Original Message -----
> *From:* Kevin Meinert <ke...@su...>
> *To:* ggt...@li...
> *Sent:* Sunday, June 01, 2008 9:17 PM
> *Subject:* Re: [ggt-devel] problems using GMTL
>
>
> what happens when you reverse your arguments?
>
> gmtl::Vec3f myVec;
> gmtl::AxisAnglef myAA;
> gmtl::Quatf myQuat;
> gmtl::Matrix44f myMat;
> gmtl::EulerAngleXYZf myEuler;
>
> myVec = myAA * myVec ;
> myVec = myQuat * myVec ;
> myVec = myMat * myVec ;
> myVec = myEuler * myVec ;
>
>
>
>
> I don't think it works to have the vec on the left hand side... but i could
> be wrong, i haven't used this library in a few years... :)
>
>
> On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
>
>> Hello there,
>>
>> I am trying to use GMTL in my application,
>> but I am running into a lot of problems.
>> A lot of the examples in the FAQ do not seem to work.
>> I include gmtl.h, so that should cover everything, right?
>>
>> Ok, so, where to start. First of all; extracting rotation/translation
>> information from a matrix doesn't work properly.
>>
>> The FAQ states:
>>
>> "You can extract the rotational data as any of GMTL's rotation data types.
>> In any case, you need to use the makeRot templated function. Note that you
>> need to specify which rotation data type you want to extract."
>>
>> followed by four examples.
>>
>> Two of these examples do not work; extracting the rotation in euler angles
>> or quaternions works, but trying to get axis angles or a matrix fails.
>>
>>
>> myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
>>
>>
>> results in 19 errors on that line.
>>
>> Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>> Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>> Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>
>> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE>
>> &)' : could not deduce template argument for
>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program
>> Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>> ...and so on...
>>
>>
>> myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
>>
>> results in similar errors
>>
>>
>>
>> Secondly, the makeTrans function works for Point3f and Vec3f, but not for
>> Matrix44f. The following code:
>>
>> gmtl::Matrix44f matrix1;
>> gmtl::Matrix44f matrix2;
>> matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
>>
>> results in the following errors:
>>
>> Error 1 error C2039: 'Size' : is not a member of
>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>> 2.2.0\include\gmtl\Generate.h 122
>> Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR
>> Juggler 2.2.0\include\gmtl\Generate.h 122
>> Error 3 error C2039: 'Size' : is not a member of
>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>> 2.2.0\include\gmtl\Generate.h 123
>> Error 4 error C2039: 'Size' : is not a member of
>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>> 2.2.0\include\gmtl\Generate.h 125
>> Error 5 error C2679: binary '=' : no operator found which takes a
>> right-hand operand of type 'const float' (or there is no acceptable
>> conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
>>
>> The 3rd problem I encountered is the rotating of vectors.
>> The FAQ says:
>> "In most cases you can simply use the * operator with your vector and one
>> of the rotaional data types."
>>
>> So I tried that, with the provided sample code:
>>
>> gmtl::Vec3f myVec;
>> gmtl::AxisAnglef myAA;
>> gmtl::Quatf myQuat;
>> gmtl::Matrix44f myMat;
>> gmtl::EulerAngleXYZf myEuler;
>>
>> myVec = myVec * myAA;
>> myVec = myVec * myQuat;
>> myVec = myVec * myMat;
>> myVec = myVec * myEuler;
>>
>>
>> This results in >100 errors, all of type C2784 ("could not deduce template
>> argument for....")
>>
>>
>> I'm clueless here, I am trying to use the GMTL library for basic math
>> operations, but just about everything I try to do, fails.
>>
>> Can someone help me out?
>>
>>
>> - Wouter
>>
>>
>>
>>
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> ggt-devel mailing list
>> ggt...@li...
>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>
>>
>
>
> --
> kevin meinert | http://www.subatomicglue.com
>
> ------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>
> ------------------------------
>
> _______________________________________________
> ggt-devel mailing list
> ggt...@li...
> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> ggt-devel mailing list
> ggt...@li...
> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>
>
--
kevin meinert | http://www.subatomicglue.com
|
|
From: Kevin M. <ke...@su...> - 2008-06-01 20:30:35
|
compile line:
g++ main.cpp -I..
(simple, but I thought i'd send it to reduce any confusion. :) )
On Sun, Jun 1, 2008 at 1:29 PM, Kevin Meinert <ke...@su...>
wrote:
>
> *check your compiler version.
> *
> I have
> g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
>
> compiling your 3rd example, I get this error:
>
> main.cpp: In function `int main()':
> main.cpp:13: error: no match for 'operator*' in 'myVec * myAA'
> main.cpp:14: error: no match for 'operator*' in 'myVec * myQuat'
> main.cpp:15: error: no match for 'operator*' in 'myVec * myMat'
> main.cpp:16: error: no match for 'operator*' in 'myVec * myEuler'
>
> which makes sense, since there are no functions for that.
>
>
>
> Swapping the args, I still get 2 errors:
>
> main.cpp: In function `int main()':
> main.cpp:13: error: no match for 'operator*' in 'myAA * myVec'
> main.cpp:16: error: no match for 'operator*' in 'myEuler * myVec'
>
>
> which makes sense, since we don't have functions for AA * vec, or euler *
> vec (you should use matrix or quaternion...)
>
>
>
> here's my main.cpp so that you can try it on your compiler.
>
> #include <gmtl/gmtl.h>
>
>
> int main()
> {
> gmtl::Vec3f myVec;
> gmtl::AxisAnglef myAA;
> gmtl::Quatf myQuat;
> gmtl::Matrix44f myMat;
> gmtl::EulerAngleXYZf myEuler;
>
> myVec = myAA * myVec ;
> myVec = myQuat * myVec ;
> myVec = myMat * myVec ;
> myVec = myEuler * myVec ;
> return 0;
>
> }
>
>
>
> On Sun, Jun 1, 2008 at 1:08 PM, Wouter Wognum <wo...@xs...> wrote:
>
>> that didn't help :(
>>
>> ----- Original Message -----
>> *From:* Kevin Meinert <ke...@su...>
>> *To:* ggt...@li...
>> *Sent:* Sunday, June 01, 2008 9:17 PM
>> *Subject:* Re: [ggt-devel] problems using GMTL
>>
>>
>> what happens when you reverse your arguments?
>>
>> gmtl::Vec3f myVec;
>> gmtl::AxisAnglef myAA;
>> gmtl::Quatf myQuat;
>> gmtl::Matrix44f myMat;
>> gmtl::EulerAngleXYZf myEuler;
>>
>> myVec = myAA * myVec ;
>> myVec = myQuat * myVec ;
>> myVec = myMat * myVec ;
>> myVec = myEuler * myVec ;
>>
>>
>>
>>
>> I don't think it works to have the vec on the left hand side... but i
>> could be wrong, i haven't used this library in a few years... :)
>>
>>
>> On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
>>
>>> Hello there,
>>>
>>> I am trying to use GMTL in my application,
>>> but I am running into a lot of problems.
>>> A lot of the examples in the FAQ do not seem to work.
>>> I include gmtl.h, so that should cover everything, right?
>>>
>>> Ok, so, where to start. First of all; extracting rotation/translation
>>> information from a matrix doesn't work properly.
>>>
>>> The FAQ states:
>>>
>>> "You can extract the rotational data as any of GMTL's rotation data
>>> types. In any case, you need to use the makeRot templated function. Note
>>> that you need to specify which rotation data type you want to extract."
>>>
>>> followed by four examples.
>>>
>>> Two of these examples do not work; extracting the rotation in euler
>>> angles or quaternions works, but trying to get axis angles or a matrix
>>> fails.
>>>
>>>
>>> myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
>>>
>>>
>>> results in 19 errors on that line.
>>>
>>> Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>> Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>> Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>
>>> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE>
>>> &)' : could not deduce template argument for
>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program
>>> Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>> ...and so on...
>>>
>>>
>>> myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
>>>
>>> results in similar errors
>>>
>>>
>>>
>>> Secondly, the makeTrans function works for Point3f and Vec3f, but not for
>>> Matrix44f. The following code:
>>>
>>> gmtl::Matrix44f matrix1;
>>> gmtl::Matrix44f matrix2;
>>> matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
>>>
>>> results in the following errors:
>>>
>>> Error 1 error C2039: 'Size' : is not a member of
>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>> 2.2.0\include\gmtl\Generate.h 122
>>> Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR
>>> Juggler 2.2.0\include\gmtl\Generate.h 122
>>> Error 3 error C2039: 'Size' : is not a member of
>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>> 2.2.0\include\gmtl\Generate.h 123
>>> Error 4 error C2039: 'Size' : is not a member of
>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>> 2.2.0\include\gmtl\Generate.h 125
>>> Error 5 error C2679: binary '=' : no operator found which takes a
>>> right-hand operand of type 'const float' (or there is no acceptable
>>> conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
>>>
>>> The 3rd problem I encountered is the rotating of vectors.
>>> The FAQ says:
>>> "In most cases you can simply use the * operator with your vector and
>>> one of the rotaional data types."
>>>
>>> So I tried that, with the provided sample code:
>>>
>>> gmtl::Vec3f myVec;
>>> gmtl::AxisAnglef myAA;
>>> gmtl::Quatf myQuat;
>>> gmtl::Matrix44f myMat;
>>> gmtl::EulerAngleXYZf myEuler;
>>>
>>> myVec = myVec * myAA;
>>> myVec = myVec * myQuat;
>>> myVec = myVec * myMat;
>>> myVec = myVec * myEuler;
>>>
>>>
>>> This results in >100 errors, all of type C2784 ("could not deduce
>>> template argument for....")
>>>
>>>
>>> I'm clueless here, I am trying to use the GMTL library for basic math
>>> operations, but just about everything I try to do, fails.
>>>
>>> Can someone help me out?
>>>
>>>
>>> - Wouter
>>>
>>>
>>>
>>>
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> ggt-devel mailing list
>>> ggt...@li...
>>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>>
>>>
>>
>>
>> --
>> kevin meinert | http://www.subatomicglue.com
>>
>> ------------------------------
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>
>> ------------------------------
>>
>> _______________________________________________
>> ggt-devel mailing list
>> ggt...@li...
>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> ggt-devel mailing list
>> ggt...@li...
>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>
>>
>
>
> --
> kevin meinert | http://www.subatomicglue.com
>
--
kevin meinert | http://www.subatomicglue.com
|
|
From: Wouter W. <wo...@xs...> - 2008-06-01 20:36:56
|
Oh yes, sorry, I forgot to mention that I'm using Visual Studio 2005 on windows.
If the code should compile, then this must be a VS issue... hmmmm
maybe some setting of flag somewhere, I'll look into it
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 10:30 PM
Subject: Re: [ggt-devel] problems using GMTL
compile line:
g++ main.cpp -I..
(simple, but I thought i'd send it to reduce any confusion. :) )
On Sun, Jun 1, 2008 at 1:29 PM, Kevin Meinert <ke...@su...> wrote:
check your compiler version.
I have
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
compiling your 3rd example, I get this error:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myVec * myAA'
main.cpp:14: error: no match for 'operator*' in 'myVec * myQuat'
main.cpp:15: error: no match for 'operator*' in 'myVec * myMat'
main.cpp:16: error: no match for 'operator*' in 'myVec * myEuler'
which makes sense, since there are no functions for that.
Swapping the args, I still get 2 errors:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myAA * myVec'
main.cpp:16: error: no match for 'operator*' in 'myEuler * myVec'
which makes sense, since we don't have functions for AA * vec, or euler * vec (you should use matrix or quaternion...)
here's my main.cpp so that you can try it on your compiler.
#include <gmtl/gmtl.h>
int main()
{
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
return 0;
}
On Sun, Jun 1, 2008 at 1:08 PM, Wouter Wognum <wo...@xs...> wrote:
that didn't help :(
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 9:17 PM
Subject: Re: [ggt-devel] problems using GMTL
what happens when you reverse your arguments?
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
I don't think it works to have the vec on the left hand side... but i could be wrong, i haven't used this library in a few years... :)
On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
Hello there,
I am trying to use GMTL in my application,
but I am running into a lot of problems.
A lot of the examples in the FAQ do not seem to work.
I include gmtl.h, so that should cover everything, right?
Ok, so, where to start. First of all; extracting rotation/translation information from a matrix doesn't work properly.
The FAQ states:
"You can extract the rotational data as any of GMTL's rotation data types. In any case, you need to use the makeRot templated function. Note that you need to specify which rotation data type you want to extract."
followed by four examples.
Two of these examples do not work; extracting the rotation in euler angles or quaternions works, but trying to get axis angles or a matrix fails.
myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
results in 19 errors on that line.
Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE> &)' : could not deduce template argument for 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
...and so on...
myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
results in similar errors
Secondly, the makeTrans function works for Point3f and Vec3f, but not for Matrix44f. The following code:
gmtl::Matrix44f matrix1;
gmtl::Matrix44f matrix2;
matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
results in the following errors:
Error 1 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 3 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 123
Error 4 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 125
Error 5 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const float' (or there is no acceptable conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
The 3rd problem I encountered is the rotating of vectors.
The FAQ says:
"In most cases you can simply use the * operator with your vector and one of the rotaional data types."
So I tried that, with the provided sample code:
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myVec * myAA;
myVec = myVec * myQuat;
myVec = myVec * myMat;
myVec = myVec * myEuler;
This results in >100 errors, all of type C2784 ("could not deduce template argument for....")
I'm clueless here, I am trying to use the GMTL library for basic math operations, but just about everything I try to do, fails.
Can someone help me out?
- Wouter
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
--
kevin meinert | http://www.subatomicglue.com
------------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------------------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
|
|
From: Kevin M. <ke...@su...> - 2008-06-01 20:42:35
|
VC++ gives tons more output than those 2 lines I sent you. basically AA *
vec and Euler * vec don't exist, and the tons of spew from VC++ is it's way
of saying that....
use this main.cpp, and compile with *cl main.cpp -I..*
it does compile...
#include <gmtl/gmtl.h>
int main()
{
gmtl::Vec3f myVec;
// gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
// gmtl::EulerAngleXYZf myEuler;
// myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
// myVec = myEuler * myVec ;
return 0;
}
On Sun, Jun 1, 2008 at 1:36 PM, Wouter Wognum <wo...@xs...> wrote:
> Oh yes, sorry, I forgot to mention that I'm using Visual Studio 2005 on
> windows.
> If the code should compile, then this must be a VS issue... hmmmm
> maybe some setting of flag somewhere, I'll look into it
>
>
>
> ----- Original Message -----
> *From:* Kevin Meinert <ke...@su...>
> *To:* ggt...@li...
> *Sent:* Sunday, June 01, 2008 10:30 PM
> *Subject:* Re: [ggt-devel] problems using GMTL
>
>
> compile line:
> g++ main.cpp -I..
>
> (simple, but I thought i'd send it to reduce any confusion. :) )
>
> On Sun, Jun 1, 2008 at 1:29 PM, Kevin Meinert <ke...@su...>
> wrote:
>
>>
>> *check your compiler version.
>> *
>> I have
>> g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
>>
>> compiling your 3rd example, I get this error:
>>
>> main.cpp: In function `int main()':
>> main.cpp:13: error: no match for 'operator*' in 'myVec * myAA'
>> main.cpp:14: error: no match for 'operator*' in 'myVec * myQuat'
>> main.cpp:15: error: no match for 'operator*' in 'myVec * myMat'
>> main.cpp:16: error: no match for 'operator*' in 'myVec * myEuler'
>>
>> which makes sense, since there are no functions for that.
>>
>>
>>
>> Swapping the args, I still get 2 errors:
>>
>> main.cpp: In function `int main()':
>> main.cpp:13: error: no match for 'operator*' in 'myAA * myVec'
>> main.cpp:16: error: no match for 'operator*' in 'myEuler * myVec'
>>
>>
>> which makes sense, since we don't have functions for AA * vec, or euler *
>> vec (you should use matrix or quaternion...)
>>
>>
>>
>> here's my main.cpp so that you can try it on your compiler.
>>
>> #include <gmtl/gmtl.h>
>>
>>
>> int main()
>> {
>> gmtl::Vec3f myVec;
>> gmtl::AxisAnglef myAA;
>> gmtl::Quatf myQuat;
>> gmtl::Matrix44f myMat;
>> gmtl::EulerAngleXYZf myEuler;
>>
>> myVec = myAA * myVec ;
>> myVec = myQuat * myVec ;
>> myVec = myMat * myVec ;
>> myVec = myEuler * myVec ;
>> return 0;
>>
>> }
>>
>>
>>
>> On Sun, Jun 1, 2008 at 1:08 PM, Wouter Wognum <wo...@xs...> wrote:
>>
>>> that didn't help :(
>>>
>>> ----- Original Message -----
>>> *From:* Kevin Meinert <ke...@su...>
>>> *To:* ggt...@li...
>>> *Sent:* Sunday, June 01, 2008 9:17 PM
>>> *Subject:* Re: [ggt-devel] problems using GMTL
>>>
>>>
>>> what happens when you reverse your arguments?
>>>
>>> gmtl::Vec3f myVec;
>>> gmtl::AxisAnglef myAA;
>>> gmtl::Quatf myQuat;
>>> gmtl::Matrix44f myMat;
>>> gmtl::EulerAngleXYZf myEuler;
>>>
>>> myVec = myAA * myVec ;
>>> myVec = myQuat * myVec ;
>>> myVec = myMat * myVec ;
>>> myVec = myEuler * myVec ;
>>>
>>>
>>>
>>>
>>> I don't think it works to have the vec on the left hand side... but i
>>> could be wrong, i haven't used this library in a few years... :)
>>>
>>>
>>> On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
>>>
>>>> Hello there,
>>>>
>>>> I am trying to use GMTL in my application,
>>>> but I am running into a lot of problems.
>>>> A lot of the examples in the FAQ do not seem to work.
>>>> I include gmtl.h, so that should cover everything, right?
>>>>
>>>> Ok, so, where to start. First of all; extracting rotation/translation
>>>> information from a matrix doesn't work properly.
>>>>
>>>> The FAQ states:
>>>>
>>>> "You can extract the rotational data as any of GMTL's rotation data
>>>> types. In any case, you need to use the makeRot templated function. Note
>>>> that you need to specify which rotation data type you want to extract."
>>>>
>>>> followed by four examples.
>>>>
>>>> Two of these examples do not work; extracting the rotation in euler
>>>> angles or quaternions works, but trying to get axis angles or a matrix
>>>> fails.
>>>>
>>>>
>>>> myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
>>>>
>>>>
>>>> results in 19 errors on that line.
>>>>
>>>> Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>>>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>>>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>>>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>>>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>>> Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE>
>>>> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const
>>>> gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template
>>>> argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef'
>>>> C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>>> Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>
>>>> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE>
>>>> &)' : could not deduce template argument for
>>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program
>>>> Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
>>>> ...and so on...
>>>>
>>>>
>>>> myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
>>>>
>>>> results in similar errors
>>>>
>>>>
>>>>
>>>> Secondly, the makeTrans function works for Point3f and Vec3f, but not
>>>> for Matrix44f. The following code:
>>>>
>>>> gmtl::Matrix44f matrix1;
>>>> gmtl::Matrix44f matrix2;
>>>> matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
>>>>
>>>> results in the following errors:
>>>>
>>>> Error 1 error C2039: 'Size' : is not a member of
>>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>>> 2.2.0\include\gmtl\Generate.h 122
>>>> Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR
>>>> Juggler 2.2.0\include\gmtl\Generate.h 122
>>>> Error 3 error C2039: 'Size' : is not a member of
>>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>>> 2.2.0\include\gmtl\Generate.h 123
>>>> Error 4 error C2039: 'Size' : is not a member of
>>>> 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler
>>>> 2.2.0\include\gmtl\Generate.h 125
>>>> Error 5 error C2679: binary '=' : no operator found which takes a
>>>> right-hand operand of type 'const float' (or there is no acceptable
>>>> conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
>>>>
>>>> The 3rd problem I encountered is the rotating of vectors.
>>>> The FAQ says:
>>>> "In most cases you can simply use the * operator with your vector and
>>>> one of the rotaional data types."
>>>>
>>>> So I tried that, with the provided sample code:
>>>>
>>>> gmtl::Vec3f myVec;
>>>> gmtl::AxisAnglef myAA;
>>>> gmtl::Quatf myQuat;
>>>> gmtl::Matrix44f myMat;
>>>> gmtl::EulerAngleXYZf myEuler;
>>>>
>>>> myVec = myVec * myAA;
>>>> myVec = myVec * myQuat;
>>>> myVec = myVec * myMat;
>>>> myVec = myVec * myEuler;
>>>>
>>>>
>>>> This results in >100 errors, all of type C2784 ("could not deduce
>>>> template argument for....")
>>>>
>>>>
>>>> I'm clueless here, I am trying to use the GMTL library for basic math
>>>> operations, but just about everything I try to do, fails.
>>>>
>>>> Can someone help me out?
>>>>
>>>>
>>>> - Wouter
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------------
>>>> This SF.net email is sponsored by: Microsoft
>>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>> _______________________________________________
>>>> ggt-devel mailing list
>>>> ggt...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>>>
>>>>
>>>
>>>
>>> --
>>> kevin meinert | http://www.subatomicglue.com
>>>
>>> ------------------------------
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>
>>> ------------------------------
>>>
>>> _______________________________________________
>>> ggt-devel mailing list
>>> ggt...@li...
>>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> ggt-devel mailing list
>>> ggt...@li...
>>> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>>>
>>>
>>
>>
>> --
>> kevin meinert | http://www.subatomicglue.com
>>
>
>
>
> --
> kevin meinert | http://www.subatomicglue.com
>
> ------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>
> ------------------------------
>
> _______________________________________________
> ggt-devel mailing list
> ggt...@li...
> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> ggt-devel mailing list
> ggt...@li...
> https://lists.sourceforge.net/lists/listinfo/ggt-devel
>
>
--
kevin meinert | http://www.subatomicglue.com
|
|
From: Wouter W. <wo...@xs...> - 2008-06-02 06:53:47
|
It does :)
Thank you,
but what about the makeRot and makeTrans functions,
they're only supposed to work with a few types as well?
The FAQ needs a drastic update...
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 10:42 PM
Subject: Re: [ggt-devel] problems using GMTL
VC++ gives tons more output than those 2 lines I sent you. basically AA * vec and Euler * vec don't exist, and the tons of spew from VC++ is it's way of saying that....
use this main.cpp, and compile with cl main.cpp -I..
it does compile...
#include <gmtl/gmtl.h>
int main()
{
gmtl::Vec3f myVec;
// gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
// gmtl::EulerAngleXYZf myEuler;
// myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
// myVec = myEuler * myVec ;
return 0;
}
On Sun, Jun 1, 2008 at 1:36 PM, Wouter Wognum <wo...@xs...> wrote:
Oh yes, sorry, I forgot to mention that I'm using Visual Studio 2005 on windows.
If the code should compile, then this must be a VS issue... hmmmm
maybe some setting of flag somewhere, I'll look into it
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 10:30 PM
Subject: Re: [ggt-devel] problems using GMTL
compile line:
g++ main.cpp -I..
(simple, but I thought i'd send it to reduce any confusion. :) )
On Sun, Jun 1, 2008 at 1:29 PM, Kevin Meinert <ke...@su...> wrote:
check your compiler version.
I have
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
compiling your 3rd example, I get this error:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myVec * myAA'
main.cpp:14: error: no match for 'operator*' in 'myVec * myQuat'
main.cpp:15: error: no match for 'operator*' in 'myVec * myMat'
main.cpp:16: error: no match for 'operator*' in 'myVec * myEuler'
which makes sense, since there are no functions for that.
Swapping the args, I still get 2 errors:
main.cpp: In function `int main()':
main.cpp:13: error: no match for 'operator*' in 'myAA * myVec'
main.cpp:16: error: no match for 'operator*' in 'myEuler * myVec'
which makes sense, since we don't have functions for AA * vec, or euler * vec (you should use matrix or quaternion...)
here's my main.cpp so that you can try it on your compiler.
#include <gmtl/gmtl.h>
int main()
{
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
return 0;
}
On Sun, Jun 1, 2008 at 1:08 PM, Wouter Wognum <wo...@xs...> wrote:
that didn't help :(
----- Original Message -----
From: Kevin Meinert
To: ggt...@li...
Sent: Sunday, June 01, 2008 9:17 PM
Subject: Re: [ggt-devel] problems using GMTL
what happens when you reverse your arguments?
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myAA * myVec ;
myVec = myQuat * myVec ;
myVec = myMat * myVec ;
myVec = myEuler * myVec ;
I don't think it works to have the vec on the left hand side... but i could be wrong, i haven't used this library in a few years... :)
On Sun, Jun 1, 2008 at 11:13 AM, Wouter Wognum <wo...@xs...> wrote:
Hello there,
I am trying to use GMTL in my application,
but I am running into a lot of problems.
A lot of the examples in the FAQ do not seem to work.
I include gmtl.h, so that should cover everything, right?
Ok, so, where to start. First of all; extracting rotation/translation information from a matrix doesn't work properly.
The FAQ states:
"You can extract the rotational data as any of GMTL's rotation data types. In any case, you need to use the makeRot templated function. Note that you need to specify which rotation data type you want to extract."
followed by four examples.
Two of these examples do not work; extracting the rotation in euler angles or quaternions works, but trying to get axis angles or a matrix fails.
myAxisAngle = gmtl::makeRot< gmtl::AxisAnglef >( mymat )
results in 19 errors on that line.
Error 1 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 2 error C2784: 'gmtl::Coord<POS_TYPE,ROT_TYPE> &gmtl::set(gmtl::Coord<POS_TYPE,ROT_TYPE> &,const gmtl::Matrix<DATATYPE,MATROWS,MATCOLS> &)' : could not deduce template argument for 'gmtl::Coord<POS_TYPE,ROT_TYPE> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
Error 3 error C2784: 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &gmtl::set(gmtl::Matrix<DATA_TYPE,ROWS,COLS> &,const gmtl::Quat<DATA_TYPE> &)' : could not deduce template argument for 'gmtl::Matrix<DATA_TYPE,ROWS,COLS> &' from 'gmtl::AxisAnglef' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 1323
...and so on...
myRotationMat = gmtl::makeRot< gmtl::Matrix44f >( mymat );
results in similar errors
Secondly, the makeTrans function works for Point3f and Vec3f, but not for Matrix44f. The following code:
gmtl::Matrix44f matrix1;
gmtl::Matrix44f matrix2;
matrix2 = gmtl::makeTrans< gmtl::Matrix44f >( matrix1 );
results in the following errors:
Error 1 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 2 error C2065: 'Size' : undeclared identifier C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 122
Error 3 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 123
Error 4 error C2039: 'Size' : is not a member of 'gmtl::Matrix<DATA_TYPE,ROWS,COLS>' C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 125
Error 5 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const float' (or there is no acceptable conversion) C:\Program Files\VR Juggler 2.2.0\include\gmtl\Generate.h 134
The 3rd problem I encountered is the rotating of vectors.
The FAQ says:
"In most cases you can simply use the * operator with your vector and one of the rotaional data types."
So I tried that, with the provided sample code:
gmtl::Vec3f myVec;
gmtl::AxisAnglef myAA;
gmtl::Quatf myQuat;
gmtl::Matrix44f myMat;
gmtl::EulerAngleXYZf myEuler;
myVec = myVec * myAA;
myVec = myVec * myQuat;
myVec = myVec * myMat;
myVec = myVec * myEuler;
This results in >100 errors, all of type C2784 ("could not deduce template argument for....")
I'm clueless here, I am trying to use the GMTL library for basic math operations, but just about everything I try to do, fails.
Can someone help me out?
- Wouter
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
--------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
--
kevin meinert | http://www.subatomicglue.com
--------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--------------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
--
kevin meinert | http://www.subatomicglue.com
------------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------------------------------------------------------------------------------
_______________________________________________
ggt-devel mailing list
ggt...@li...
https://lists.sourceforge.net/lists/listinfo/ggt-devel
|
|
From: Patrick H. <pa...@13...> - 2008-06-02 14:30:12
Attachments:
PGP.sig
|
It's possible. Feel free to add overloads that are useful to you. GMTL
could always use more extensive coverage of different use cases.
-Patrick
On Jun 2, 2008, at 1:53 AM, Wouter Wognum wrote:
> It does :)
> Thank you,
>
> but what about the makeRot and makeTrans functions,
> they're only supposed to work with a few types as well?
>
> The FAQ needs a drastic update...
> ----- Original Message -----
> From: Kevin Meinert
> To: ggt...@li...
> Sent: Sunday, June 01, 2008 10:42 PM
> Subject: Re: [ggt-devel] problems using GMTL
>
>
>
>
> VC++ gives tons more output than those 2 lines I sent you.
> basically AA * vec and Euler * vec don't exist, and the tons of spew
> from VC++ is it's way of saying that....
>
> use this main.cpp, and compile with cl main.cpp -I..
>
> it does compile...
>
>
> #include <gmtl/gmtl.h>
>
>
> int main()
> {
> gmtl::Vec3f myVec;
> // gmtl::AxisAnglef myAA;
> gmtl::Quatf myQuat;
> gmtl::Matrix44f myMat;
> // gmtl::EulerAngleXYZf myEuler;
>
> // myVec = myAA * myVec ;
> myVec = myQuat * myVec ;
> myVec = myMat * myVec ;
> // myVec = myEuler * myVec ;
> return 0;
> }
[snip]
--
Patrick L. Hartling
Senior Software Engineer, Priority 5
http://www.priority5.com/
|