On 5/20/2011 11:39 PM, Kent A. Reed wrote: > Viesturs: > I haven't forgotten your problem. I've looked at the EMC2 sources but > I'm been slow coming up with a test of your code + EMC2 code. > > Regards, > Kent OK, so when I said "I've looked at the EMC2 sources..." what I meant was I looked for the PoseMath source code and printed it out.
Unfortunately, I then did the software equivalent of forgetting to check to see if my computer is plugged into a live power circuit before opening it up to find out why it won't turn on. I began digging through all the definitions of constants and structures. After a night's sleep, I decided to look at the math routines themselves. It turns out that your problem is very simple. The libnml functions pmRpyZyzConvert and pmZyzRpyConvert are declared but not implemented in _posemath.c! You didn't see this during compilation and linking because the functions are declared and you didn't see it during execution because you aren't checking for the error message these functions generate when called (return pmErrno = PM_IMPL_ERR). The "crazy" values you are reading are fortuitous. Give me a couple days and I'll see if I can come up with satisfactory code for these two functions (Euler angles, quaternions, etc., were part of my physics education). If some else has already do so, please feel free to jump in. Regards, Kent ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
