source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1NumericAnimationTrack.html @ 692

Revision 692, 53.1 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>Ogre::NumericAnimationTrack class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::NumericAnimationTrack Class Reference</h1>Specialised <a class="el" href="classOgre_1_1AnimationTrack.html">AnimationTrack</a> for dealing with generic animable values. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::NumericAnimationTrack:
16<p><center><img src="classOgre_1_1NumericAnimationTrack.png" usemap="#Ogre::NumericAnimationTrack_map" border="0" alt=""></center>
17<map name="Ogre::NumericAnimationTrack_map">
18<area href="classOgre_1_1AnimationTrack.html" alt="Ogre::AnimationTrack" shape="rect" coords="0,0,181,24">
19</map>
20<a href="classOgre_1_1NumericAnimationTrack-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
21<tr><td></td></tr>
22<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
23<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka0">NumericAnimationTrack</a> (<a class="el" href="classOgre_1_1Animation.html">Animation</a> *parent, unsigned short handle)</td></tr>
24
25<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#Ogre_1_1NumericAnimationTracka0"></a><br><br></td></tr>
26<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka1">NumericAnimationTrack</a> (<a class="el" href="classOgre_1_1Animation.html">Animation</a> *parent, unsigned short handle, <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;target)</td></tr>
27
28<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, associates with an <a class="el" href="classOgre_1_1AnimableValue.html">AnimableValue</a>.  <a href="#Ogre_1_1NumericAnimationTracka1"></a><br><br></td></tr>
29<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1NumericKeyFrame.html">NumericKeyFrame</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka2">createNumericKeyFrame</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timePos)</td></tr>
30
31<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> and adds it to this animation at the given time index.  <a href="#Ogre_1_1NumericAnimationTracka2"></a><br><br></td></tr>
32<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka3">getInterpolatedKeyFrame</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timeIndex, <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *kf) const </td></tr>
33
34<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Remarks:</b></dt><dd>The <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> objects held by this class are transformation snapshots at discrete points in time. Normally however, you want to interpolate between these keyframes to produce smooth movement, and this method allows you to do this easily. In animation terminology this is called 'tweening'. </dd></dl>
35<dl compact><dt><b>Parameters:</b></dt><dd>
36  <table border="0" cellspacing="2" cellpadding="0">
37    <tr><td valign=top><em>timeIndex</em>&nbsp;</td><td>The time (in relation to the whole animation sequence) </td></tr>
38    <tr><td valign=top><em>kf</em>&nbsp;</td><td>Keyframe object to store results</td></tr>
39  </table>
40</dl>
41  <a href="#Ogre_1_1NumericAnimationTracka3"></a><br><br></td></tr>
42<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka4">apply</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timePos, <a class="el" href="namespaceOgre.html#a465">Real</a> weight=1.0, bool accumulate=false, <a class="el" href="namespaceOgre.html#a465">Real</a> scale=1.0f)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
45  <table border="0" cellspacing="2" cellpadding="0">
46    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time position in the animation to apply. </td></tr>
47    <tr><td valign=top><em>weight</em>&nbsp;</td><td>The influence to give to this track, 1.0 for full influence, less to blend with other animations. </td></tr>
48    <tr><td valign=top><em>acculumate</em>&nbsp;</td><td>Don't make weights relative to overall weights applied, make them absolute and just add. </td></tr>
49    <tr><td valign=top><em>scale</em>&nbsp;</td><td>The scale to apply to translations and scalings, useful for adapting an animation to a different size target.</td></tr>
50  </table>
51</dl>
52  <a href="#Ogre_1_1NumericAnimationTracka4"></a><br><br></td></tr>
53<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka5">applyToAnimable</a> (const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;anim, <a class="el" href="namespaceOgre.html#a465">Real</a> timePos, <a class="el" href="namespaceOgre.html#a465">Real</a> weight=1.0, <a class="el" href="namespaceOgre.html#a465">Real</a> scale=1.0f)</td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies an animation track to a given animable value.  <a href="#Ogre_1_1NumericAnimationTracka5"></a><br><br></td></tr>
56<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka6">getAssociatedAnimable</a> (void) const </td></tr>
57
58<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the associated animable object (if any).  <a href="#Ogre_1_1NumericAnimationTracka6"></a><br><br></td></tr>
59<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka7">setAssociatedAnimable</a> (const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;val)</td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the associated animable object which will be automatically affected by calls to 'apply'.  <a href="#Ogre_1_1NumericAnimationTracka7"></a><br><br></td></tr>
62<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1NumericKeyFrame.html">NumericKeyFrame</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka8">getNumericKeyFrame</a> (unsigned short index) const </td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at the specified index.  <a href="#Ogre_1_1NumericAnimationTracka8"></a><br><br></td></tr>
65<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka16">getHandle</a> (void) const </td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the handle associated with this track.  <a href="#Ogre_1_1VertexAnimationTracka16"></a><br><br></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka17">getNumKeyFrames</a> (void) const </td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of keyframes in this animation.  <a href="#Ogre_1_1VertexAnimationTracka17"></a><br><br></td></tr>
71<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka18">getKeyFrame</a> (unsigned short index) const </td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at the specified index.  <a href="#Ogre_1_1VertexAnimationTracka18"></a><br><br></td></tr>
74<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka19">getKeyFramesAtTime</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timePos, <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **keyFrame1, <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **keyFrame2, unsigned short *firstKeyIndex=0) const </td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the 2 <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> objects which are active at the time given, and the blend value between them.  <a href="#Ogre_1_1VertexAnimationTracka19"></a><br><br></td></tr>
77<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka20">createKeyFrame</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timePos)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> and adds it to this animation at the given time index.  <a href="#Ogre_1_1VertexAnimationTracka20"></a><br><br></td></tr>
80<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka21">removeKeyFrame</a> (unsigned short index)</td></tr>
81
82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> by it's index.  <a href="#Ogre_1_1VertexAnimationTracka21"></a><br><br></td></tr>
83<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka22">removeAllKeyFrames</a> (void)</td></tr>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all the KeyFrames from this track.  <a href="#Ogre_1_1VertexAnimationTracka22"></a><br><br></td></tr>
86<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTracka23">_keyFrameDataChanged</a> (void) const </td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data.  <a href="#Ogre_1_1VertexAnimationTracka23"></a><br><br></td></tr>
89<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1NumericAnimationTracka17">hasNonZeroKeyFrames</a> (void) const </td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out.  <a href="#Ogre_1_1NumericAnimationTracka17"></a><br><br></td></tr>
92<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1NumericAnimationTracka18">optimise</a> (void)</td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optimise the current track by removing any duplicate keyframes.  <a href="#Ogre_1_1NumericAnimationTracka18"></a><br><br></td></tr>
95<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
96<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackx0">KeyFrameList</a></td></tr>
97
98<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
99<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTrackb0">createKeyFrameImpl</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> time)</td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">  <a href="#Ogre_1_1NumericAnimationTrackb0"></a><br><br></td></tr>
102<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
103<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTrackp0">mTargetAnim</a></td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Target to animate.  <a href="#Ogre_1_1NumericAnimationTrackp0"></a><br><br></td></tr>
106<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackx0">KeyFrameList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp3">mKeyFrames</a></td></tr>
107
108<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp4">mMaxKeyFrameTime</a></td></tr>
109
110<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Animation.html">Animation</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp5">mParent</a></td></tr>
111
112<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp6">mHandle</a></td></tr>
113
114</table>
115<hr><a name="_details"></a><h2>Detailed Description</h2>
116Specialised <a class="el" href="classOgre_1_1AnimationTrack.html">AnimationTrack</a> for dealing with generic animable values.
117<p>
118
119<p>
120
121<p>
122Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00165">165</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.<hr><h2>Member Typedef Documentation</h2>
123<a class="anchor" name="Ogre_1_1VertexAnimationTrackx0" doxytag="Ogre::NumericAnimationTrack::KeyFrameList" ></a><p>
124<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
125  <tr>
126    <td class="mdRow">
127      <table cellpadding="0" cellspacing="0" border="0">
128        <tr>
129          <td class="md" nowrap valign="top"> typedef std::vector&lt;<a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>*&gt; <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackx0">Ogre::AnimationTrack::KeyFrameList</a><code> [protected, inherited]</code>
130      </table>
131    </td>
132  </tr>
133</table>
134<table cellspacing=5 cellpadding=0 border=0>
135  <tr>
136    <td>
137      &nbsp;
138    </td>
139    <td>
140
141<p>
142
143<p>
144Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00151">151</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
145  </tr>
146</table>
147<hr><h2>Constructor &amp; Destructor Documentation</h2>
148<a class="anchor" name="Ogre_1_1NumericAnimationTracka0" doxytag="Ogre::NumericAnimationTrack::NumericAnimationTrack" ></a><p>
149<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
150  <tr>
151    <td class="mdRow">
152      <table cellpadding="0" cellspacing="0" border="0">
153        <tr>
154          <td class="md" nowrap valign="top"> Ogre::NumericAnimationTrack::NumericAnimationTrack </td>
155          <td class="md" valign="top">(&nbsp;</td>
156          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Animation.html">Animation</a> *&nbsp;</td>
157          <td class="mdname" nowrap> <em>parent</em>, </td>
158        </tr>
159        <tr>
160          <td class="md" nowrap align="right"></td>
161          <td></td>
162          <td class="md" nowrap>unsigned short&nbsp;</td>
163          <td class="mdname" nowrap> <em>handle</em></td>
164        </tr>
165        <tr>
166          <td></td>
167          <td class="md">)&nbsp;</td>
168          <td class="md" colspan="2"></td>
169        </tr>
170
171      </table>
172    </td>
173  </tr>
174</table>
175<table cellspacing=5 cellpadding=0 border=0>
176  <tr>
177    <td>
178      &nbsp;
179    </td>
180    <td>
181
182<p>
183Constructor.
184<p>
185    </td>
186  </tr>
187</table>
188<a class="anchor" name="Ogre_1_1NumericAnimationTracka1" doxytag="Ogre::NumericAnimationTrack::NumericAnimationTrack" ></a><p>
189<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
190  <tr>
191    <td class="mdRow">
192      <table cellpadding="0" cellspacing="0" border="0">
193        <tr>
194          <td class="md" nowrap valign="top"> Ogre::NumericAnimationTrack::NumericAnimationTrack </td>
195          <td class="md" valign="top">(&nbsp;</td>
196          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Animation.html">Animation</a> *&nbsp;</td>
197          <td class="mdname" nowrap> <em>parent</em>, </td>
198        </tr>
199        <tr>
200          <td class="md" nowrap align="right"></td>
201          <td></td>
202          <td class="md" nowrap>unsigned short&nbsp;</td>
203          <td class="mdname" nowrap> <em>handle</em>, </td>
204        </tr>
205        <tr>
206          <td class="md" nowrap align="right"></td>
207          <td></td>
208          <td class="md" nowrap><a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;&nbsp;</td>
209          <td class="mdname" nowrap> <em>target</em></td>
210        </tr>
211        <tr>
212          <td></td>
213          <td class="md">)&nbsp;</td>
214          <td class="md" colspan="2"></td>
215        </tr>
216
217      </table>
218    </td>
219  </tr>
220</table>
221<table cellspacing=5 cellpadding=0 border=0>
222  <tr>
223    <td>
224      &nbsp;
225    </td>
226    <td>
227
228<p>
229Constructor, associates with an <a class="el" href="classOgre_1_1AnimableValue.html">AnimableValue</a>.
230<p>
231    </td>
232  </tr>
233</table>
234<hr><h2>Member Function Documentation</h2>
235<a class="anchor" name="Ogre_1_1VertexAnimationTracka23" doxytag="Ogre::NumericAnimationTrack::_keyFrameDataChanged" ></a><p>
236<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
237  <tr>
238    <td class="mdRow">
239      <table cellpadding="0" cellspacing="0" border="0">
240        <tr>
241          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::_keyFrameDataChanged </td>
242          <td class="md" valign="top">(&nbsp;</td>
243          <td class="md" nowrap valign="top">void&nbsp;</td>
244          <td class="mdname1" valign="top" nowrap>          </td>
245          <td class="md" valign="top">&nbsp;)&nbsp;</td>
246          <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
247        </tr>
248
249      </table>
250    </td>
251  </tr>
252</table>
253<table cellspacing=5 cellpadding=0 border=0>
254  <tr>
255    <td>
256      &nbsp;
257    </td>
258    <td>
259
260<p>
261Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data.
262<p>
263
264<p>
265Reimplemented in <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka10">Ogre::NodeAnimationTrack</a>.
266<p>
267Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00139">139</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
268  </tr>
269</table>
270<a class="anchor" name="Ogre_1_1NumericAnimationTracka4" doxytag="Ogre::NumericAnimationTrack::apply" ></a><p>
271<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
272  <tr>
273    <td class="mdRow">
274      <table cellpadding="0" cellspacing="0" border="0">
275        <tr>
276          <td class="md" nowrap valign="top"> void Ogre::NumericAnimationTrack::apply </td>
277          <td class="md" valign="top">(&nbsp;</td>
278          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
279          <td class="mdname" nowrap> <em>timePos</em>, </td>
280        </tr>
281        <tr>
282          <td class="md" nowrap align="right"></td>
283          <td></td>
284          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
285          <td class="mdname" nowrap> <em>weight</em> = 1.0, </td>
286        </tr>
287        <tr>
288          <td class="md" nowrap align="right"></td>
289          <td></td>
290          <td class="md" nowrap>bool&nbsp;</td>
291          <td class="mdname" nowrap> <em>accumulate</em> = false, </td>
292        </tr>
293        <tr>
294          <td class="md" nowrap align="right"></td>
295          <td></td>
296          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
297          <td class="mdname" nowrap> <em>scale</em> = 1.0f</td>
298        </tr>
299        <tr>
300          <td></td>
301          <td class="md">)&nbsp;</td>
302          <td class="md" colspan="2"><code> [virtual]</code></td>
303        </tr>
304
305      </table>
306    </td>
307  </tr>
308</table>
309<table cellspacing=5 cellpadding=0 border=0>
310  <tr>
311    <td>
312      &nbsp;
313    </td>
314    <td>
315
316<p>
317<dl compact><dt><b>Parameters:</b></dt><dd>
318  <table border="0" cellspacing="2" cellpadding="0">
319    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time position in the animation to apply. </td></tr>
320    <tr><td valign=top><em>weight</em>&nbsp;</td><td>The influence to give to this track, 1.0 for full influence, less to blend with other animations. </td></tr>
321    <tr><td valign=top><em>acculumate</em>&nbsp;</td><td>Don't make weights relative to overall weights applied, make them absolute and just add. </td></tr>
322    <tr><td valign=top><em>scale</em>&nbsp;</td><td>The scale to apply to translations and scalings, useful for adapting an animation to a different size target.</td></tr>
323  </table>
324</dl>
325 
326<p>
327
328<p>
329Implements <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1AnimationTracka10">Ogre::AnimationTrack</a>.    </td>
330  </tr>
331</table>
332<a class="anchor" name="Ogre_1_1NumericAnimationTracka5" doxytag="Ogre::NumericAnimationTrack::applyToAnimable" ></a><p>
333<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
334  <tr>
335    <td class="mdRow">
336      <table cellpadding="0" cellspacing="0" border="0">
337        <tr>
338          <td class="md" nowrap valign="top"> void Ogre::NumericAnimationTrack::applyToAnimable </td>
339          <td class="md" valign="top">(&nbsp;</td>
340          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;&nbsp;</td>
341          <td class="mdname" nowrap> <em>anim</em>, </td>
342        </tr>
343        <tr>
344          <td class="md" nowrap align="right"></td>
345          <td></td>
346          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
347          <td class="mdname" nowrap> <em>timePos</em>, </td>
348        </tr>
349        <tr>
350          <td class="md" nowrap align="right"></td>
351          <td></td>
352          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
353          <td class="mdname" nowrap> <em>weight</em> = 1.0, </td>
354        </tr>
355        <tr>
356          <td class="md" nowrap align="right"></td>
357          <td></td>
358          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
359          <td class="mdname" nowrap> <em>scale</em> = 1.0f</td>
360        </tr>
361        <tr>
362          <td></td>
363          <td class="md">)&nbsp;</td>
364          <td class="md" colspan="2"></td>
365        </tr>
366
367      </table>
368    </td>
369  </tr>
370</table>
371<table cellspacing=5 cellpadding=0 border=0>
372  <tr>
373    <td>
374      &nbsp;
375    </td>
376    <td>
377
378<p>
379Applies an animation track to a given animable value.
380<p>
381<dl compact><dt><b>Parameters:</b></dt><dd>
382  <table border="0" cellspacing="2" cellpadding="0">
383    <tr><td valign=top><em>anim</em>&nbsp;</td><td>The <a class="el" href="classOgre_1_1AnimableValue.html">AnimableValue</a> to which to apply the animation </td></tr>
384    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time position in the animation to apply. </td></tr>
385    <tr><td valign=top><em>weight</em>&nbsp;</td><td>The influence to give to this track, 1.0 for full influence, less to blend with other animations. </td></tr>
386    <tr><td valign=top><em>scale</em>&nbsp;</td><td>The scale to apply to translations and scalings, useful for adapting an animation to a different size target. </td></tr>
387  </table>
388</dl>
389    </td>
390  </tr>
391</table>
392<a class="anchor" name="Ogre_1_1VertexAnimationTracka20" doxytag="Ogre::NumericAnimationTrack::createKeyFrame" ></a><p>
393<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
394  <tr>
395    <td class="mdRow">
396      <table cellpadding="0" cellspacing="0" border="0">
397        <tr>
398          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::AnimationTrack::createKeyFrame </td>
399          <td class="md" valign="top">(&nbsp;</td>
400          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
401          <td class="mdname1" valign="top" nowrap> <em>timePos</em>          </td>
402          <td class="md" valign="top">&nbsp;)&nbsp;</td>
403          <td class="md" nowrap><code> [virtual, inherited]</code></td>
404        </tr>
405
406      </table>
407    </td>
408  </tr>
409</table>
410<table cellspacing=5 cellpadding=0 border=0>
411  <tr>
412    <td>
413      &nbsp;
414    </td>
415    <td>
416
417<p>
418Creates a new <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> and adds it to this animation at the given time index.
419<p>
420<dl compact><dt><b>Remarks:</b></dt><dd>It is better to create KeyFrames in time order. Creating them out of order can result in expensive reordering processing. Note that a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at time index 0.0 is always created for you, so you don't need to create this one, just access it using getKeyFrame(0); </dd></dl>
421<dl compact><dt><b>Parameters:</b></dt><dd>
422  <table border="0" cellspacing="2" cellpadding="0">
423    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time from which this <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> will apply. </td></tr>
424  </table>
425</dl>
426    </td>
427  </tr>
428</table>
429<a class="anchor" name="Ogre_1_1NumericAnimationTrackb0" doxytag="Ogre::NumericAnimationTrack::createKeyFrameImpl" ></a><p>
430<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
431  <tr>
432    <td class="mdRow">
433      <table cellpadding="0" cellspacing="0" border="0">
434        <tr>
435          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::NumericAnimationTrack::createKeyFrameImpl </td>
436          <td class="md" valign="top">(&nbsp;</td>
437          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
438          <td class="mdname1" valign="top" nowrap> <em>time</em>          </td>
439          <td class="md" valign="top">&nbsp;)&nbsp;</td>
440          <td class="md" nowrap><code> [protected, virtual]</code></td>
441        </tr>
442
443      </table>
444    </td>
445  </tr>
446</table>
447<table cellspacing=5 cellpadding=0 border=0>
448  <tr>
449    <td>
450      &nbsp;
451    </td>
452    <td>
453
454<p>
455 
456<p>
457
458<p>
459Implements <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1AnimationTrackb0">Ogre::AnimationTrack</a>.    </td>
460  </tr>
461</table>
462<a class="anchor" name="Ogre_1_1NumericAnimationTracka2" doxytag="Ogre::NumericAnimationTrack::createNumericKeyFrame" ></a><p>
463<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
464  <tr>
465    <td class="mdRow">
466      <table cellpadding="0" cellspacing="0" border="0">
467        <tr>
468          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1NumericKeyFrame.html">NumericKeyFrame</a>* Ogre::NumericAnimationTrack::createNumericKeyFrame </td>
469          <td class="md" valign="top">(&nbsp;</td>
470          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
471          <td class="mdname1" valign="top" nowrap> <em>timePos</em>          </td>
472          <td class="md" valign="top">&nbsp;)&nbsp;</td>
473          <td class="md" nowrap><code> [virtual]</code></td>
474        </tr>
475
476      </table>
477    </td>
478  </tr>
479</table>
480<table cellspacing=5 cellpadding=0 border=0>
481  <tr>
482    <td>
483      &nbsp;
484    </td>
485    <td>
486
487<p>
488Creates a new <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> and adds it to this animation at the given time index.
489<p>
490<dl compact><dt><b>Remarks:</b></dt><dd>It is better to create KeyFrames in time order. Creating them out of order can result in expensive reordering processing. Note that a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at time index 0.0 is always created for you, so you don't need to create this one, just access it using getKeyFrame(0); </dd></dl>
491<dl compact><dt><b>Parameters:</b></dt><dd>
492  <table border="0" cellspacing="2" cellpadding="0">
493    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time from which this <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> will apply. </td></tr>
494  </table>
495</dl>
496    </td>
497  </tr>
498</table>
499<a class="anchor" name="Ogre_1_1NumericAnimationTracka6" doxytag="Ogre::NumericAnimationTrack::getAssociatedAnimable" ></a><p>
500<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
501  <tr>
502    <td class="mdRow">
503      <table cellpadding="0" cellspacing="0" border="0">
504        <tr>
505          <td class="md" nowrap valign="top"> virtual const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a>&amp; Ogre::NumericAnimationTrack::getAssociatedAnimable </td>
506          <td class="md" valign="top">(&nbsp;</td>
507          <td class="md" nowrap valign="top">void&nbsp;</td>
508          <td class="mdname1" valign="top" nowrap>          </td>
509          <td class="md" valign="top">&nbsp;)&nbsp;</td>
510          <td class="md" nowrap> const<code> [virtual]</code></td>
511        </tr>
512
513      </table>
514    </td>
515  </tr>
516</table>
517<table cellspacing=5 cellpadding=0 border=0>
518  <tr>
519    <td>
520      &nbsp;
521    </td>
522    <td>
523
524<p>
525Returns a pointer to the associated animable object (if any).
526<p>
527    </td>
528  </tr>
529</table>
530<a class="anchor" name="Ogre_1_1VertexAnimationTracka16" doxytag="Ogre::NumericAnimationTrack::getHandle" ></a><p>
531<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
532  <tr>
533    <td class="mdRow">
534      <table cellpadding="0" cellspacing="0" border="0">
535        <tr>
536          <td class="md" nowrap valign="top"> unsigned short Ogre::AnimationTrack::getHandle </td>
537          <td class="md" valign="top">(&nbsp;</td>
538          <td class="md" nowrap valign="top">void&nbsp;</td>
539          <td class="mdname1" valign="top" nowrap>          </td>
540          <td class="md" valign="top">&nbsp;)&nbsp;</td>
541          <td class="md" nowrap> const<code> [inherited]</code></td>
542        </tr>
543
544      </table>
545    </td>
546  </tr>
547</table>
548<table cellspacing=5 cellpadding=0 border=0>
549  <tr>
550    <td>
551      &nbsp;
552    </td>
553    <td>
554
555<p>
556Get the handle associated with this track.
557<p>
558
559<p>
560Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00066">66</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
561  </tr>
562</table>
563<a class="anchor" name="Ogre_1_1NumericAnimationTracka3" doxytag="Ogre::NumericAnimationTrack::getInterpolatedKeyFrame" ></a><p>
564<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
565  <tr>
566    <td class="mdRow">
567      <table cellpadding="0" cellspacing="0" border="0">
568        <tr>
569          <td class="md" nowrap valign="top"> void Ogre::NumericAnimationTrack::getInterpolatedKeyFrame </td>
570          <td class="md" valign="top">(&nbsp;</td>
571          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
572          <td class="mdname" nowrap> <em>timeIndex</em>, </td>
573        </tr>
574        <tr>
575          <td class="md" nowrap align="right"></td>
576          <td></td>
577          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *&nbsp;</td>
578          <td class="mdname" nowrap> <em>kf</em></td>
579        </tr>
580        <tr>
581          <td></td>
582          <td class="md">)&nbsp;</td>
583          <td class="md" colspan="2"> const<code> [virtual]</code></td>
584        </tr>
585
586      </table>
587    </td>
588  </tr>
589</table>
590<table cellspacing=5 cellpadding=0 border=0>
591  <tr>
592    <td>
593      &nbsp;
594    </td>
595    <td>
596
597<p>
598<dl compact><dt><b>Remarks:</b></dt><dd>The <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> objects held by this class are transformation snapshots at discrete points in time. Normally however, you want to interpolate between these keyframes to produce smooth movement, and this method allows you to do this easily. In animation terminology this is called 'tweening'. </dd></dl>
599<dl compact><dt><b>Parameters:</b></dt><dd>
600  <table border="0" cellspacing="2" cellpadding="0">
601    <tr><td valign=top><em>timeIndex</em>&nbsp;</td><td>The time (in relation to the whole animation sequence) </td></tr>
602    <tr><td valign=top><em>kf</em>&nbsp;</td><td>Keyframe object to store results</td></tr>
603  </table>
604</dl>
605 
606<p>
607
608<p>
609Implements <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1AnimationTracka9">Ogre::AnimationTrack</a>.    </td>
610  </tr>
611</table>
612<a class="anchor" name="Ogre_1_1VertexAnimationTracka18" doxytag="Ogre::NumericAnimationTrack::getKeyFrame" ></a><p>
613<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
614  <tr>
615    <td class="mdRow">
616      <table cellpadding="0" cellspacing="0" border="0">
617        <tr>
618          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::AnimationTrack::getKeyFrame </td>
619          <td class="md" valign="top">(&nbsp;</td>
620          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
621          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
622          <td class="md" valign="top">&nbsp;)&nbsp;</td>
623          <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
624        </tr>
625
626      </table>
627    </td>
628  </tr>
629</table>
630<table cellspacing=5 cellpadding=0 border=0>
631  <tr>
632    <td>
633      &nbsp;
634    </td>
635    <td>
636
637<p>
638Returns the <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at the specified index.
639<p>
640    </td>
641  </tr>
642</table>
643<a class="anchor" name="Ogre_1_1VertexAnimationTracka19" doxytag="Ogre::NumericAnimationTrack::getKeyFramesAtTime" ></a><p>
644<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
645  <tr>
646    <td class="mdRow">
647      <table cellpadding="0" cellspacing="0" border="0">
648        <tr>
649          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a465">Real</a> Ogre::AnimationTrack::getKeyFramesAtTime </td>
650          <td class="md" valign="top">(&nbsp;</td>
651          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
652          <td class="mdname" nowrap> <em>timePos</em>, </td>
653        </tr>
654        <tr>
655          <td class="md" nowrap align="right"></td>
656          <td></td>
657          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **&nbsp;</td>
658          <td class="mdname" nowrap> <em>keyFrame1</em>, </td>
659        </tr>
660        <tr>
661          <td class="md" nowrap align="right"></td>
662          <td></td>
663          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **&nbsp;</td>
664          <td class="mdname" nowrap> <em>keyFrame2</em>, </td>
665        </tr>
666        <tr>
667          <td class="md" nowrap align="right"></td>
668          <td></td>
669          <td class="md" nowrap>unsigned short *&nbsp;</td>
670          <td class="mdname" nowrap> <em>firstKeyIndex</em> = 0</td>
671        </tr>
672        <tr>
673          <td></td>
674          <td class="md">)&nbsp;</td>
675          <td class="md" colspan="2"> const<code> [virtual, inherited]</code></td>
676        </tr>
677
678      </table>
679    </td>
680  </tr>
681</table>
682<table cellspacing=5 cellpadding=0 border=0>
683  <tr>
684    <td>
685      &nbsp;
686    </td>
687    <td>
688
689<p>
690Gets the 2 <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> objects which are active at the time given, and the blend value between them.
691<p>
692<dl compact><dt><b>Remarks:</b></dt><dd>At any point in time in an animation, there are either 1 or 2 keyframes which are 'active', 1 if the time index is exactly on a keyframe, 2 at all other times i.e. the keyframe before and the keyframe after. </dd></dl>
693<dl compact><dt><b></b></dt><dd>This method returns those keyframes given a time index, and also returns a parametric value indicating the value of 't' representing where the time index falls between them. E.g. if it returns 0, the time index is exactly on keyFrame1, if it returns 0.5 it is half way between keyFrame1 and keyFrame2 etc. </dd></dl>
694<dl compact><dt><b>Parameters:</b></dt><dd>
695  <table border="0" cellspacing="2" cellpadding="0">
696    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time index in seconds. </td></tr>
697    <tr><td valign=top><em>keyFrame1</em>&nbsp;</td><td>Pointer to a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> pointer which will receive the pointer to the keyframe just before or at this time index. </td></tr>
698    <tr><td valign=top><em>keyFrame2</em>&nbsp;</td><td>Pointer to a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> pointer which will receive the pointer to the keyframe just after this time index. </td></tr>
699    <tr><td valign=top><em>firstKeyIndex</em>&nbsp;</td><td>Pointer to an unsigned short which, if supplied, will receive the index of the 'from' keyframe incase the caller needs it. </td></tr>
700  </table>
701</dl>
702<dl compact><dt><b>Returns:</b></dt><dd>Parametric value indicating how far along the gap between the 2 keyframes the timePos value is, e.g. 0.0 for exactly at 1, 0.25 for a quarter etc. By definition the range of this value is: 0.0 &lt;= returnValue &lt; 1.0 . </dd></dl>
703    </td>
704  </tr>
705</table>
706<a class="anchor" name="Ogre_1_1NumericAnimationTracka8" doxytag="Ogre::NumericAnimationTrack::getNumericKeyFrame" ></a><p>
707<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
708  <tr>
709    <td class="mdRow">
710      <table cellpadding="0" cellspacing="0" border="0">
711        <tr>
712          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1NumericKeyFrame.html">NumericKeyFrame</a>* Ogre::NumericAnimationTrack::getNumericKeyFrame </td>
713          <td class="md" valign="top">(&nbsp;</td>
714          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
715          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
716          <td class="md" valign="top">&nbsp;)&nbsp;</td>
717          <td class="md" nowrap> const</td>
718        </tr>
719
720      </table>
721    </td>
722  </tr>
723</table>
724<table cellspacing=5 cellpadding=0 border=0>
725  <tr>
726    <td>
727      &nbsp;
728    </td>
729    <td>
730
731<p>
732Returns the <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at the specified index.
733<p>
734    </td>
735  </tr>
736</table>
737<a class="anchor" name="Ogre_1_1VertexAnimationTracka17" doxytag="Ogre::NumericAnimationTrack::getNumKeyFrames" ></a><p>
738<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
739  <tr>
740    <td class="mdRow">
741      <table cellpadding="0" cellspacing="0" border="0">
742        <tr>
743          <td class="md" nowrap valign="top"> virtual unsigned short Ogre::AnimationTrack::getNumKeyFrames </td>
744          <td class="md" valign="top">(&nbsp;</td>
745          <td class="md" nowrap valign="top">void&nbsp;</td>
746          <td class="mdname1" valign="top" nowrap>          </td>
747          <td class="md" valign="top">&nbsp;)&nbsp;</td>
748          <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
749        </tr>
750
751      </table>
752    </td>
753  </tr>
754</table>
755<table cellspacing=5 cellpadding=0 border=0>
756  <tr>
757    <td>
758      &nbsp;
759    </td>
760    <td>
761
762<p>
763Returns the number of keyframes in this animation.
764<p>
765    </td>
766  </tr>
767</table>
768<a class="anchor" name="Ogre_1_1NumericAnimationTracka17" doxytag="Ogre::NumericAnimationTrack::hasNonZeroKeyFrames" ></a><p>
769<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
770  <tr>
771    <td class="mdRow">
772      <table cellpadding="0" cellspacing="0" border="0">
773        <tr>
774          <td class="md" nowrap valign="top"> virtual bool Ogre::AnimationTrack::hasNonZeroKeyFrames </td>
775          <td class="md" valign="top">(&nbsp;</td>
776          <td class="md" nowrap valign="top">void&nbsp;</td>
777          <td class="mdname1" valign="top" nowrap>          </td>
778          <td class="md" valign="top">&nbsp;)&nbsp;</td>
779          <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
780        </tr>
781
782      </table>
783    </td>
784  </tr>
785</table>
786<table cellspacing=5 cellpadding=0 border=0>
787  <tr>
788    <td>
789      &nbsp;
790    </td>
791    <td>
792
793<p>
794Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out.
795<p>
796
797<p>
798Reimplemented in <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka12">Ogre::NodeAnimationTrack</a>, and <a class="el" href="classOgre_1_1VertexAnimationTrack.html#Ogre_1_1VertexAnimationTracka14">Ogre::VertexAnimationTrack</a>.
799<p>
800Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00145">145</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
801  </tr>
802</table>
803<a class="anchor" name="Ogre_1_1NumericAnimationTracka18" doxytag="Ogre::NumericAnimationTrack::optimise" ></a><p>
804<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
805  <tr>
806    <td class="mdRow">
807      <table cellpadding="0" cellspacing="0" border="0">
808        <tr>
809          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::optimise </td>
810          <td class="md" valign="top">(&nbsp;</td>
811          <td class="md" nowrap valign="top">void&nbsp;</td>
812          <td class="mdname1" valign="top" nowrap>          </td>
813          <td class="md" valign="top">&nbsp;)&nbsp;</td>
814          <td class="md" nowrap><code> [virtual, inherited]</code></td>
815        </tr>
816
817      </table>
818    </td>
819  </tr>
820</table>
821<table cellspacing=5 cellpadding=0 border=0>
822  <tr>
823    <td>
824      &nbsp;
825    </td>
826    <td>
827
828<p>
829Optimise the current track by removing any duplicate keyframes.
830<p>
831
832<p>
833Reimplemented in <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka13">Ogre::NodeAnimationTrack</a>, and <a class="el" href="classOgre_1_1VertexAnimationTrack.html#Ogre_1_1VertexAnimationTracka15">Ogre::VertexAnimationTrack</a>.
834<p>
835Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00148">148</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
836  </tr>
837</table>
838<a class="anchor" name="Ogre_1_1VertexAnimationTracka22" doxytag="Ogre::NumericAnimationTrack::removeAllKeyFrames" ></a><p>
839<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
840  <tr>
841    <td class="mdRow">
842      <table cellpadding="0" cellspacing="0" border="0">
843        <tr>
844          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::removeAllKeyFrames </td>
845          <td class="md" valign="top">(&nbsp;</td>
846          <td class="md" nowrap valign="top">void&nbsp;</td>
847          <td class="mdname1" valign="top" nowrap>          </td>
848          <td class="md" valign="top">&nbsp;)&nbsp;</td>
849          <td class="md" nowrap><code> [virtual, inherited]</code></td>
850        </tr>
851
852      </table>
853    </td>
854  </tr>
855</table>
856<table cellspacing=5 cellpadding=0 border=0>
857  <tr>
858    <td>
859      &nbsp;
860    </td>
861    <td>
862
863<p>
864Removes all the KeyFrames from this track.
865<p>
866    </td>
867  </tr>
868</table>
869<a class="anchor" name="Ogre_1_1VertexAnimationTracka21" doxytag="Ogre::NumericAnimationTrack::removeKeyFrame" ></a><p>
870<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
871  <tr>
872    <td class="mdRow">
873      <table cellpadding="0" cellspacing="0" border="0">
874        <tr>
875          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::removeKeyFrame </td>
876          <td class="md" valign="top">(&nbsp;</td>
877          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
878          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
879          <td class="md" valign="top">&nbsp;)&nbsp;</td>
880          <td class="md" nowrap><code> [virtual, inherited]</code></td>
881        </tr>
882
883      </table>
884    </td>
885  </tr>
886</table>
887<table cellspacing=5 cellpadding=0 border=0>
888  <tr>
889    <td>
890      &nbsp;
891    </td>
892    <td>
893
894<p>
895Removes a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> by it's index.
896<p>
897    </td>
898  </tr>
899</table>
900<a class="anchor" name="Ogre_1_1NumericAnimationTracka7" doxytag="Ogre::NumericAnimationTrack::setAssociatedAnimable" ></a><p>
901<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
902  <tr>
903    <td class="mdRow">
904      <table cellpadding="0" cellspacing="0" border="0">
905        <tr>
906          <td class="md" nowrap valign="top"> virtual void Ogre::NumericAnimationTrack::setAssociatedAnimable </td>
907          <td class="md" valign="top">(&nbsp;</td>
908          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> &amp;&nbsp;</td>
909          <td class="mdname1" valign="top" nowrap> <em>val</em>          </td>
910          <td class="md" valign="top">&nbsp;)&nbsp;</td>
911          <td class="md" nowrap><code> [virtual]</code></td>
912        </tr>
913
914      </table>
915    </td>
916  </tr>
917</table>
918<table cellspacing=5 cellpadding=0 border=0>
919  <tr>
920    <td>
921      &nbsp;
922    </td>
923    <td>
924
925<p>
926Sets the associated animable object which will be automatically affected by calls to 'apply'.
927<p>
928    </td>
929  </tr>
930</table>
931<hr><h2>Member Data Documentation</h2>
932<a class="anchor" name="Ogre_1_1VertexAnimationTrackp6" doxytag="Ogre::NumericAnimationTrack::mHandle" ></a><p>
933<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
934  <tr>
935    <td class="mdRow">
936      <table cellpadding="0" cellspacing="0" border="0">
937        <tr>
938          <td class="md" nowrap valign="top"> unsigned short <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp6">Ogre::AnimationTrack::mHandle</a><code> [protected, inherited]</code>
939      </table>
940    </td>
941  </tr>
942</table>
943<table cellspacing=5 cellpadding=0 border=0>
944  <tr>
945    <td>
946      &nbsp;
947    </td>
948    <td>
949
950<p>
951
952<p>
953Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00155">155</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
954  </tr>
955</table>
956<a class="anchor" name="Ogre_1_1VertexAnimationTrackp3" doxytag="Ogre::NumericAnimationTrack::mKeyFrames" ></a><p>
957<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
958  <tr>
959    <td class="mdRow">
960      <table cellpadding="0" cellspacing="0" border="0">
961        <tr>
962          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackx0">KeyFrameList</a> <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp3">Ogre::AnimationTrack::mKeyFrames</a><code> [protected, inherited]</code>
963      </table>
964    </td>
965  </tr>
966</table>
967<table cellspacing=5 cellpadding=0 border=0>
968  <tr>
969    <td>
970      &nbsp;
971    </td>
972    <td>
973
974<p>
975
976<p>
977Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00152">152</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
978  </tr>
979</table>
980<a class="anchor" name="Ogre_1_1VertexAnimationTrackp4" doxytag="Ogre::NumericAnimationTrack::mMaxKeyFrameTime" ></a><p>
981<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
982  <tr>
983    <td class="mdRow">
984      <table cellpadding="0" cellspacing="0" border="0">
985        <tr>
986          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp4">Ogre::AnimationTrack::mMaxKeyFrameTime</a><code> [protected, inherited]</code>
987      </table>
988    </td>
989  </tr>
990</table>
991<table cellspacing=5 cellpadding=0 border=0>
992  <tr>
993    <td>
994      &nbsp;
995    </td>
996    <td>
997
998<p>
999
1000<p>
1001Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00153">153</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
1002  </tr>
1003</table>
1004<a class="anchor" name="Ogre_1_1VertexAnimationTrackp5" doxytag="Ogre::NumericAnimationTrack::mParent" ></a><p>
1005<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1006  <tr>
1007    <td class="mdRow">
1008      <table cellpadding="0" cellspacing="0" border="0">
1009        <tr>
1010          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Animation.html">Animation</a>* <a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1VertexAnimationTrackp5">Ogre::AnimationTrack::mParent</a><code> [protected, inherited]</code>
1011      </table>
1012    </td>
1013  </tr>
1014</table>
1015<table cellspacing=5 cellpadding=0 border=0>
1016  <tr>
1017    <td>
1018      &nbsp;
1019    </td>
1020    <td>
1021
1022<p>
1023
1024<p>
1025Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00154">154</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
1026  </tr>
1027</table>
1028<a class="anchor" name="Ogre_1_1NumericAnimationTrackp0" doxytag="Ogre::NumericAnimationTrack::mTargetAnim" ></a><p>
1029<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1030  <tr>
1031    <td class="mdRow">
1032      <table cellpadding="0" cellspacing="0" border="0">
1033        <tr>
1034          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1SharedPtr.html">AnimableValuePtr</a> <a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTrackp0">Ogre::NumericAnimationTrack::mTargetAnim</a><code> [protected]</code>
1035      </table>
1036    </td>
1037  </tr>
1038</table>
1039<table cellspacing=5 cellpadding=0 border=0>
1040  <tr>
1041    <td>
1042      &nbsp;
1043    </td>
1044    <td>
1045
1046<p>
1047Target to animate.
1048<p>
1049
1050<p>
1051Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00214">214</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.    </td>
1052  </tr>
1053</table>
1054<hr>The documentation for this class was generated from the following file:<ul>
1055<li><a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a></ul>
1056<hr>
1057<p>
1058Copyright &copy; 2000-2005 by The OGRE Team<br />
1059<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
1060This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
1061                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
1062                <Work rdf:about="">
1063                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1064        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1065                </Work>
1066                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
1067
1068Last modified Sun Mar 12 14:38:05 2006
1069</p>
1070</body>
1071</html>
Note: See TracBrowser for help on using the repository browser.