From: Angus Dorbie (dorbie++at++sgi.com)
Date: 02/22/2000 14:26:01
Looks like this is a legacy issue, I remember being able to set the
matrix type like this on the promise of it improving performance.
Looking at the code, the get method computes the type by testing the
contents of the matrix. According to the manual can speed in subsequent
calculations (a classic example being matrix inversion) BUT the method
to set the type no longer exists and the type computed in the get method
isn't retained internally!! So it is up to the application to use the
return value to optimize application code. For example the full matrix
inversion might be avoided by the application if it knew the type and a
simpler affine or orthographic matrix inversion method called, which
would require a simple transpose instead of lot's of hard sums. Those
different methods are now exposed through the API.
Looks like a philosophical change in the design made a while back. The
manual should be updated.
The second issue appears to be a simple typo of the cut 'n paste
variety. It's a coord.
Cheers,ANgus.
John Kelso wrote:
>
> Hi all,
>
> Here's the easiest questions this group will get in some time. I'm doing
> some matrix munging, and want my code to go as fast as possible. So, I'm
> trying to use the pfMatrix::setMatType method, as documented in the
> pfMatrix man page. Problem is, the method doesn't really seem to exist.
>
> I'm running Performer 2.2 on Irix 6.5.
>
> cc-1132 CC: ERROR File = foo.C, Line = 212
> The class "pfMatrix" has no member "setMatType".
>
> m.setMatType(PFMAT_TRANS|PFMAT_ROT) ;
> ^
>
> 1 error detected in the compilation of "Bundle.C".
> gmake: *** [Bundle.o] Error 2
>
> The other question relates to pfMatrix::getOrthoCoord. The man page and
> include file declare it as:
> pfMatrix::getOrthoCoord(pfCoord* dst);
>
> But the man page's description says:
>
> pfMatrix::getOrthoCoord returns in the pfMatrix the translation
> and rotation of the orthonormal matrix, m. The returned pitch
> ranges from -90 to +90 degrees. Roll and heading range from -180
> to +180.
>
> which seems to imply it wants a matrix as an argument. If I want
> a routine which takes a pfCoord as an argument, I'd use
> pfMatrix::makeCoord
>
> Any suggestions?
>
> Thanks,
>
> -John
>
> -----------------------------------------------------------------------
> John Kelso www.cave.vt.edu
> Research Associate, Virginia Tech CAVE email: kelso++at++vt.edu
> 2000 Kraft Drive, Suite 2400, MS 0468 phone: 540/231-2054
> Blacksburg, VA 24061 fax: 540/557-6043
>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
-- For Performer+OpenGL tutorials http://www.dorbie.com/ My comment on the abuse of Jon Johanson's rights; After giving up raiding their neighboring countries the Norse men have taken to raiding 15 year old kids in their bedrooms. Very sad.
This archive was generated by hypermail 2b29 : Tue Feb 22 2000 - 14:26:11 PST