aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03836.html
blob: d0aaa1d5593dc87f9d0cb55441f910f418f5bece (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>NeL: NL3D::IAnimCtrl class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex">  <form class="search" action="search.php" method="get">
<a class="qindex" href="main.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">Data&nbsp;Structures</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">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a>  | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
<h1>NL3D::IAnimCtrl Class Reference</h1><code>#include &lt;<a class="el" href="a05430.html">anim_ctrl.h</a>&gt;</code>
<p>
<p>Inheritance diagram for NL3D::IAnimCtrl:
<p><center><img src="a03836.png" usemap="#NL3D::IAnimCtrl_map" border="0" alt=""></center>
<map name="NL3D::IAnimCtrl_map">
<area href="a03468.html" alt="NL3D::CTargetAnimCtrl" shape="rect" coords="0,56,143,80">
</map>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is a handler for extra Animation behavior on Skeleton Models. When a bone has ended his compute, if it has an attached AnimCtrl, it calls its ::execute() code The AnimCtrl may modify all or part of the skeleton, knowing that the sons of the bone animCtrled are still not computed. Typically, animCtrls should modify the matrix parts of the bone, and then call bone-&gt;compute(..,..,NULL)<p>
Note: for convenience, when <a class="el" href="a03836.html#NL3D_1_1IAnimCtrla0">execute()</a> is called on a bone, the LocalSkeletonMatrix and WorldMatrix of this bone are already computed.<p>
Important Note about Bone Loding:<ul>
<li>AnimCtrl are not called if the bone is loded (ie not animated/computed)</li><li>AnimCtrl is called BEFORE Bone Lod interpolation, resulting in the excepted behavior.</li></ul>
<p>
Note about UserInterface logic: <a class="el" href="a03399.html">CSkeletonModel</a> and <a class="el" href="a02277.html">CBone</a> appears here but are used only for the derivers of this class (that are still in 3D), so the UserInterface don't need and don't use it. Therefore, there is no way (for now) with the strict UserInterface scheme to implements new AnimCtrls. But the user is allowed to use the Layer2 (ie <a class="el" href="a03348.html">CScene</a>, <a class="el" href="a03399.html">CSkeletonModel</a> etc classes) to create its own AnimCtrls. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
Nevrax France </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>2003 </dd></dl>

<p>

<p>
Definition at line <a class="el" href="a05430.html#l00064">64</a> of file <a class="el" href="a05430.html">anim_ctrl.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03836.html#NL3D_1_1IAnimCtrla0">execute</a> (<a class="el" href="a03399.html">CSkeletonModel</a> *model, <a class="el" href="a02277.html">CBone</a> *bone)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called at compute() time.  <a href="#NL3D_1_1IAnimCtrla0"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03836.html#NL3D_1_1IAnimCtrla1">~IAnimCtrl</a> ()</td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="NL3D_1_1IAnimCtrla1" doxytag="NL3D::IAnimCtrl::~IAnimCtrl" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual NL3D::IAnimCtrl::~<a class="el" href="a03836.html">IAnimCtrl</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="a05430.html#l00067">67</a> of file <a class="el" href="a05430.html">anim_ctrl.h</a>.
<p>
<div class="fragment"><pre>00067 {}
</pre></div>    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="NL3D_1_1IAnimCtrla0" doxytag="NL3D::IAnimCtrl::execute" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void NL3D::IAnimCtrl::execute </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a03399.html">CSkeletonModel</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>model</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="a02277.html">CBone</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>bone</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Called at compute() time. 
<p>

<p>
Implemented in <a class="el" href="a03468.html#NL3D_1_1CTargetAnimCtrla1">NL3D::CTargetAnimCtrl</a>.
<p>
Referenced by <a class="el" href="a05491.html#l00155">NL3D::CBone::compute()</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a05430.html">anim_ctrl.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:37:15 2004 for NeL by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.6 </small></address>
</body>
</html>