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

Revision 692, 41.1 KB checked in by mattausch, 18 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>Ogre::AnimationTrack 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::AnimationTrack Class Reference</h1>A 'track' in an animation sequence, ie a sequence of keyframes which affect a certain type of animable object. 
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::AnimationTrack:
16<p><center><img src="classOgre_1_1AnimationTrack.png" usemap="#Ogre::AnimationTrack_map" border="0" alt=""></center>
17<map name="Ogre::AnimationTrack_map">
18<area href="classOgre_1_1NodeAnimationTrack.html" alt="Ogre::NodeAnimationTrack" shape="rect" coords="0,56,181,80">
19<area href="classOgre_1_1NumericAnimationTrack.html" alt="Ogre::NumericAnimationTrack" shape="rect" coords="191,56,372,80">
20<area href="classOgre_1_1VertexAnimationTrack.html" alt="Ogre::VertexAnimationTrack" shape="rect" coords="382,56,563,80">
21</map>
22<a href="classOgre_1_1AnimationTrack-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
23<tr><td></td></tr>
24<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
25<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1AnimationTracka0">AnimationTrack</a> (<a class="el" href="classOgre_1_1Animation.html">Animation</a> *parent, unsigned short handle)</td></tr>
26
27<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#Ogre_1_1AnimationTracka0"></a><br><br></td></tr>
28<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1AnimationTrack.html#Ogre_1_1AnimationTracka1">~AnimationTrack</a> ()</td></tr>
29
30<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>
31
32<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>
33<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>
34
35<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>
36<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>
37
38<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>
39<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>
40
41<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>
42<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>
43
44<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>
45<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>
46
47<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>
48<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>
49
50<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>
51<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_1AnimationTracka9">getInterpolatedKeyFrame</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> timeIndex, <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *kf) const=0</td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> object which contains the interpolated transforms at the time index specified.  <a href="#Ogre_1_1AnimationTracka9"></a><br><br></td></tr>
54<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_1AnimationTracka10">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)=0</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies an animation track to the designated target.  <a href="#Ogre_1_1AnimationTracka10"></a><br><br></td></tr>
57<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>
58
59<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>
60<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>
61
62<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>
63<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>
64
65<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>
66<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
67<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>
68
69<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
70<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_1AnimationTrackb0">createKeyFrameImpl</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> time)=0</td></tr>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a keyframe implementation - must be overridden.  <a href="#Ogre_1_1AnimationTrackb0"></a><br><br></td></tr>
73<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
74<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>
75
76<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>
77
78<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>
79
80<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>
81
82</table>
83<hr><a name="_details"></a><h2>Detailed Description</h2>
84A 'track' in an animation sequence, ie a sequence of keyframes which affect a certain type of animable object.
85<p>
86<dl compact><dt><b>Remarks:</b></dt><dd>This class is intended as a base for more complete classes which will actually animate specific types of object, e.g. a bone in a skeleton to affect skeletal animation. An animation will likely include multiple tracks each of which can be made up of many <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> instances. Note that the use of tracks allows each animable object to have it's own number of keyframes, i.e. you do not have to have the maximum number of keyframes for all animable objects just to cope with the most animated one. <p>
87Since the most common animable object is a <a class="el" href="classOgre_1_1Node.html">Node</a>, there are options in this class for associating the track with a <a class="el" href="classOgre_1_1Node.html">Node</a> which will receive keyframe updates automatically when the 'apply' method is called. <p>
88By default rotation is done using shortest-path algorithm. It is possible to change this behaviour using setUseShortestRotationPath() method. </dd></dl>
89
90<p>
91
92<p>
93Definition at line <a class="el" href="OgreAnimationTrack_8h-source.html#l00057">57</a> of file <a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a>.<hr><h2>Member Typedef Documentation</h2>
94<a class="anchor" name="Ogre_1_1VertexAnimationTrackx0" doxytag="Ogre::AnimationTrack::KeyFrameList" ></a><p>
95<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
96  <tr>
97    <td class="mdRow">
98      <table cellpadding="0" cellspacing="0" border="0">
99        <tr>
100          <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]</code>
101      </table>
102    </td>
103  </tr>
104</table>
105<table cellspacing=5 cellpadding=0 border=0>
106  <tr>
107    <td>
108      &nbsp;
109    </td>
110    <td>
111
112<p>
113
114<p>
115Definition 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>
116  </tr>
117</table>
118<hr><h2>Constructor &amp; Destructor Documentation</h2>
119<a class="anchor" name="Ogre_1_1AnimationTracka0" doxytag="Ogre::AnimationTrack::AnimationTrack" ></a><p>
120<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
121  <tr>
122    <td class="mdRow">
123      <table cellpadding="0" cellspacing="0" border="0">
124        <tr>
125          <td class="md" nowrap valign="top"> Ogre::AnimationTrack::AnimationTrack </td>
126          <td class="md" valign="top">(&nbsp;</td>
127          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Animation.html">Animation</a> *&nbsp;</td>
128          <td class="mdname" nowrap> <em>parent</em>, </td>
129        </tr>
130        <tr>
131          <td class="md" nowrap align="right"></td>
132          <td></td>
133          <td class="md" nowrap>unsigned short&nbsp;</td>
134          <td class="mdname" nowrap> <em>handle</em></td>
135        </tr>
136        <tr>
137          <td></td>
138          <td class="md">)&nbsp;</td>
139          <td class="md" colspan="2"></td>
140        </tr>
141
142      </table>
143    </td>
144  </tr>
145</table>
146<table cellspacing=5 cellpadding=0 border=0>
147  <tr>
148    <td>
149      &nbsp;
150    </td>
151    <td>
152
153<p>
154Constructor.
155<p>
156    </td>
157  </tr>
158</table>
159<a class="anchor" name="Ogre_1_1AnimationTracka1" doxytag="Ogre::AnimationTrack::~AnimationTrack" ></a><p>
160<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
161  <tr>
162    <td class="mdRow">
163      <table cellpadding="0" cellspacing="0" border="0">
164        <tr>
165          <td class="md" nowrap valign="top"> virtual Ogre::AnimationTrack::~<a class="el" href="classOgre_1_1AnimationTrack.html">AnimationTrack</a> </td>
166          <td class="md" valign="top">(&nbsp;</td>
167          <td class="mdname1" valign="top" nowrap>          </td>
168          <td class="md" valign="top">&nbsp;)&nbsp;</td>
169          <td class="md" nowrap><code> [virtual]</code></td>
170        </tr>
171
172      </table>
173    </td>
174  </tr>
175</table>
176<table cellspacing=5 cellpadding=0 border=0>
177  <tr>
178    <td>
179      &nbsp;
180    </td>
181    <td>
182
183<p>
184    </td>
185  </tr>
186</table>
187<hr><h2>Member Function Documentation</h2>
188<a class="anchor" name="Ogre_1_1VertexAnimationTracka23" doxytag="Ogre::AnimationTrack::_keyFrameDataChanged" ></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"> virtual void Ogre::AnimationTrack::_keyFrameDataChanged </td>
195          <td class="md" valign="top">(&nbsp;</td>
196          <td class="md" nowrap valign="top">void&nbsp;</td>
197          <td class="mdname1" valign="top" nowrap>          </td>
198          <td class="md" valign="top">&nbsp;)&nbsp;</td>
199          <td class="md" nowrap> const<code> [virtual]</code></td>
200        </tr>
201
202      </table>
203    </td>
204  </tr>
205</table>
206<table cellspacing=5 cellpadding=0 border=0>
207  <tr>
208    <td>
209      &nbsp;
210    </td>
211    <td>
212
213<p>
214Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data.
215<p>
216
217<p>
218Reimplemented in <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka10">Ogre::NodeAnimationTrack</a>.
219<p>
220Definition 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>
221  </tr>
222</table>
223<a class="anchor" name="Ogre_1_1AnimationTracka10" doxytag="Ogre::AnimationTrack::apply" ></a><p>
224<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
225  <tr>
226    <td class="mdRow">
227      <table cellpadding="0" cellspacing="0" border="0">
228        <tr>
229          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::apply </td>
230          <td class="md" valign="top">(&nbsp;</td>
231          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
232          <td class="mdname" nowrap> <em>timePos</em>, </td>
233        </tr>
234        <tr>
235          <td class="md" nowrap align="right"></td>
236          <td></td>
237          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
238          <td class="mdname" nowrap> <em>weight</em> = 1.0, </td>
239        </tr>
240        <tr>
241          <td class="md" nowrap align="right"></td>
242          <td></td>
243          <td class="md" nowrap>bool&nbsp;</td>
244          <td class="mdname" nowrap> <em>accumulate</em> = false, </td>
245        </tr>
246        <tr>
247          <td class="md" nowrap align="right"></td>
248          <td></td>
249          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
250          <td class="mdname" nowrap> <em>scale</em> = 1.0f</td>
251        </tr>
252        <tr>
253          <td></td>
254          <td class="md">)&nbsp;</td>
255          <td class="md" colspan="2"><code> [pure virtual]</code></td>
256        </tr>
257
258      </table>
259    </td>
260  </tr>
261</table>
262<table cellspacing=5 cellpadding=0 border=0>
263  <tr>
264    <td>
265      &nbsp;
266    </td>
267    <td>
268
269<p>
270Applies an animation track to the designated target.
271<p>
272<dl compact><dt><b>Parameters:</b></dt><dd>
273  <table border="0" cellspacing="2" cellpadding="0">
274    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time position in the animation to apply. </td></tr>
275    <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>
276    <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>
277    <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>
278  </table>
279</dl>
280
281<p>
282Implemented in <a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka4">Ogre::NumericAnimationTrack</a>, <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka9">Ogre::NodeAnimationTrack</a>, and <a class="el" href="classOgre_1_1VertexAnimationTrack.html#Ogre_1_1VertexAnimationTracka6">Ogre::VertexAnimationTrack</a>.    </td>
283  </tr>
284</table>
285<a class="anchor" name="Ogre_1_1VertexAnimationTracka20" doxytag="Ogre::AnimationTrack::createKeyFrame" ></a><p>
286<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
287  <tr>
288    <td class="mdRow">
289      <table cellpadding="0" cellspacing="0" border="0">
290        <tr>
291          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::AnimationTrack::createKeyFrame </td>
292          <td class="md" valign="top">(&nbsp;</td>
293          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
294          <td class="mdname1" valign="top" nowrap> <em>timePos</em>          </td>
295          <td class="md" valign="top">&nbsp;)&nbsp;</td>
296          <td class="md" nowrap><code> [virtual]</code></td>
297        </tr>
298
299      </table>
300    </td>
301  </tr>
302</table>
303<table cellspacing=5 cellpadding=0 border=0>
304  <tr>
305    <td>
306      &nbsp;
307    </td>
308    <td>
309
310<p>
311Creates a new <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> and adds it to this animation at the given time index.
312<p>
313<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>
314<dl compact><dt><b>Parameters:</b></dt><dd>
315  <table border="0" cellspacing="2" cellpadding="0">
316    <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>
317  </table>
318</dl>
319    </td>
320  </tr>
321</table>
322<a class="anchor" name="Ogre_1_1AnimationTrackb0" doxytag="Ogre::AnimationTrack::createKeyFrameImpl" ></a><p>
323<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
324  <tr>
325    <td class="mdRow">
326      <table cellpadding="0" cellspacing="0" border="0">
327        <tr>
328          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::AnimationTrack::createKeyFrameImpl </td>
329          <td class="md" valign="top">(&nbsp;</td>
330          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
331          <td class="mdname1" valign="top" nowrap> <em>time</em>          </td>
332          <td class="md" valign="top">&nbsp;)&nbsp;</td>
333          <td class="md" nowrap><code> [protected, pure virtual]</code></td>
334        </tr>
335
336      </table>
337    </td>
338  </tr>
339</table>
340<table cellspacing=5 cellpadding=0 border=0>
341  <tr>
342    <td>
343      &nbsp;
344    </td>
345    <td>
346
347<p>
348Create a keyframe implementation - must be overridden.
349<p>
350
351<p>
352Implemented in <a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTrackb0">Ogre::NumericAnimationTrack</a>, <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTrackb0">Ogre::NodeAnimationTrack</a>, and <a class="el" href="classOgre_1_1VertexAnimationTrack.html#Ogre_1_1VertexAnimationTrackb0">Ogre::VertexAnimationTrack</a>.    </td>
353  </tr>
354</table>
355<a class="anchor" name="Ogre_1_1VertexAnimationTracka16" doxytag="Ogre::AnimationTrack::getHandle" ></a><p>
356<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
357  <tr>
358    <td class="mdRow">
359      <table cellpadding="0" cellspacing="0" border="0">
360        <tr>
361          <td class="md" nowrap valign="top"> unsigned short Ogre::AnimationTrack::getHandle </td>
362          <td class="md" valign="top">(&nbsp;</td>
363          <td class="md" nowrap valign="top">void&nbsp;</td>
364          <td class="mdname1" valign="top" nowrap>          </td>
365          <td class="md" valign="top">&nbsp;)&nbsp;</td>
366          <td class="md" nowrap> const</td>
367        </tr>
368
369      </table>
370    </td>
371  </tr>
372</table>
373<table cellspacing=5 cellpadding=0 border=0>
374  <tr>
375    <td>
376      &nbsp;
377    </td>
378    <td>
379
380<p>
381Get the handle associated with this track.
382<p>
383
384<p>
385Definition 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>
386  </tr>
387</table>
388<a class="anchor" name="Ogre_1_1AnimationTracka9" doxytag="Ogre::AnimationTrack::getInterpolatedKeyFrame" ></a><p>
389<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
390  <tr>
391    <td class="mdRow">
392      <table cellpadding="0" cellspacing="0" border="0">
393        <tr>
394          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::getInterpolatedKeyFrame </td>
395          <td class="md" valign="top">(&nbsp;</td>
396          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
397          <td class="mdname" nowrap> <em>timeIndex</em>, </td>
398        </tr>
399        <tr>
400          <td class="md" nowrap align="right"></td>
401          <td></td>
402          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> *&nbsp;</td>
403          <td class="mdname" nowrap> <em>kf</em></td>
404        </tr>
405        <tr>
406          <td></td>
407          <td class="md">)&nbsp;</td>
408          <td class="md" colspan="2"> const<code> [pure virtual]</code></td>
409        </tr>
410
411      </table>
412    </td>
413  </tr>
414</table>
415<table cellspacing=5 cellpadding=0 border=0>
416  <tr>
417    <td>
418      &nbsp;
419    </td>
420    <td>
421
422<p>
423Gets a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> object which contains the interpolated transforms at the time index specified.
424<p>
425<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>
426<dl compact><dt><b>Parameters:</b></dt><dd>
427  <table border="0" cellspacing="2" cellpadding="0">
428    <tr><td valign=top><em>timeIndex</em>&nbsp;</td><td>The time (in relation to the whole animation sequence) </td></tr>
429    <tr><td valign=top><em>kf</em>&nbsp;</td><td>Keyframe object to store results </td></tr>
430  </table>
431</dl>
432
433<p>
434Implemented in <a class="el" href="classOgre_1_1NumericAnimationTrack.html#Ogre_1_1NumericAnimationTracka3">Ogre::NumericAnimationTrack</a>, <a class="el" href="classOgre_1_1NodeAnimationTrack.html#Ogre_1_1NodeAnimationTracka8">Ogre::NodeAnimationTrack</a>, and <a class="el" href="classOgre_1_1VertexAnimationTrack.html#Ogre_1_1VertexAnimationTracka5">Ogre::VertexAnimationTrack</a>.    </td>
435  </tr>
436</table>
437<a class="anchor" name="Ogre_1_1VertexAnimationTracka18" doxytag="Ogre::AnimationTrack::getKeyFrame" ></a><p>
438<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
439  <tr>
440    <td class="mdRow">
441      <table cellpadding="0" cellspacing="0" border="0">
442        <tr>
443          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a>* Ogre::AnimationTrack::getKeyFrame </td>
444          <td class="md" valign="top">(&nbsp;</td>
445          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
446          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
447          <td class="md" valign="top">&nbsp;)&nbsp;</td>
448          <td class="md" nowrap> const<code> [virtual]</code></td>
449        </tr>
450
451      </table>
452    </td>
453  </tr>
454</table>
455<table cellspacing=5 cellpadding=0 border=0>
456  <tr>
457    <td>
458      &nbsp;
459    </td>
460    <td>
461
462<p>
463Returns the <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> at the specified index.
464<p>
465    </td>
466  </tr>
467</table>
468<a class="anchor" name="Ogre_1_1VertexAnimationTracka19" doxytag="Ogre::AnimationTrack::getKeyFramesAtTime" ></a><p>
469<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
470  <tr>
471    <td class="mdRow">
472      <table cellpadding="0" cellspacing="0" border="0">
473        <tr>
474          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a465">Real</a> Ogre::AnimationTrack::getKeyFramesAtTime </td>
475          <td class="md" valign="top">(&nbsp;</td>
476          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
477          <td class="mdname" nowrap> <em>timePos</em>, </td>
478        </tr>
479        <tr>
480          <td class="md" nowrap align="right"></td>
481          <td></td>
482          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **&nbsp;</td>
483          <td class="mdname" nowrap> <em>keyFrame1</em>, </td>
484        </tr>
485        <tr>
486          <td class="md" nowrap align="right"></td>
487          <td></td>
488          <td class="md" nowrap><a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> **&nbsp;</td>
489          <td class="mdname" nowrap> <em>keyFrame2</em>, </td>
490        </tr>
491        <tr>
492          <td class="md" nowrap align="right"></td>
493          <td></td>
494          <td class="md" nowrap>unsigned short *&nbsp;</td>
495          <td class="mdname" nowrap> <em>firstKeyIndex</em> = 0</td>
496        </tr>
497        <tr>
498          <td></td>
499          <td class="md">)&nbsp;</td>
500          <td class="md" colspan="2"> const<code> [virtual]</code></td>
501        </tr>
502
503      </table>
504    </td>
505  </tr>
506</table>
507<table cellspacing=5 cellpadding=0 border=0>
508  <tr>
509    <td>
510      &nbsp;
511    </td>
512    <td>
513
514<p>
515Gets 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.
516<p>
517<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>
518<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>
519<dl compact><dt><b>Parameters:</b></dt><dd>
520  <table border="0" cellspacing="2" cellpadding="0">
521    <tr><td valign=top><em>timePos</em>&nbsp;</td><td>The time index in seconds. </td></tr>
522    <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>
523    <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>
524    <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>
525  </table>
526</dl>
527<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>
528    </td>
529  </tr>
530</table>
531<a class="anchor" name="Ogre_1_1VertexAnimationTracka17" doxytag="Ogre::AnimationTrack::getNumKeyFrames" ></a><p>
532<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
533  <tr>
534    <td class="mdRow">
535      <table cellpadding="0" cellspacing="0" border="0">
536        <tr>
537          <td class="md" nowrap valign="top"> virtual unsigned short Ogre::AnimationTrack::getNumKeyFrames </td>
538          <td class="md" valign="top">(&nbsp;</td>
539          <td class="md" nowrap valign="top">void&nbsp;</td>
540          <td class="mdname1" valign="top" nowrap>          </td>
541          <td class="md" valign="top">&nbsp;)&nbsp;</td>
542          <td class="md" nowrap> const<code> [virtual]</code></td>
543        </tr>
544
545      </table>
546    </td>
547  </tr>
548</table>
549<table cellspacing=5 cellpadding=0 border=0>
550  <tr>
551    <td>
552      &nbsp;
553    </td>
554    <td>
555
556<p>
557Returns the number of keyframes in this animation.
558<p>
559    </td>
560  </tr>
561</table>
562<a class="anchor" name="Ogre_1_1NumericAnimationTracka17" doxytag="Ogre::AnimationTrack::hasNonZeroKeyFrames" ></a><p>
563<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
564  <tr>
565    <td class="mdRow">
566      <table cellpadding="0" cellspacing="0" border="0">
567        <tr>
568          <td class="md" nowrap valign="top"> virtual bool Ogre::AnimationTrack::hasNonZeroKeyFrames </td>
569          <td class="md" valign="top">(&nbsp;</td>
570          <td class="md" nowrap valign="top">void&nbsp;</td>
571          <td class="mdname1" valign="top" nowrap>          </td>
572          <td class="md" valign="top">&nbsp;)&nbsp;</td>
573          <td class="md" nowrap> const<code> [virtual]</code></td>
574        </tr>
575
576      </table>
577    </td>
578  </tr>
579</table>
580<table cellspacing=5 cellpadding=0 border=0>
581  <tr>
582    <td>
583      &nbsp;
584    </td>
585    <td>
586
587<p>
588Method 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.
589<p>
590
591<p>
592Reimplemented 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>.
593<p>
594Definition 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>
595  </tr>
596</table>
597<a class="anchor" name="Ogre_1_1NumericAnimationTracka18" doxytag="Ogre::AnimationTrack::optimise" ></a><p>
598<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
599  <tr>
600    <td class="mdRow">
601      <table cellpadding="0" cellspacing="0" border="0">
602        <tr>
603          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::optimise </td>
604          <td class="md" valign="top">(&nbsp;</td>
605          <td class="md" nowrap valign="top">void&nbsp;</td>
606          <td class="mdname1" valign="top" nowrap>          </td>
607          <td class="md" valign="top">&nbsp;)&nbsp;</td>
608          <td class="md" nowrap><code> [virtual]</code></td>
609        </tr>
610
611      </table>
612    </td>
613  </tr>
614</table>
615<table cellspacing=5 cellpadding=0 border=0>
616  <tr>
617    <td>
618      &nbsp;
619    </td>
620    <td>
621
622<p>
623Optimise the current track by removing any duplicate keyframes.
624<p>
625
626<p>
627Reimplemented 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>.
628<p>
629Definition 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>
630  </tr>
631</table>
632<a class="anchor" name="Ogre_1_1VertexAnimationTracka22" doxytag="Ogre::AnimationTrack::removeAllKeyFrames" ></a><p>
633<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
634  <tr>
635    <td class="mdRow">
636      <table cellpadding="0" cellspacing="0" border="0">
637        <tr>
638          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::removeAllKeyFrames </td>
639          <td class="md" valign="top">(&nbsp;</td>
640          <td class="md" nowrap valign="top">void&nbsp;</td>
641          <td class="mdname1" valign="top" nowrap>          </td>
642          <td class="md" valign="top">&nbsp;)&nbsp;</td>
643          <td class="md" nowrap><code> [virtual]</code></td>
644        </tr>
645
646      </table>
647    </td>
648  </tr>
649</table>
650<table cellspacing=5 cellpadding=0 border=0>
651  <tr>
652    <td>
653      &nbsp;
654    </td>
655    <td>
656
657<p>
658Removes all the KeyFrames from this track.
659<p>
660    </td>
661  </tr>
662</table>
663<a class="anchor" name="Ogre_1_1VertexAnimationTracka21" doxytag="Ogre::AnimationTrack::removeKeyFrame" ></a><p>
664<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
665  <tr>
666    <td class="mdRow">
667      <table cellpadding="0" cellspacing="0" border="0">
668        <tr>
669          <td class="md" nowrap valign="top"> virtual void Ogre::AnimationTrack::removeKeyFrame </td>
670          <td class="md" valign="top">(&nbsp;</td>
671          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
672          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
673          <td class="md" valign="top">&nbsp;)&nbsp;</td>
674          <td class="md" nowrap><code> [virtual]</code></td>
675        </tr>
676
677      </table>
678    </td>
679  </tr>
680</table>
681<table cellspacing=5 cellpadding=0 border=0>
682  <tr>
683    <td>
684      &nbsp;
685    </td>
686    <td>
687
688<p>
689Removes a <a class="el" href="classOgre_1_1KeyFrame.html">KeyFrame</a> by it's index.
690<p>
691    </td>
692  </tr>
693</table>
694<hr><h2>Member Data Documentation</h2>
695<a class="anchor" name="Ogre_1_1VertexAnimationTrackp6" doxytag="Ogre::AnimationTrack::mHandle" ></a><p>
696<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
697  <tr>
698    <td class="mdRow">
699      <table cellpadding="0" cellspacing="0" border="0">
700        <tr>
701          <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]</code>
702      </table>
703    </td>
704  </tr>
705</table>
706<table cellspacing=5 cellpadding=0 border=0>
707  <tr>
708    <td>
709      &nbsp;
710    </td>
711    <td>
712
713<p>
714
715<p>
716Definition 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>
717  </tr>
718</table>
719<a class="anchor" name="Ogre_1_1VertexAnimationTrackp3" doxytag="Ogre::AnimationTrack::mKeyFrames" ></a><p>
720<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
721  <tr>
722    <td class="mdRow">
723      <table cellpadding="0" cellspacing="0" border="0">
724        <tr>
725          <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]</code>
726      </table>
727    </td>
728  </tr>
729</table>
730<table cellspacing=5 cellpadding=0 border=0>
731  <tr>
732    <td>
733      &nbsp;
734    </td>
735    <td>
736
737<p>
738
739<p>
740Definition 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>
741  </tr>
742</table>
743<a class="anchor" name="Ogre_1_1VertexAnimationTrackp4" doxytag="Ogre::AnimationTrack::mMaxKeyFrameTime" ></a><p>
744<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
745  <tr>
746    <td class="mdRow">
747      <table cellpadding="0" cellspacing="0" border="0">
748        <tr>
749          <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]</code>
750      </table>
751    </td>
752  </tr>
753</table>
754<table cellspacing=5 cellpadding=0 border=0>
755  <tr>
756    <td>
757      &nbsp;
758    </td>
759    <td>
760
761<p>
762
763<p>
764Definition 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>
765  </tr>
766</table>
767<a class="anchor" name="Ogre_1_1VertexAnimationTrackp5" doxytag="Ogre::AnimationTrack::mParent" ></a><p>
768<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
769  <tr>
770    <td class="mdRow">
771      <table cellpadding="0" cellspacing="0" border="0">
772        <tr>
773          <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]</code>
774      </table>
775    </td>
776  </tr>
777</table>
778<table cellspacing=5 cellpadding=0 border=0>
779  <tr>
780    <td>
781      &nbsp;
782    </td>
783    <td>
784
785<p>
786
787<p>
788Definition 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>
789  </tr>
790</table>
791<hr>The documentation for this class was generated from the following file:<ul>
792<li><a class="el" href="OgreAnimationTrack_8h-source.html">OgreAnimationTrack.h</a></ul>
793<hr>
794<p>
795Copyright &copy; 2000-2005 by The OGRE Team<br />
796<!--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/>
797This 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/>
798                <!--/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#">
799                <Work rdf:about="">
800                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
801        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
802                </Work>
803                <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> -->
804
805Last modified Sun Mar 12 14:38:05 2006
806</p>
807</body>
808</html>
Note: See TracBrowser for help on using the repository browser.