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.
This commit is contained in:
Don BURNS 2001-09-19 23:52:12 +00:00
parent 736e0f73c3
commit ac2bdbda30
6 changed files with 1253 additions and 0 deletions

View File

@ -0,0 +1,192 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::FrameStamp</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::FrameStamp</A></H2></H2><BLOCKQUOTE>Class which encapsulates the frame number, reference time and calander time of specific frame, used to synchonize operations on the scene graph and other machines when using a graphics cluster.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="CReferenced,MReferenced.html,CFrameStamp,MFrameStamp.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.28.1">FrameStamp</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.28.2">FrameStamp</A></B>(const <!1><A HREF="FrameStamp.html#DOC.2.28.2">FrameStamp</A>&amp; fs)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.28.3">~FrameStamp</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="FrameStamp.html">FrameStamp</A>&amp; <B><A HREF="#DOC.2.28.4">operator = </A></B>(const <!1><A HREF="FrameStamp.html">FrameStamp</A>&amp; fs)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.28.5">setFrameNumber</A></B>(int fnum)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.6">getFrameNumber</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.28.7">setReferenceTime</A></B>(double refTime)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>double <B><A HREF="#DOC.2.28.8">getReferenceTime</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.28.9">setCalanderTime</A></B>(const tm&amp; calanderTime)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.28.10">getCalanderTime</A></B>(tm&amp; calanderTime) const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.11">_frameNumber</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>double <B><A HREF="#DOC.2.28.12">_referenceTime</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.13">tm_sec</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.14">tm_min</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.15">tm_hour</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.16">tm_mday</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.17">tm_mon</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.18">tm_year</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.19">tm_wday</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.20">tm_yday</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.28.21">tm_isdst</A></B>
</DL></P>
</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>Class which encapsulates the frame number, reference time and calander
time of specific frame, used to synchonize operations on the scene graph
and other machines when using a graphics cluster. Note the calander
time can be an artificial simulation time or capture the real time
of day etc.</BLOCKQUOTE>
<DL>
<A NAME="FrameStamp"></A>
<A NAME="DOC.2.28.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FrameStamp()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FrameStamp"></A>
<A NAME="DOC.2.28.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FrameStamp(const <!1><A HREF="FrameStamp.html#DOC.2.28.2">FrameStamp</A>&amp; fs)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~FrameStamp"></A>
<A NAME="DOC.2.28.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~FrameStamp()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.28.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FrameStamp.html">FrameStamp</A>&amp; operator = (const <!1><A HREF="FrameStamp.html">FrameStamp</A>&amp; fs)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setFrameNumber"></A>
<A NAME="DOC.2.28.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFrameNumber(int fnum)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getFrameNumber"></A>
<A NAME="DOC.2.28.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getFrameNumber() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setReferenceTime"></A>
<A NAME="DOC.2.28.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setReferenceTime(double refTime)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getReferenceTime"></A>
<A NAME="DOC.2.28.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getReferenceTime() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setCalanderTime"></A>
<A NAME="DOC.2.28.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCalanderTime(const tm&amp; calanderTime)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getCalanderTime"></A>
<A NAME="DOC.2.28.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void getCalanderTime(tm&amp; calanderTime) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="_frameNumber"></A>
<A NAME="DOC.2.28.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _frameNumber</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_referenceTime"></A>
<A NAME="DOC.2.28.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _referenceTime</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_sec"></A>
<A NAME="DOC.2.28.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_sec</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_min"></A>
<A NAME="DOC.2.28.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_min</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_hour"></A>
<A NAME="DOC.2.28.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_hour</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_mday"></A>
<A NAME="DOC.2.28.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_mday</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_mon"></A>
<A NAME="DOC.2.28.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_mon</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_year"></A>
<A NAME="DOC.2.28.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_year</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_wday"></A>
<A NAME="DOC.2.28.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_wday</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_yday"></A>
<A NAME="DOC.2.28.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_yday</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tm_isdst"></A>
<A NAME="DOC.2.28.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int tm_isdst</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><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>

View File

@ -0,0 +1,503 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::MatrixNew</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::MatrixNew</A></H2></H2><HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CMatrixNew,MMatrixNew.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.48.1">_mat</A></B>[4][4]
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.2">fully_realized</A></B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.3">META_Object</A></B>(<!1><A HREF="MatrixNew.html">MatrixNew</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.4">MatrixNew</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.5">MatrixNew</A></B>( const <!1><A HREF="MatrixNew.html#DOC.2.48.5">MatrixNew</A>&amp; other )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>explicit <B><A HREF="#DOC.2.48.6">MatrixNew</A></B>( float const* const def )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.7">MatrixNew</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>virtual <B><A HREF="#DOC.2.48.8">~MatrixNew</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; <B><A HREF="#DOC.2.48.9">operator = </A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.48.10">compare</A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.11">operator < </A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.12">operator == </A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.13">operator != </A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float&amp; <B><A HREF="#DOC.2.48.14">operator()</A></B>(int col, int row)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float <B><A HREF="#DOC.2.48.15">operator()</A></B>(int col, int row) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.16">set</A></B>( float const* const )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.17">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>const float* <B><A HREF="#DOC.2.48.18">values</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.19">makeIdent</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.20">makeScale</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.21">makeScale</A></B>( float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.22">makeTrans</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.23">makeTrans</A></B>( float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.24">makeRot</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; from, const <!1><A HREF="Vec3.html">Vec3</A>&amp; to )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.25">makeRot</A></B>( float angle, const <!1><A HREF="Vec3.html">Vec3</A>&amp; orientation )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.26">makeRot</A></B>( float angle, 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.48.27">makeRot</A></B>( const <!1><A HREF="Quat.html">Quat</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.28">makeRot</A></B>( float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.29">invert</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.48.30">invertAffine</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.31">scale</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.32">scale</A></B>( float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.33">trans</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.34">trans</A></B>( float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.35">rotate</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp;, const <!1><A HREF="Vec3.html">Vec3</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.36">rotate</A></B>( float, float, float, float )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="MatrixNew.html">MatrixNew</A> <B><A HREF="#DOC.2.48.37">rotate</A></B>( const <!1><A HREF="Quat.html">Quat</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.38">setTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.39">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.48.40">getTrans</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.41">copy</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.42">preScale</A></B>( float sx, float sy, float sz, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.43">postScale</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m, float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.44">preScale</A></B>( float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.45">postScale</A></B>( float sx, float sy, float sz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.46">preTrans</A></B>( float tx, float ty, float tz, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.47">postTrans</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m, float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.48">preTrans</A></B>( float tx, float ty, float tz)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.49">postTrans</A></B>( float tx, float ty, float tz )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.50">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="MatrixNew.html">MatrixNew</A>&amp; m )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.51">postRot</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</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.48.52">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.48.53">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>inline static <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.48.54">transform3x3</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixNew.html">MatrixNew</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.48.55">transform3x3</A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</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>void <B><A HREF="#DOC.2.48.56">mult</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp;, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DD><I>nd of Deprecated methods </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.57">preMult</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.58">postMult</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A> <B><A HREF="#DOC.2.48.60">operator * </A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; other ) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.48.61">operator *= </A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; other )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.48.62">operator = </A></B>( const <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A>&amp; p )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.63">MatrixNew</A></B>( const <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A>&amp; p )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.48.64">postMult</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v ) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.48.65">preMult</A></B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v ) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.48.66">postMult</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; v ) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.48.67">preMult</A></B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; v ) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.48.68">transform3x3</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="MatrixNew.html">MatrixNew</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.48.69">transform3x3</A></B>(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec3.html">Vec3</A> <B><A HREF="#DOC.2.48.70">operator* </A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.48.71">operator* </A></B>(const <!1><A HREF="Vec4.html">Vec4</A>&amp; v) const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
class <B><A HREF="MatrixNewProduct.html">MatrixNewProduct</A></B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>*) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>className</B>() const
</DL></P>
</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>
<DL>
<A NAME="_mat"></A>
<A NAME="DOC.2.48.1"></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="fully_realized"></A>
<A NAME="DOC.2.48.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool fully_realized</B></TT>
<DL><DT><DD></DL><P>
<A NAME="META_Object"></A>
<A NAME="DOC.2.48.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Object(<!1><A HREF="MatrixNew.html">MatrixNew</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNew"></A>
<A NAME="DOC.2.48.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixNew()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNew"></A>
<A NAME="DOC.2.48.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixNew( const <!1><A HREF="MatrixNew.html#DOC.2.48.5">MatrixNew</A>&amp; other )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNew"></A>
<A NAME="DOC.2.48.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>explicit MatrixNew( float const* const def )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNew"></A>
<A NAME="DOC.2.48.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixNew( 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="~MatrixNew"></A>
<A NAME="DOC.2.48.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~MatrixNew()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.48.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; operator = (const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.48.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int compare(const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator < "></A>
<A NAME="DOC.2.48.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.48.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
<A NAME="DOC.2.48.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator != (const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator()"></A>
<A NAME="DOC.2.48.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float&amp; operator()(int col, int row)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator()"></A>
<A NAME="DOC.2.48.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float operator()(int col, int row) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.48.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set( float const* const )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.48.17"></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="values"></A>
<A NAME="DOC.2.48.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const float* values()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeIdent"></A>
<A NAME="DOC.2.48.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeIdent()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeScale"></A>
<A NAME="DOC.2.48.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeScale( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeScale"></A>
<A NAME="DOC.2.48.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeScale( float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeTrans"></A>
<A NAME="DOC.2.48.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeTrans( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeTrans"></A>
<A NAME="DOC.2.48.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeTrans( float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.48.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const <!1><A HREF="Vec3.html">Vec3</A>&amp; from, const <!1><A HREF="Vec3.html">Vec3</A>&amp; to )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.48.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( float angle, const <!1><A HREF="Vec3.html">Vec3</A>&amp; orientation )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.48.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( float angle, 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="makeRot"></A>
<A NAME="DOC.2.48.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const <!1><A HREF="Quat.html">Quat</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="makeRot"></A>
<A NAME="DOC.2.48.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="invert"></A>
<A NAME="DOC.2.48.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool invert( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="invertAffine"></A>
<A NAME="DOC.2.48.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool invertAffine( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="scale"></A>
<A NAME="DOC.2.48.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> scale( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="scale"></A>
<A NAME="DOC.2.48.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> scale( float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="trans"></A>
<A NAME="DOC.2.48.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> trans( const <!1><A HREF="Vec3.html">Vec3</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="trans"></A>
<A NAME="DOC.2.48.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> trans( float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="rotate"></A>
<A NAME="DOC.2.48.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> rotate( const <!1><A HREF="Vec3.html">Vec3</A>&amp;, const <!1><A HREF="Vec3.html">Vec3</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="rotate"></A>
<A NAME="DOC.2.48.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> rotate( float, float, float, float )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="rotate"></A>
<A NAME="DOC.2.48.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="MatrixNew.html">MatrixNew</A> rotate( const <!1><A HREF="Quat.html">Quat</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setTrans"></A>
<A NAME="DOC.2.48.38"></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.48.39"></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.48.40"></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="copy"></A>
<A NAME="DOC.2.48.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copy( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preScale"></A>
<A NAME="DOC.2.48.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preScale( float sx, float sy, float sz, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postScale"></A>
<A NAME="DOC.2.48.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postScale( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m, float sx, float sy, float sz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preScale"></A>
<A NAME="DOC.2.48.44"></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.48.45"></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="preTrans"></A>
<A NAME="DOC.2.48.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preTrans( float tx, float ty, float tz, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postTrans"></A>
<A NAME="DOC.2.48.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postTrans( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; m, float tx, float ty, float tz )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="preTrans"></A>
<A NAME="DOC.2.48.48"></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.48.49"></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="preRot"></A>
<A NAME="DOC.2.48.50"></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="MatrixNew.html">MatrixNew</A>&amp; m )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postRot"></A>
<A NAME="DOC.2.48.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postRot( const <!1><A HREF="MatrixNew.html">MatrixNew</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.48.52"></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.48.53"></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="transform3x3"></A>
<A NAME="DOC.2.48.54"></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="MatrixNew.html">MatrixNew</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.48.55"></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="MatrixNew.html">MatrixNew</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="mult"></A>
<A NAME="DOC.2.48.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp;, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DD>nd of Deprecated methods
<DL><DT><DD></DL><P>
<A NAME="preMult"></A>
<A NAME="DOC.2.48.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preMult( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postMult"></A>
<A NAME="DOC.2.48.58"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postMult( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.48.60"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A> operator * ( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; other ) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator *= "></A>
<A NAME="DOC.2.48.61"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void operator *= ( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; other )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.48.62"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void operator = ( const <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A>&amp; p )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNew"></A>
<A NAME="DOC.2.48.63"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixNew( const <!1><A HREF="MatrixNewProduct.html">MatrixNewProduct</A>&amp; p )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="postMult"></A>
<A NAME="DOC.2.48.64"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A> postMult( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v ) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="preMult"></A>
<A NAME="DOC.2.48.65"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec3.html">Vec3</A> preMult( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v ) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="postMult"></A>
<A NAME="DOC.2.48.66"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec4.html">Vec4</A> postMult( const <!1><A HREF="Vec4.html">Vec4</A>&amp; v ) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="preMult"></A>
<A NAME="DOC.2.48.67"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec4.html">Vec4</A> preMult( const <!1><A HREF="Vec4.html">Vec4</A>&amp; v ) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.48.68"></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="MatrixNew.html">MatrixNew</A>&amp; m)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="transform3x3"></A>
<A NAME="DOC.2.48.69"></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="MatrixNew.html">MatrixNew</A>&amp; m, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator* "></A>
<A NAME="DOC.2.48.70"></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>
<DL><DT><DD></DL><P>
<A NAME="operator* "></A>
<A NAME="DOC.2.48.71"></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>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><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>

View File

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class osg::MatrixNew::MatrixNewProduct</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class <A HREF="#DOC.DOCU">MatrixNewProduct</A></H2></H2><HR>
<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; <B><A HREF="#DOC.2.48.59.1">A</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; <B><A HREF="#DOC.2.48.59.2">B</A></B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.59.3">MatrixNewProduct</A></B>( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; lhs, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; rhs )
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<DL>
<A NAME="A"></A>
<A NAME="DOC.2.48.59.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; A</B></TT>
<DL><DT><DD></DL><P>
<A NAME="B"></A>
<A NAME="DOC.2.48.59.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; B</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MatrixNewProduct"></A>
<A NAME="DOC.2.48.59.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MatrixNewProduct( const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; lhs, const <!1><A HREF="MatrixNew.html">MatrixNew</A>&amp; rhs )</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><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>

View File

@ -0,0 +1,367 @@
<!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>

66
include/osg/FrameStamp Normal file
View File

@ -0,0 +1,66 @@
#ifndef OSG_FRAMESTAMP
#define OSG_FRAMESTAMP 1
#include <osg/Referenced>
#include <ctime>
namespace osg
{
/** Class which encapsulates the frame number, reference time and calander
* time of specific frame, used to synchonize operations on the scene graph
* and other machines when using a graphics cluster. Note the calander
* time can be an artificial simulation time or capture the real time
* of day etc.*/
class SG_EXPORT FrameStamp : public Referenced
{
public:
FrameStamp();
FrameStamp(const FrameStamp& fs);
~FrameStamp();
FrameStamp& operator = (const FrameStamp& fs);
void setFrameNumber(int fnum) { _frameNumber = fnum; }
int getFrameNumber() const { return _frameNumber; }
void setReferenceTime(double refTime) { _referenceTime = refTime; }
double getReferenceTime() const { return _referenceTime; }
void setCalanderTime(const tm& calanderTime);
void getCalanderTime(tm& calanderTime) const;
protected:
// note no dynamic memory is used so that data can be passed
// via a simple memory copy or within a data packet across
// the network.
int _frameNumber;
double _referenceTime;
// member varaibles of time.h's tm structure, copied here to
// ensure that all data is no dynamic. The tm structure itself
// is not completely consistent betweem implementations, which
// could be a problem when sending the FrameStamp across a network
// with differnt versions of tm (i.e mixing Unix and Windows.)
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year. [0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
};
};
#endif

74
src/osg/FrameStamp.cpp Normal file
View File

@ -0,0 +1,74 @@
#include <osg/FrameStamp>
using namespace osg;
FrameStamp::FrameStamp():Referenced()
{
}
FrameStamp::FrameStamp(const FrameStamp& fs):Referenced()
{
_frameNumber = fs._frameNumber;
_referenceTime = fs._referenceTime;
tm_sec = fs.tm_sec; /* Seconds. [0-60] (1 leap second) */
tm_min = fs.tm_min; /* Minutes. [0-59] */
tm_hour = fs.tm_hour; /* Hours. [0-23] */
tm_mday = fs.tm_mday; /* Day. [1-31] */
tm_mon = fs.tm_mon; /* Month. [0-11] */
tm_year = fs.tm_year; /* Year - 1900. */
tm_wday = fs.tm_wday; /* Day of week. [0-6] */
tm_yday = fs.tm_yday; /* Days in year.[0-365] */
tm_isdst = fs.tm_isdst; /* DST. [-1/0/1]*/
}
FrameStamp::~FrameStamp()
{
}
FrameStamp& FrameStamp::operator = (const FrameStamp& fs)
{
if (this==&fs) return *this;
_frameNumber = fs._frameNumber;
_referenceTime = fs._referenceTime;
tm_sec = fs.tm_sec; /* Seconds. [0-60] (1 leap second) */
tm_min = fs.tm_min; /* Minutes. [0-59] */
tm_hour = fs.tm_hour; /* Hours. [0-23] */
tm_mday = fs.tm_mday; /* Day. [1-31] */
tm_mon = fs.tm_mon; /* Month. [0-11] */
tm_year = fs.tm_year; /* Year - 1900. */
tm_wday = fs.tm_wday; /* Day of week. [0-6] */
tm_yday = fs.tm_yday; /* Days in year.[0-365] */
tm_isdst = fs.tm_isdst; /* DST. [-1/0/1]*/
return *this;
}
void FrameStamp::setCalanderTime(const tm& ct)
{
tm_sec = ct.tm_sec; /* Seconds. [0-60] (1 leap second) */
tm_min = ct.tm_min; /* Minutes. [0-59] */
tm_hour = ct.tm_hour; /* Hours. [0-23] */
tm_mday = ct.tm_mday; /* Day. [1-31] */
tm_mon = ct.tm_mon; /* Month. [0-11] */
tm_year = ct.tm_year; /* Year - 1900. */
tm_wday = ct.tm_wday; /* Day of week. [0-6] */
tm_yday = ct.tm_yday; /* Days in year.[0-365] */
tm_isdst = ct.tm_isdst; /* DST. [-1/0/1]*/
}
void FrameStamp::getCalanderTime(tm& ct) const
{
ct.tm_sec = tm_sec; /* Seconds. [0-60] (1 leap second) */
ct.tm_min = tm_min; /* Minutes. [0-59] */
ct.tm_hour = tm_hour; /* Hours. [0-23] */
ct.tm_mday = tm_mday; /* Day. [1-31] */
ct.tm_mon = tm_mon; /* Month. [0-11] */
ct.tm_year = tm_year; /* Year - 1900. */
ct.tm_wday = tm_wday; /* Day of week. [0-6] */
ct.tm_yday = tm_yday; /* Days in year.[0-365] */
ct.tm_isdst = tm_isdst; /* DST. [-1/0/1]*/
}