Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3313

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iODEAMotorJoint Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iODEAMotorJoint Struct Reference</h1><!-- doxytag: class="iODEAMotorJoint" --><!-- doxytag: inherits="iODEGeneralJointState" -->ODE AMotor joint.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ode_8h-source.html">ivaria/ode.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iODEAMotorJoint:</div>
<div class="dynsection">
<p><center><img src="structiODEAMotorJoint__inherit__graph.png" border="0" usemap="#iODEAMotorJoint__inherit__map" alt="Inheritance graph"></center>
<map name="iODEAMotorJoint__inherit__map">
<area shape="rect" href="structiODEGeneralJointState.html" title="General joint state." alt="" coords="5,84,173,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="61,7,117,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiODEAMotorJoint-members.html">List of all members.</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 float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#552334f811c9aa35f112e2885656d03e">GetAMotorAngle</a> (int axis_num)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current angle for axis anum.  <a href="#552334f811c9aa35f112e2885656d03e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#25c5df56cea29d97f62e62bfc327463c">GetAMotorAngleRate</a> (int axis_num)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current angle rate for axis anum.  <a href="#25c5df56cea29d97f62e62bfc327463c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#400994ef71ee36a99e111dfa13781295">GetAMotorAxis</a> (int axis_num)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get AMotor axis.  <a href="#400994ef71ee36a99e111dfa13781295"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#64b0aca3dc37deb1abe8f19856dc5d6f">GetAMotorAxisRelOrientation</a> (int axis_num)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get ``relative orientation'' mode: 0: The axis is anchored to the global frame.  <a href="#64b0aca3dc37deb1abe8f19856dc5d6f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="ode_8h.html#c313c9937ffa4ec206cadd74207617c9">ODEAMotorMode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#caf2eac0eaaa5b50fb4bc9b1bb928962">GetAMotorMode</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the angular motor mode.  <a href="#caf2eac0eaaa5b50fb4bc9b1bb928962"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#a5f2c1b31481d398f3bf4e339609fe1b">GetAMotorNumAxes</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of angular axes that will be controlled by the AMotor.  <a href="#a5f2c1b31481d398f3bf4e339609fe1b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#2f956297d34056adc34b095682157f6a">SetAMotorAngle</a> (int axis_num, float angle)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the AMotor what the current angle is along axis anum.  <a href="#2f956297d34056adc34b095682157f6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#0ff8bfa0ec6c0ef6ac32c1f01aadd9e5">SetAMotorAxis</a> (int axis_num, int rel_orient, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;axis)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set AMotor axis.  <a href="#0ff8bfa0ec6c0ef6ac32c1f01aadd9e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#cdd62f968edef8aca8e1f68093846711">SetAMotorAxis</a> (int axis_num, int rel_orient, float x, float y, float z)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set AMotor axis.  <a href="#cdd62f968edef8aca8e1f68093846711"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#ce0e01cd252c350db14d2b8a6e9c078a">SetAMotorMode</a> (<a class="el" href="ode_8h.html#c313c9937ffa4ec206cadd74207617c9">ODEAMotorMode</a> mode)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the angular motor mode.  <a href="#ce0e01cd252c350db14d2b8a6e9c078a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEAMotorJoint.html#bf237d9ce142049800a84c4b3907267e">SetAMotorNumAxes</a> (int axis_num)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the number of angular axes that will be controlled by the AMotor.  <a href="#bf237d9ce142049800a84c4b3907267e"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
ODE AMotor joint. 
<p>
An angular motor (AMotor) allows the relative angular velocities of two bodies to be controlled. The angular velocity can be controlled on up to three axes, allowing torque motors and stops to be set for rotation about those axes. This is mainly useful in conjunction with ball joints (which do not constrain the angular degrees of freedom at all), but it can be used in any situation where angular control is needed. To use an AMotor with a ball joint, simply attach it to the same two bodies that the ball joint is attached to. 
<p>Definition at line <a class="el" href="ode_8h-source.html#l00665">665</a> of file <a class="el" href="ode_8h-source.html">ode.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="552334f811c9aa35f112e2885656d03e"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorAngle" ref="552334f811c9aa35f112e2885656d03e" args="(int axis_num)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iODEAMotorJoint::GetAMotorAngle           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current angle for axis anum. 
<p>
In CS_ODE_AMOTOR_MODE_USER mode this is simply the value that was set with SetAMotorAngle. In CS_ODE_AMOTOR_MODE_EULER mode this is the corresponding euler angle. 
</div>
</div><p>
<a class="anchor" name="25c5df56cea29d97f62e62bfc327463c"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorAngleRate" ref="25c5df56cea29d97f62e62bfc327463c" args="(int axis_num)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iODEAMotorJoint::GetAMotorAngleRate           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current angle rate for axis anum. 
<p>
In CS_ODE_AMOTOR_MODE_USER mode this is always zero, as not enough information is available. In CS_ODE_AMOTOR_MODE_EULER mode this is the corresponding euler angle rate. 
</div>
</div><p>
<a class="anchor" name="400994ef71ee36a99e111dfa13781295"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorAxis" ref="400994ef71ee36a99e111dfa13781295" args="(int axis_num)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsVector3.html">csVector3</a> iODEAMotorJoint::GetAMotorAxis           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get AMotor axis. 
<p>

</div>
</div><p>
<a class="anchor" name="64b0aca3dc37deb1abe8f19856dc5d6f"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorAxisRelOrientation" ref="64b0aca3dc37deb1abe8f19856dc5d6f" args="(int axis_num)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iODEAMotorJoint::GetAMotorAxisRelOrientation           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get ``relative orientation'' mode: 0: The axis is anchored to the global frame. 
<p>
1: The axis is anchored to the first body. 2: The axis is anchored to the second body. 
</div>
</div><p>
<a class="anchor" name="caf2eac0eaaa5b50fb4bc9b1bb928962"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorMode" ref="caf2eac0eaaa5b50fb4bc9b1bb928962" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="ode_8h.html#c313c9937ffa4ec206cadd74207617c9">ODEAMotorMode</a> iODEAMotorJoint::GetAMotorMode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the angular motor mode. 
<p>

</div>
</div><p>
<a class="anchor" name="a5f2c1b31481d398f3bf4e339609fe1b"></a><!-- doxytag: member="iODEAMotorJoint::GetAMotorNumAxes" ref="a5f2c1b31481d398f3bf4e339609fe1b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iODEAMotorJoint::GetAMotorNumAxes           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of angular axes that will be controlled by the AMotor. 
<p>

</div>
</div><p>
<a class="anchor" name="2f956297d34056adc34b095682157f6a"></a><!-- doxytag: member="iODEAMotorJoint::SetAMotorAngle" ref="2f956297d34056adc34b095682157f6a" args="(int axis_num, float angle)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEAMotorJoint::SetAMotorAngle           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>angle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tell the AMotor what the current angle is along axis anum. 
<p>
This function should only be called in CS_ODE_AMOTOR_MODE_USER mode, because in this mode the AMotor has no other way of knowing the joint angles. The angle information is needed if stops have been set along the axis, but it is not needed for axis motors. 
</div>
</div><p>
<a class="anchor" name="0ff8bfa0ec6c0ef6ac32c1f01aadd9e5"></a><!-- doxytag: member="iODEAMotorJoint::SetAMotorAxis" ref="0ff8bfa0ec6c0ef6ac32c1f01aadd9e5" args="(int axis_num, int rel_orient, const csVector3 &amp;axis)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEAMotorJoint::SetAMotorAxis           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rel_orient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>axis</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set AMotor axis. 
<p>
/param axis_num - axis number /param rel_orient - ``relative orientation'' mode: 0: The axis is anchored to the global frame. 1: The axis is anchored to the first body. 2: The axis is anchored to the second body. 
</div>
</div><p>
<a class="anchor" name="cdd62f968edef8aca8e1f68093846711"></a><!-- doxytag: member="iODEAMotorJoint::SetAMotorAxis" ref="cdd62f968edef8aca8e1f68093846711" args="(int axis_num, int rel_orient, float x, float y, float z)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEAMotorJoint::SetAMotorAxis           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rel_orient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set AMotor axis. 
<p>
/param axis_num - axis number /param rel_orient - ``relative orientation'' mode: 0: The axis is anchored to the global frame. 1: The axis is anchored to the first body. 2: The axis is anchored to the second body. /param x, y, z - axis 
</div>
</div><p>
<a class="anchor" name="ce0e01cd252c350db14d2b8a6e9c078a"></a><!-- doxytag: member="iODEAMotorJoint::SetAMotorMode" ref="ce0e01cd252c350db14d2b8a6e9c078a" args="(ODEAMotorMode mode)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEAMotorJoint::SetAMotorMode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ode_8h.html#c313c9937ffa4ec206cadd74207617c9">ODEAMotorMode</a>&nbsp;</td>
          <td class="paramname"> <em>mode</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the angular motor mode. 
<p>
The mode parameter must be one of the following constants: CS_ODE_AMOTOR_MODE_USER (The AMotor axes and joint angle settings are entirely controlled by the user, this is the default mode), CS_ODE_AMOTOR_MODE_EULER ( Euler angles are automatically computed, when this mode is initially set the current relative orientations of the bodies will correspond to all euler angles at zero). 
</div>
</div><p>
<a class="anchor" name="bf237d9ce142049800a84c4b3907267e"></a><!-- doxytag: member="iODEAMotorJoint::SetAMotorNumAxes" ref="bf237d9ce142049800a84c4b3907267e" args="(int axis_num)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEAMotorJoint::SetAMotorNumAxes           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>axis_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the number of angular axes that will be controlled by the AMotor. 
<p>
The argument num can range from 0 (which effectively deactivates the joint) to 3. This is automatically set to 3 in CS_ODE_AMOTOR_MODE_EULER mode. 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>ivaria/<a class="el" href="ode_8h-source.html">ode.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>