Sophie

Sophie

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

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: iCamera 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>iCamera Struct Reference<br>
<small>
[<a class="el" href="group__engine3d__views.html">Views &amp; Cameras</a>]</small>
</h1><!-- doxytag: class="iCamera" --><!-- doxytag: inherits="iBase" -->Camera class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="camera_8h-source.html">iengine/camera.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iCamera:</div>
<div class="dynsection">
<p><center><img src="structiCamera__inherit__graph.png" border="0" usemap="#iCamera__inherit__map" alt="Inheritance graph"></center>
<map name="iCamera__inherit__map">
<area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="16,7,72,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiCamera-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 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#4d8527a29f0d87221b3de72797099bcf">AddCameraSectorListener</a> (<a class="el" href="structiCameraSectorListener.html">iCameraSectorListener</a> *listener)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a listener to this camera.  <a href="#4d8527a29f0d87221b3de72797099bcf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiCamera.html">iCamera</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#d2c6a9f96923ab05b1b4bc7ab8668b2d">Clone</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a clone of this camera.  <a href="#d2c6a9f96923ab05b1b4bc7ab8668b2d"></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="structiCamera.html#44b84ec5d985df1e27681c31c3077e13">Correct</a> (int n)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Eliminate roundoff error by snapping the camera orientation to a grid of density n.  <a href="#44b84ec5d985df1e27681c31c3077e13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#b166fe4d9dd134cb8ac8a099de1db62d">GetCameraNumber</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the camera number.  <a href="#b166fe4d9dd134cb8ac8a099de1db62d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#1afe79fc26b38ede040686abf5418abd">GetFarPlane</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the 3D far plane that should be used to clip all geometry.  <a href="#1afe79fc26b38ede040686abf5418abd"></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="structiCamera.html#e2527b4b0e55e40a90a19a9467bb287b">GetFOV</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the FOV (field of view) in pixels.  <a href="#e2527b4b0e55e40a90a19a9467bb287b"></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="structiCamera.html#93498f196438987fa33aa67e79812edd">GetFOVAngle</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the FOV (field of view) in degrees.  <a href="#93498f196438987fa33aa67e79812edd"></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="structiCamera.html#0419eeef624f29bd69d0c7cae85bc53f">GetInvFOV</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the inverse flield of view (1/FOV) in pixels.  <a href="#0419eeef624f29bd69d0c7cae85bc53f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#5856e91fff07086203304d26fc2a6a66">GetOnlyPortals</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hit-only-portals flag.  <a href="#5856e91fff07086203304d26fc2a6a66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiSector.html">iSector</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#212a03b2c86fadbb6d38c926abec9c7c">GetSector</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current sector.  <a href="#212a03b2c86fadbb6d38c926abec9c7c"></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="structiCamera.html#b89c5197a15f27f6235836b85ffbe75b">GetShiftX</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the X shift amount.  <a href="#b89c5197a15f27f6235836b85ffbe75b"></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="structiCamera.html#2e3b1e7c34b0bc4fa07ac96cf09cb975">GetShiftY</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Y shift amount.  <a href="#2e3b1e7c34b0bc4fa07ac96cf09cb975"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
<a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#2e6b1eb108ca920f04c6dafdf53a1776">GetTransform</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'const' version of GetTransform ()  <a href="#2e6b1eb108ca920f04c6dafdf53a1776"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#39c734c8b8ed6fe791adc9305f4f20e9">GetTransform</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the transform corresponding to this camera.  <a href="#39c734c8b8ed6fe791adc9305f4f20e9"></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="structiCamera.html#bb231a28f64c79a96e19adc4636a5fe0">InvPerspective</a> (const <a class="el" href="classcsVector2.html">csVector2</a> &amp;p, float z) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate inverse perspective corrected point for this camera.  <a href="#bb231a28f64c79a96e19adc4636a5fe0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#19105d5e760e20e0dfeec7cd7916ab67">IsMirrored</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if space is mirrored.  <a href="#19105d5e760e20e0dfeec7cd7916ab67"></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="structiCamera.html#3ffbec96a2bdb1b70a35a6e02f8cbde4">Move</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v, bool cd=true)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the camera a relative amount in camera coordinates.  <a href="#3ffbec96a2bdb1b70a35a6e02f8cbde4"></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="structiCamera.html#d91b5e0841fd4992826d82e3aa6863ff">MoveUnrestricted</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the camera a relative amount in camera coordinates, ignoring portals and walls.  <a href="#d91b5e0841fd4992826d82e3aa6863ff"></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="structiCamera.html#8d6db7001ce462a12e33085886b9e694">MoveWorld</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v, bool cd=true)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the camera a relative amount in world coordinates.  <a href="#8d6db7001ce462a12e33085886b9e694"></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="structiCamera.html#e60d65f7e5cc538b3f3c06bcd463c20c">MoveWorldUnrestricted</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the camera a relative amount in world coordinates, ignoring portals and walls.  <a href="#e60d65f7e5cc538b3f3c06bcd463c20c"></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="structiCamera.html#c24a15670bd2e9efc9f8ddb21d56d3be">OnlyPortals</a> (bool hop)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the hit-only-portals flag is true then only portals will be checked with the 'MoveWorld()' function.  <a href="#c24a15670bd2e9efc9f8ddb21d56d3be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsVector2.html">csVector2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#d20cfa0371835cde47edba6bdba3372a">Perspective</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perspective corrected point for this camera.  <a href="#d20cfa0371835cde47edba6bdba3372a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiSceneNode.html">iSceneNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiCamera.html#ec8055b3a79a5ffe1097340cec91ddf0">QuerySceneNode</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scene node that this object represents.  <a href="#ec8055b3a79a5ffe1097340cec91ddf0"></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="structiCamera.html#21fab56a5aecb3dbfb06b0de825741f4">RemoveCameraSectorListener</a> (<a class="el" href="structiCameraSectorListener.html">iCameraSectorListener</a> *listener)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a listener from this camera.  <a href="#21fab56a5aecb3dbfb06b0de825741f4"></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="structiCamera.html#7952a5d437462be573ee6815bcc2dfec">SetFarPlane</a> (<a class="el" href="classcsPlane3.html">csPlane3</a> *fp)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the 3D far plane used to clip all geometry.  <a href="#7952a5d437462be573ee6815bcc2dfec"></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="structiCamera.html#5a23467a8387fe5f9be7ea45d3750d77">SetFOV</a> (int fov, int width)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the FOV in pixels.  <a href="#5a23467a8387fe5f9be7ea45d3750d77"></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="structiCamera.html#7e4a473230ea862e9760bcf034e3b528">SetFOVAngle</a> (float fov, int width)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the FOV in degrees.  <a href="#7e4a473230ea862e9760bcf034e3b528"></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="structiCamera.html#8bb8f578937986aa71e83737e1fc1d8b">SetMirrored</a> (bool m)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set mirrored state.  <a href="#8bb8f578937986aa71e83737e1fc1d8b"></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="structiCamera.html#3059470e29160ab29cda3b05ed3caa46">SetPerspectiveCenter</a> (float x, float y)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the shift amount.  <a href="#3059470e29160ab29cda3b05ed3caa46"></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="structiCamera.html#5bc035b003cb911dcdccae030cc8cb59">SetSector</a> (<a class="el" href="structiSector.html">iSector</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move to another sector.  <a href="#5bc035b003cb911dcdccae030cc8cb59"></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="structiCamera.html#06016d7b730bb26825547032b8a7e4ef">SetTransform</a> (const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;tr)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the transform corresponding to this camera.  <a href="#06016d7b730bb26825547032b8a7e4ef"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Camera class. 
<p>
This class represents camera objects which can be used to render a world in the engine. A camera has the following properties:<ul>
<li>Home sector: The sector in which rendering starts.</li><li>Transformation: This is an orthonormal transformation which is applied to all rendered objects to move them from world space to camera space. It is the mathematical representation of position and direction of the camera. The position should be inside the home sector.</li><li>Field of View: Controls the size on screen of the rendered objects and can be used for zooming effects. The FOV can be given either in pixels or as an angle in degrees.</li><li>Shift amount: The projection center in screen coordinates.</li><li>Mirrored Flag: Should be set to true if the transformation is mirrored.</li><li>Far Plane: A distant plane that is orthogonal to the view direction. It is used to clip away all objects that are farther away than a certain distance, usually to improve rendering speed.</li><li>Camera number: An identifier for a camera transformation, used internally in the engine to detect outdated vertex buffers.</li><li>Only Portals Flag: If this is true then no collisions are detected for camera movement except for portals.</li></ul>
<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="structiEngine.html#9012a0db34f043094a7e9ab079694846" title="Create a new camera.">iEngine::CreateCamera()</a></li><li><a class="el" href="classcsView.html" title="The csView class encapsulates the top-level Crystal Space renderer interface.">csView</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="structiView.html#9d0bccdf359e51077468bcd929627b7a" title="Get current camera.">iView::GetCamera()</a></li></ul>
<p>
Main users of this interface:<ul>
<li><a class="el" href="classcsView.html" title="The csView class encapsulates the top-level Crystal Space renderer interface.">csView</a></li><li><a class="el" href="structiView.html" title="The iView class encapsulates the top-level Crystal Space renderer interface.">iView</a> </li></ul>

<p>Definition at line <a class="el" href="camera_8h-source.html#l00102">102</a> of file <a class="el" href="camera_8h-source.html">camera.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="4d8527a29f0d87221b3de72797099bcf"></a><!-- doxytag: member="iCamera::AddCameraSectorListener" ref="4d8527a29f0d87221b3de72797099bcf" args="(iCameraSectorListener *listener)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::AddCameraSectorListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiCameraSectorListener.html">iCameraSectorListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a listener to this camera. 
<p>

</div>
</div><p>
<a class="anchor" name="d2c6a9f96923ab05b1b4bc7ab8668b2d"></a><!-- doxytag: member="iCamera::Clone" ref="d2c6a9f96923ab05b1b4bc7ab8668b2d" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiCamera.html">iCamera</a>* iCamera::Clone           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a clone of this camera. 
<p>
Note that the array of listeners is not cloned. 
</div>
</div><p>
<a class="anchor" name="44b84ec5d985df1e27681c31c3077e13"></a><!-- doxytag: member="iCamera::Correct" ref="44b84ec5d985df1e27681c31c3077e13" args="(int n)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::Correct           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Eliminate roundoff error by snapping the camera orientation to a grid of density n. 
<p>

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

<p>
Get the camera number. 
<p>
This number is changed for every new camera instance and it is also updated whenever the camera transformation changes. This number can be used to cache camera vertex arrays, for example. 
</div>
</div><p>
<a class="anchor" name="1afe79fc26b38ede040686abf5418abd"></a><!-- doxytag: member="iCamera::GetFarPlane" ref="1afe79fc26b38ede040686abf5418abd" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPlane3.html">csPlane3</a>* iCamera::GetFarPlane           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the 3D far plane that should be used to clip all geometry. 
<p>
If this function returns 0 no far clipping is required. Otherwise it must be used to clip the object before drawing. 
</div>
</div><p>
<a class="anchor" name="e2527b4b0e55e40a90a19a9467bb287b"></a><!-- doxytag: member="iCamera::GetFOV" ref="e2527b4b0e55e40a90a19a9467bb287b" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iCamera::GetFOV           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the FOV (field of view) in pixels. 
<p>

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

<p>
Return the FOV (field of view) in degrees. 
<p>

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

<p>
Return the inverse flield of view (1/FOV) in pixels. 
<p>

</div>
</div><p>
<a class="anchor" name="5856e91fff07086203304d26fc2a6a66"></a><!-- doxytag: member="iCamera::GetOnlyPortals" ref="5856e91fff07086203304d26fc2a6a66" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iCamera::GetOnlyPortals           </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 hit-only-portals flag. 
<p>

</div>
</div><p>
<a class="anchor" name="212a03b2c86fadbb6d38c926abec9c7c"></a><!-- doxytag: member="iCamera::GetSector" ref="212a03b2c86fadbb6d38c926abec9c7c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiSector.html">iSector</a>* iCamera::GetSector           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the current sector. 
<p>

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

<p>
Set the X shift amount. 
<p>
The parameter specified the desired X coordinate on screen of the projection center of the camera. 
</div>
</div><p>
<a class="anchor" name="2e3b1e7c34b0bc4fa07ac96cf09cb975"></a><!-- doxytag: member="iCamera::GetShiftY" ref="2e3b1e7c34b0bc4fa07ac96cf09cb975" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iCamera::GetShiftY           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the Y shift amount. 
<p>
The parameter specified the desired Y coordinate on screen of the projection center of the camera. 
</div>
</div><p>
<a class="anchor" name="2e6b1eb108ca920f04c6dafdf53a1776"></a><!-- doxytag: member="iCamera::GetTransform" ref="2e6b1eb108ca920f04c6dafdf53a1776" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a>&amp; iCamera::GetTransform           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
'const' version of GetTransform () 
<p>

</div>
</div><p>
<a class="anchor" name="39c734c8b8ed6fe791adc9305f4f20e9"></a><!-- doxytag: member="iCamera::GetTransform" ref="39c734c8b8ed6fe791adc9305f4f20e9" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a>&amp; iCamera::GetTransform           </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 transform corresponding to this camera. 
<p>
In this transform, 'other' is world space and 'this' is camera space. WARNING! It is illegal to directly assign to the given transform in order to modify it. To change the entire transform you have to use <a class="el" href="structiCamera.html#06016d7b730bb26825547032b8a7e4ef" title="Set the transform corresponding to this camera.">SetTransform()</a>. Note that it is legal to modify the returned transform otherwise. Just do not assign to it. 
</div>
</div><p>
<a class="anchor" name="bb231a28f64c79a96e19adc4636a5fe0"></a><!-- doxytag: member="iCamera::InvPerspective" ref="bb231a28f64c79a96e19adc4636a5fe0" args="(const csVector2 &amp;p, float z) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsVector3.html">csVector3</a> iCamera::InvPerspective           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector2.html">csVector2</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</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%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate inverse perspective corrected point for this camera. 
<p>

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

<p>
Return true if space is mirrored. 
<p>

</div>
</div><p>
<a class="anchor" name="3ffbec96a2bdb1b70a35a6e02f8cbde4"></a><!-- doxytag: member="iCamera::Move" ref="3ffbec96a2bdb1b70a35a6e02f8cbde4" args="(const csVector3 &amp;v, bool cd=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::Move           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>cd</em> = <code>true</code></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>
Moves the camera a relative amount in camera coordinates. 
<p>

</div>
</div><p>
<a class="anchor" name="d91b5e0841fd4992826d82e3aa6863ff"></a><!-- doxytag: member="iCamera::MoveUnrestricted" ref="d91b5e0841fd4992826d82e3aa6863ff" args="(const csVector3 &amp;v)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::MoveUnrestricted           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Moves the camera a relative amount in camera coordinates, ignoring portals and walls. 
<p>
This is used by the wireframe class. In general this is useful by any camera model that doesn't want to restrict its movement by portals and sector boundaries. 
</div>
</div><p>
<a class="anchor" name="8d6db7001ce462a12e33085886b9e694"></a><!-- doxytag: member="iCamera::MoveWorld" ref="8d6db7001ce462a12e33085886b9e694" args="(const csVector3 &amp;v, bool cd=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::MoveWorld           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>cd</em> = <code>true</code></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>
Moves the camera a relative amount in world coordinates. 
<p>
If 'cd' is true then collision detection with objects and things inside the sector is active. Otherwise you can walk through objects (but portals will still be correctly checked). 
</div>
</div><p>
<a class="anchor" name="e60d65f7e5cc538b3f3c06bcd463c20c"></a><!-- doxytag: member="iCamera::MoveWorldUnrestricted" ref="e60d65f7e5cc538b3f3c06bcd463c20c" args="(const csVector3 &amp;v)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::MoveWorldUnrestricted           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Moves the camera a relative amount in world coordinates, ignoring portals and walls. 
<p>
This is used by the wireframe class. In general this is useful by any camera model that doesn't want to restrict its movement by portals and sector boundaries. 
</div>
</div><p>
<a class="anchor" name="c24a15670bd2e9efc9f8ddb21d56d3be"></a><!-- doxytag: member="iCamera::OnlyPortals" ref="c24a15670bd2e9efc9f8ddb21d56d3be" args="(bool hop)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::OnlyPortals           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hop</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If the hit-only-portals flag is true then only portals will be checked with the 'MoveWorld()' function. 
<p>
This is a lot faster but it does mean that you will have to do collision detection with non-portal polygons using another technique. The default for this flag is true. 
</div>
</div><p>
<a class="anchor" name="d20cfa0371835cde47edba6bdba3372a"></a><!-- doxytag: member="iCamera::Perspective" ref="d20cfa0371835cde47edba6bdba3372a" args="(const csVector3 &amp;v) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsVector2.html">csVector2</a> iCamera::Perspective           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate perspective corrected point for this camera. 
<p>

</div>
</div><p>
<a class="anchor" name="ec8055b3a79a5ffe1097340cec91ddf0"></a><!-- doxytag: member="iCamera::QuerySceneNode" ref="ec8055b3a79a5ffe1097340cec91ddf0" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiSceneNode.html">iSceneNode</a>* iCamera::QuerySceneNode           </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 scene node that this object represents. 
<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd><a class="el" href="structiCamera.html" title="Camera class.">iCamera</a> doesn't yet support <a class="el" href="structiMovable.html" title="This interface represents the position and orientation of an object relative to its...">iMovable</a> so scene nodes are not properly working yet. </dd></dl>

</div>
</div><p>
<a class="anchor" name="21fab56a5aecb3dbfb06b0de825741f4"></a><!-- doxytag: member="iCamera::RemoveCameraSectorListener" ref="21fab56a5aecb3dbfb06b0de825741f4" args="(iCameraSectorListener *listener)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::RemoveCameraSectorListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiCameraSectorListener.html">iCameraSectorListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a listener from this camera. 
<p>

</div>
</div><p>
<a class="anchor" name="7952a5d437462be573ee6815bcc2dfec"></a><!-- doxytag: member="iCamera::SetFarPlane" ref="7952a5d437462be573ee6815bcc2dfec" args="(csPlane3 *fp)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetFarPlane           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>fp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the 3D far plane used to clip all geometry. 
<p>
If the pointer is 0 then far plane clipping will be disabled. Otherwise it will be enabled and the plane will be copied (so you can free or reuse the pointer you give here). Note that the far-plane will cull away geometry which is on the negative side of the plane (with <a class="el" href="classcsPlane3.html#4fc26da8112f45f27271c6faf244ab65" title="Classify the given vector with regards to this plane.">csPlane3::Classify()</a> function). 
</div>
</div><p>
<a class="anchor" name="5a23467a8387fe5f9be7ea45d3750d77"></a><!-- doxytag: member="iCamera::SetFOV" ref="5a23467a8387fe5f9be7ea45d3750d77" args="(int fov, int width)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetFOV           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>fov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>width</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 the FOV in pixels. 
<p>
'fov' is the desired FOV in pixels. 'width' is the display width, also in pixels. 
</div>
</div><p>
<a class="anchor" name="7e4a473230ea862e9760bcf034e3b528"></a><!-- doxytag: member="iCamera::SetFOVAngle" ref="7e4a473230ea862e9760bcf034e3b528" args="(float fov, int width)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetFOVAngle           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>fov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>width</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 the FOV in degrees. 
<p>
'fov' is the desired FOV in degrees. 'width' is the display width in pixels. 
</div>
</div><p>
<a class="anchor" name="8bb8f578937986aa71e83737e1fc1d8b"></a><!-- doxytag: member="iCamera::SetMirrored" ref="8bb8f578937986aa71e83737e1fc1d8b" args="(bool m)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetMirrored           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set mirrored state. 
<p>

</div>
</div><p>
<a class="anchor" name="3059470e29160ab29cda3b05ed3caa46"></a><!-- doxytag: member="iCamera::SetPerspectiveCenter" ref="3059470e29160ab29cda3b05ed3caa46" args="(float x, float y)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetPerspectiveCenter           </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><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 the shift amount. 
<p>
The parameter specified the desired projection center of the camera on screen. 
</div>
</div><p>
<a class="anchor" name="5bc035b003cb911dcdccae030cc8cb59"></a><!-- doxytag: member="iCamera::SetSector" ref="5bc035b003cb911dcdccae030cc8cb59" args="(iSector *)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetSector           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSector.html">iSector</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move to another sector. 
<p>

</div>
</div><p>
<a class="anchor" name="06016d7b730bb26825547032b8a7e4ef"></a><!-- doxytag: member="iCamera::SetTransform" ref="06016d7b730bb26825547032b8a7e4ef" args="(const csOrthoTransform &amp;tr)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iCamera::SetTransform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>tr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the transform corresponding to this camera. 
<p>
In this transform, 'other' is world space and 'this' is camera space. 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>iengine/<a class="el" href="camera_8h-source.html">camera.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>