OpenSceneGraph/doc/doc++/osg/MatrixOld.html
Don BURNS ac2bdbda30 1) new implementation of the osg::Matrix class. Note details below.
2) cleaned up osg::Timer, still in progress.  My intent has been to
     pave the way for support for other OS's.
  3) new osg::FrameStamp class which has a frame number, reference
     time for each frame to be app, culled and drawn.  The FrameStamp
     also can be passed to other machines (i.e. cluster) and the
     FrameStamp can be used with the slaves own app,cull and draw.
     I've also added the beginings of a calander time data to the
     FrameStamp to allow time or day and year to be used in setting
     up position of sun/moon etc. etc.
  4) The osg::State now has contains a pointer to the last applied
     osg::Camera and the current osg::FrameStamp, so that drawables
     can use both pieces of information for creating effects such
     CLOD, earth/sky etc.  The osg::NodeVisitor also now allows you
     to attach a FrameStamp to support syncronization of actions on
     the scene graph.
2001-09-19 23:52:12 +00:00

368 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::MatrixOld</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::MatrixOld</A></H2></H2><BLOCKQUOTE>4x4 MatrixOld for storage & manipulation of transformations in scene graph.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CMatrixOld,MMatrixOld.html">
<param name=before value="M,M,M">
<param name=after value="Md_SP,Md_,M">
<param name=indent value="0,1,2">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.52.43">_mat</A></B>[4][4]
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.52.1">MatrixOld</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.52.2">MatrixOld</A></B>(const <!1><A HREF="MatrixOld.html#DOC.2.52.2">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html#DOC.2.52.2">MatrixOld</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.52.3">MatrixOld</A></B>( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; <B><A HREF="#DOC.2.52.4">operator = </A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html">MatrixOld</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.52.5">~MatrixOld</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.52.6">clone</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.52.7">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.52.8">className</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.52.9">compare</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.52.10">operator < </A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.52.11">operator == </A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.52.12">operator != </A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.13">makeIdent</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.14">set</A></B>(const float* m)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.15">set</A></B>( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.16">copy</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html">MatrixOld</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.17">makeScale</A></B>(float sx, float sy, float sz)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.18">preScale</A></B>( float sx, float sy, float sz, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.19">postScale</A></B>( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.20">preScale</A></B>( float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.21">postScale</A></B>( float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.22">makeTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.23">preTrans</A></B>( float tx, float ty, float tz, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.24">postTrans</A></B>( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.25">preTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.26">postTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.27">makeRot</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; old_vec, const <!1><A HREF="Vec3.html">Vec3</A>&amp; new_vec )
<DD><I> Calc the rotation MatrixOld which aligns vector \a old_vec with vector \a new_vec.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.28">makeRot</A></B>( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.29">preRot</A></B>( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A>, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.30">postRot</A></B>( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.31">preRot</A></B>( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.32">postRot</A></B>( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.33">setTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.34">setTrans</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.35">getTrans</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.36">preMult</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.37">postMult</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.52.38">mult</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; lhs, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; rhs)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="MatrixOld.html">MatrixOld</A> <B><A HREF="#DOC.2.52.39">operator * </A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline static <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.40">transform3x3</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)
<DD><I>apply apply an 3x3 transform of v*M[02,02] </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline static <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.41">transform3x3</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
<DD><I>apply apply an 3x3 transform of M[02,02]*v </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.52.42">invert</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.44">operator * </A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const
<DD><I>post multipy v.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.52.45">operator * </A></B>(const <!1><A HREF="Vec4.html">Vec4</A>&amp; v) const
<DD><I>post multipy v.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.46">transform3x3</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.52.47">transform3x3</A></B>(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>4x4 MatrixOld for storage & manipulation of transformations in scene graph.
Provides basic maths operations, IO and via osg::Object reference counting.
You can directly load the MatrixOld with OpenGL's LoadMatrixOldf() function via
the public member _mat as the MatrixOld is stored in the OpenGL format.
Caution: The disadvantage of this feature is, that the MatrixOld access is
'transposed' if you compare it with the standard C/C++ 2d-array-access
convention . I.e. _mat[i][j] accesses the ith column of the jth row in the
4x4 MatrixOld.</BLOCKQUOTE>
<DL>
<A NAME="MatrixOld"></A>
<A NAME="DOC.2.52.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixOld()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixOld"></A>
<A NAME="DOC.2.52.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixOld(const <!1><A HREF="MatrixOld.html#DOC.2.52.2">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html#DOC.2.52.2">MatrixOld</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixOld"></A>
<A NAME="DOC.2.52.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixOld( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.52.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; operator = (const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html">MatrixOld</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~MatrixOld"></A>
<A NAME="DOC.2.52.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~MatrixOld()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.52.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* clone() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.52.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>* obj) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.52.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.52.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int compare(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator < "></A>
<A NAME="DOC.2.52.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.52.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
<A NAME="DOC.2.52.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator != (const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeIdent"></A>
<A NAME="DOC.2.52.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeIdent()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.52.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const float* m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.52.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="copy"></A>
<A NAME="DOC.2.52.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copy(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; <!1><A HREF="MatrixOld.html">MatrixOld</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeScale"></A>
<A NAME="DOC.2.52.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeScale(float sx, float sy, float sz)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preScale"></A>
<A NAME="DOC.2.52.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preScale( float sx, float sy, float sz, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postScale"></A>
<A NAME="DOC.2.52.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postScale( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float sx, float sy, float sz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preScale"></A>
<A NAME="DOC.2.52.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preScale( float sx, float sy, float sz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postScale"></A>
<A NAME="DOC.2.52.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postScale( float sx, float sy, float sz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeTrans"></A>
<A NAME="DOC.2.52.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeTrans( float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preTrans"></A>
<A NAME="DOC.2.52.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preTrans( float tx, float ty, float tz, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postTrans"></A>
<A NAME="DOC.2.52.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postTrans( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preTrans"></A>
<A NAME="DOC.2.52.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preTrans( float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postTrans"></A>
<A NAME="DOC.2.52.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postTrans( float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.52.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const <!1><A HREF="Vec3.html">Vec3</A>&amp; old_vec, const <!1><A HREF="Vec3.html">Vec3</A>&amp; new_vec )</B></TT>
<DD>
Calc the rotation MatrixOld which aligns vector \a old_vec with
vector \a new_vec. Both \a old_vec and \a new_vec must have
length 1.0.
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.52.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preRot"></A>
<A NAME="DOC.2.52.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preRot( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A>, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postRot"></A>
<A NAME="DOC.2.52.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postRot( const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preRot"></A>
<A NAME="DOC.2.52.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preRot( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postRot"></A>
<A NAME="DOC.2.52.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postRot( float deg, float <!1><A HREF="Viewport.html#DOC.2.114.6">x</A>, float <!1><A HREF="Viewport.html#DOC.2.114.7">y</A>, float <!1><A HREF="Vec4.html#DOC.2.113.13">z</A> )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setTrans"></A>
<A NAME="DOC.2.52.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTrans( float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setTrans"></A>
<A NAME="DOC.2.52.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTrans( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getTrans"></A>
<A NAME="DOC.2.52.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> getTrans() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="preMult"></A>
<A NAME="DOC.2.52.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preMult(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postMult"></A>
<A NAME="DOC.2.52.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postMult(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="mult"></A>
<A NAME="DOC.2.52.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; lhs, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; rhs)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.52.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="MatrixOld.html">MatrixOld</A> operator * (const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.52.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline static <!1><A HREF="Vec3.html">Vec3</A> transform3x3(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)</B></TT>
<DD>apply apply an 3x3 transform of v*M[02,02]
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.52.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline static <!1><A HREF="Vec3.html">Vec3</A> transform3x3(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
<DD>apply apply an 3x3 transform of M[02,02]*v
<DL><DT><DD></DL><P>
<A NAME="invert"></A>
<A NAME="DOC.2.52.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool invert(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_mat"></A>
<A NAME="DOC.2.52.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _mat[4][4]</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.52.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A> operator * (const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const </B></TT>
<DD>post multipy v. ie. (m*v)
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.52.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec4.html">Vec4</A> operator * (const <!1><A HREF="Vec4.html">Vec4</A>&amp; v) const </B></TT>
<DD>post multipy v. ie. (m*v)
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.52.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A> transform3x3(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.52.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A> transform3x3(const <!1><A HREF="MatrixOld.html">MatrixOld</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DT><B>Friends:</B><DD> inline <!1><A HREF="Vec3.html">Vec3</A> operator * (const <!1><A HREF="Vec3.html">Vec3</A>& v,const <!1><A HREF="MatrixOld.html">MatrixOld</A>& m)<BR> inline <!1><A HREF="Vec4.html">Vec4</A> operator * (const <!1><A HREF="Vec4.html">Vec4</A>& v,const <!1><A HREF="MatrixOld.html">MatrixOld</A>& m)<BR> inline ostream& operator << (ostream& output, const <!1><A HREF="MatrixOld.html">MatrixOld</A>& <!1><A HREF="MatrixOld.html">MatrixOld</A>)<BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>