Sophie

Sophie

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

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: iObjectWatcher 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>iObjectWatcher Struct Reference<br>
<small>
[<a class="el" href="group__engine3d.html">Crystal Space 3D Engine</a>]</small>
</h1><!-- doxytag: class="iObjectWatcher" --><!-- doxytag: inherits="iBase" -->This is a generic object watcher.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="objwatch_8h-source.html">iengine/objwatch.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iObjectWatcher:</div>
<div class="dynsection">
<p><center><img src="structiObjectWatcher__inherit__graph.png" border="0" usemap="#iObjectWatcher__inherit__map" alt="Inheritance graph"></center>
<map name="iObjectWatcher__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="36,7,92,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiObjectWatcher-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="structiObjectWatcher.html#f7b0e0790f4b517be39d1cadb90b8fd0">AddListener</a> (<a class="el" href="structiObjectWatcherListener.html">iObjectWatcherListener</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a listener to this object watcher.  <a href="#f7b0e0790f4b517be39d1cadb90b8fd0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiLight.html">iLight</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#822352207475c765193e735551f4a8b2">GetLastLight</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last light.  <a href="#822352207475c765193e735551f4a8b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#75f0ec5076ee47fbdc9f886b339296f9">GetLastMeshWrapper</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last mesh.  <a href="#75f0ec5076ee47fbdc9f886b339296f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMovable.html">iMovable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#a8a191faab68d6a3095bce56c1936dae">GetLastMovable</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last movable.  <a href="#a8a191faab68d6a3095bce56c1936dae"></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="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea">GetLastOperation</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last operation that occured.  <a href="#2bdd6033cc33981d51c1102cb45383ea"></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="structiObjectWatcher.html#b507508d452eca55b59ea4ab3ee623e6">GetLastSector</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last sector.  <a href="#b507508d452eca55b59ea4ab3ee623e6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiLight.html">iLight</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#0587e23565ee7f073d39d98369aa2b7a">GetLight</a> (int idx)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specified watched light.  <a href="#0587e23565ee7f073d39d98369aa2b7a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMovable.html">iMovable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#8ac86b2ac17536b0820a13a9092e5580">GetMovable</a> (int idx)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specified watched movable.  <a href="#8ac86b2ac17536b0820a13a9092e5580"></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="structiObjectWatcher.html#5cf896e360989a178e5a085d9424681d">GetSector</a> (int idx)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specified watched sector.  <a href="#5cf896e360989a178e5a085d9424681d"></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="structiObjectWatcher.html#bb3f241e0d5821dff80aa72bf9daaef3">GetWatchedLightCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of watched lights.  <a href="#bb3f241e0d5821dff80aa72bf9daaef3"></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="structiObjectWatcher.html#a60a137cf1ac7cedd313e95d5a588902">GetWatchedMovableCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of watched movables.  <a href="#a60a137cf1ac7cedd313e95d5a588902"></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="structiObjectWatcher.html#52f626ec9a4801f517af42d4c4cdb3eb">GetWatchedSectorCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of watched sectors.  <a href="#52f626ec9a4801f517af42d4c4cdb3eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectWatcher.html#3d1ad7499e46845888c44ccdd65698d0">GetWatchNumber</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current number for his watcher.  <a href="#3d1ad7499e46845888c44ccdd65698d0"></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="structiObjectWatcher.html#d10ccf97d44623cdfc60f3a0e9c56602">RemoveLight</a> (<a class="el" href="structiLight.html">iLight</a> *light)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a light to watch.  <a href="#d10ccf97d44623cdfc60f3a0e9c56602"></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="structiObjectWatcher.html#9251fdd7322c0e724c575d4393577711">RemoveListener</a> (<a class="el" href="structiObjectWatcherListener.html">iObjectWatcherListener</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a listener.  <a href="#9251fdd7322c0e724c575d4393577711"></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="structiObjectWatcher.html#65b44701723574b4f7715bbb5df1bad1">RemoveMovable</a> (<a class="el" href="structiMovable.html">iMovable</a> *movable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a movable to watch.  <a href="#65b44701723574b4f7715bbb5df1bad1"></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="structiObjectWatcher.html#882c7d29c0610b8681482f6a3345ba15">RemoveSector</a> (<a class="el" href="structiSector.html">iSector</a> *sector)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a sector to watch.  <a href="#882c7d29c0610b8681482f6a3345ba15"></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="structiObjectWatcher.html#936590f0db311c3c2ca3a89b48bd6f5d">Reset</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset. Remove all watched objects from this watcher.  <a href="#936590f0db311c3c2ca3a89b48bd6f5d"></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="structiObjectWatcher.html#40c88ef44bc3c23dabda55710ed5b22c">WatchLight</a> (<a class="el" href="structiLight.html">iLight</a> *light)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a light to watch.  <a href="#40c88ef44bc3c23dabda55710ed5b22c"></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="structiObjectWatcher.html#70912a07b6ad43129145f9a10fc4a68d">WatchMovable</a> (<a class="el" href="structiMovable.html">iMovable</a> *movable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a movable to watch.  <a href="#70912a07b6ad43129145f9a10fc4a68d"></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="structiObjectWatcher.html#c36010da8292e3354896911a48f658fb">WatchSector</a> (<a class="el" href="structiSector.html">iSector</a> *sector)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a sector to watch for meshes.  <a href="#c36010da8292e3354896911a48f658fb"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is a generic object watcher. 
<p>
Currently it can watch on light and movable changes. You can query if something has changed by examining the 'number' or else you can register a listener and get notified when one of the objects changes. This object will not keep real references to the objects it is watching but it will clean up the watcher for some object if that object is removed.<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="structiEngine.html#f7d937735a5c5908593be4160da057bf" title="Create an object watcher instance that you can use to watch other objects.">iEngine::CreateObjectWatcher()</a></li></ul>
<p>
Main users of this interface:<ul>
<li>Application </li></ul>

<p>Definition at line <a class="el" href="objwatch_8h-source.html#l00110">110</a> of file <a class="el" href="objwatch_8h-source.html">objwatch.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f7b0e0790f4b517be39d1cadb90b8fd0"></a><!-- doxytag: member="iObjectWatcher::AddListener" ref="f7b0e0790f4b517be39d1cadb90b8fd0" args="(iObjectWatcherListener *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::AddListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectWatcherListener.html">iObjectWatcherListener</a> *&nbsp;</td>
          <td class="paramname"> <em>cb</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 object watcher. 
<p>
This will call <a class="el" href="structiBase.html#426a2763702fbbc33a213f849042284a" title="Increment the number of references to this object.">IncRef()</a> on the listener So make sure you call <a class="el" href="structiBase.html#3a44d46ca155e6ab0c0179db01011bb0" title="Decrement the reference count.">DecRef()</a> to release your own reference. 
</div>
</div><p>
<a class="anchor" name="822352207475c765193e735551f4a8b2"></a><!-- doxytag: member="iObjectWatcher::GetLastLight" ref="822352207475c765193e735551f4a8b2" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiLight.html">iLight</a>* iObjectWatcher::GetLastLight           </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 last light. 
<p>
Only valid if the last operation (<a class="el" href="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea" title="Get the last operation that occured.">GetLastOperation()</a>) is one of CS_WATCH_LIGHT_.... 
</div>
</div><p>
<a class="anchor" name="75f0ec5076ee47fbdc9f886b339296f9"></a><!-- doxytag: member="iObjectWatcher::GetLastMeshWrapper" ref="75f0ec5076ee47fbdc9f886b339296f9" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>* iObjectWatcher::GetLastMeshWrapper           </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 last mesh. 
<p>
Only valid if the last operation (<a class="el" href="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea" title="Get the last operation that occured.">GetLastOperation()</a>) is one of CS_WATCH_SECTOR_.... 
</div>
</div><p>
<a class="anchor" name="a8a191faab68d6a3095bce56c1936dae"></a><!-- doxytag: member="iObjectWatcher::GetLastMovable" ref="a8a191faab68d6a3095bce56c1936dae" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMovable.html">iMovable</a>* iObjectWatcher::GetLastMovable           </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 last movable. 
<p>
Only valid if the last operation (<a class="el" href="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea" title="Get the last operation that occured.">GetLastOperation()</a>) is one of CS_WATCH_MOVABLE_.... 
</div>
</div><p>
<a class="anchor" name="2bdd6033cc33981d51c1102cb45383ea"></a><!-- doxytag: member="iObjectWatcher::GetLastOperation" ref="2bdd6033cc33981d51c1102cb45383ea" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iObjectWatcher::GetLastOperation           </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 last operation that occured. 
<p>
This will be one of:<ul>
<li><a class="el" href="group__engine3d.html#gf19919dc7b1b6c7a523b6620e83670fd" title="No operation recorded yet.">CS_WATCH_NONE</a>: nothing happened yet.</li><li><a class="el" href="group__engine3d.html#gdccbc62e797cb25bfe14ef222f504867" title="Light has been destroyed.">CS_WATCH_LIGHT_DESTROY</a>: light is destroyed.</li><li><a class="el" href="group__engine3d.html#g10e4bea496f896f60daefa06966db2ce" title="Light has moved.">CS_WATCH_LIGHT_MOVE</a>: light has moved.</li><li><a class="el" href="group__engine3d.html#gc9668c0bb1fc84aa262bc1085e5841f4" title="Light has changed color.">CS_WATCH_LIGHT_COLOR</a>: light has changed color.</li><li><a class="el" href="group__engine3d.html#g8c7a36ed25015ece3b2edd601b788c5c" title="Light has changed sector.">CS_WATCH_LIGHT_SECTOR</a>: light has changed sector.</li><li><a class="el" href="group__engine3d.html#g920bc40a590b7f2f5947aa1a2191bca1" title="Light has changed radius.">CS_WATCH_LIGHT_RADIUS</a>: light has changed radius.</li><li><a class="el" href="group__engine3d.html#ga121762f79786581b5b484bf69b4ba4d" title="Light has changed attenuation.">CS_WATCH_LIGHT_ATTENUATION</a>: light has changed radius.</li><li><a class="el" href="group__engine3d.html#g35e290c912b7a7190f362d1bdc023578" title="Movable has been destroyed.">CS_WATCH_MOVABLE_DESTROY</a>: movable is destroyed.</li><li><a class="el" href="group__engine3d.html#g3a82d1037a0f138a2b7f05063175549c" title="Movable has changed otherwise.">CS_WATCH_MOVABLE_CHANGED</a>: movable is changed.</li><li><a class="el" href="group__engine3d.html#gcb0f7061fef1ad8cf84814539c83ac36" title="Sector has a new mesh.">CS_WATCH_SECTOR_NEWMESH</a>: sector has a new mesh.</li><li><a class="el" href="group__engine3d.html#gc13c5f34ae0d4b97105fa7f1f91e20ce" title="Sector has a removed mesh.">CS_WATCH_SECTOR_REMOVEMESH</a>: a mesh got removed from the sector. </li></ul>

</div>
</div><p>
<a class="anchor" name="b507508d452eca55b59ea4ab3ee623e6"></a><!-- doxytag: member="iObjectWatcher::GetLastSector" ref="b507508d452eca55b59ea4ab3ee623e6" 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>* iObjectWatcher::GetLastSector           </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 last sector. 
<p>
Only valid if the last operation (<a class="el" href="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea" title="Get the last operation that occured.">GetLastOperation()</a>) is one of CS_WATCH_SECTOR_.... 
</div>
</div><p>
<a class="anchor" name="0587e23565ee7f073d39d98369aa2b7a"></a><!-- doxytag: member="iObjectWatcher::GetLight" ref="0587e23565ee7f073d39d98369aa2b7a" args="(int idx)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiLight.html">iLight</a>* iObjectWatcher::GetLight           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the specified watched light. 
<p>

</div>
</div><p>
<a class="anchor" name="8ac86b2ac17536b0820a13a9092e5580"></a><!-- doxytag: member="iObjectWatcher::GetMovable" ref="8ac86b2ac17536b0820a13a9092e5580" args="(int idx)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMovable.html">iMovable</a>* iObjectWatcher::GetMovable           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the specified watched movable. 
<p>

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

<p>
Get the specified watched sector. 
<p>

</div>
</div><p>
<a class="anchor" name="bb3f241e0d5821dff80aa72bf9daaef3"></a><!-- doxytag: member="iObjectWatcher::GetWatchedLightCount" ref="bb3f241e0d5821dff80aa72bf9daaef3" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iObjectWatcher::GetWatchedLightCount           </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 number of watched lights. 
<p>

</div>
</div><p>
<a class="anchor" name="a60a137cf1ac7cedd313e95d5a588902"></a><!-- doxytag: member="iObjectWatcher::GetWatchedMovableCount" ref="a60a137cf1ac7cedd313e95d5a588902" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iObjectWatcher::GetWatchedMovableCount           </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 number of watched movables. 
<p>

</div>
</div><p>
<a class="anchor" name="52f626ec9a4801f517af42d4c4cdb3eb"></a><!-- doxytag: member="iObjectWatcher::GetWatchedSectorCount" ref="52f626ec9a4801f517af42d4c4cdb3eb" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iObjectWatcher::GetWatchedSectorCount           </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 number of watched sectors. 
<p>

</div>
</div><p>
<a class="anchor" name="3d1ad7499e46845888c44ccdd65698d0"></a><!-- doxytag: member="iObjectWatcher::GetWatchNumber" ref="3d1ad7499e46845888c44ccdd65698d0" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> iObjectWatcher::GetWatchNumber           </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 number for his watcher. 
<p>
This number will increase as soon as some of the watched objects change. When this happens you can query the last change (only the last change!) by calling <a class="el" href="structiObjectWatcher.html#2bdd6033cc33981d51c1102cb45383ea" title="Get the last operation that occured.">GetLastOperation()</a> and/or <a class="el" href="structiObjectWatcher.html#822352207475c765193e735551f4a8b2" title="Get the last light.">GetLastLight()</a> or <a class="el" href="structiObjectWatcher.html#a8a191faab68d6a3095bce56c1936dae" title="Get the last movable.">GetLastMovable()</a>. Note that if the operation indicates that something is destroyed then you should no longer use the pointer returned by <a class="el" href="structiObjectWatcher.html#822352207475c765193e735551f4a8b2" title="Get the last light.">GetLastLight()</a> or <a class="el" href="structiObjectWatcher.html#a8a191faab68d6a3095bce56c1936dae" title="Get the last movable.">GetLastMovable()</a> as the object will already be gone by then. You can only use the returned pointer to clean up from internal data structures. 
</div>
</div><p>
<a class="anchor" name="d10ccf97d44623cdfc60f3a0e9c56602"></a><!-- doxytag: member="iObjectWatcher::RemoveLight" ref="d10ccf97d44623cdfc60f3a0e9c56602" args="(iLight *light)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::RemoveLight           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiLight.html">iLight</a> *&nbsp;</td>
          <td class="paramname"> <em>light</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a light to watch. 
<p>

</div>
</div><p>
<a class="anchor" name="9251fdd7322c0e724c575d4393577711"></a><!-- doxytag: member="iObjectWatcher::RemoveListener" ref="9251fdd7322c0e724c575d4393577711" args="(iObjectWatcherListener *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::RemoveListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectWatcherListener.html">iObjectWatcherListener</a> *&nbsp;</td>
          <td class="paramname"> <em>cb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a listener. 
<p>

</div>
</div><p>
<a class="anchor" name="65b44701723574b4f7715bbb5df1bad1"></a><!-- doxytag: member="iObjectWatcher::RemoveMovable" ref="65b44701723574b4f7715bbb5df1bad1" args="(iMovable *movable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::RemoveMovable           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMovable.html">iMovable</a> *&nbsp;</td>
          <td class="paramname"> <em>movable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a movable to watch. 
<p>

</div>
</div><p>
<a class="anchor" name="882c7d29c0610b8681482f6a3345ba15"></a><!-- doxytag: member="iObjectWatcher::RemoveSector" ref="882c7d29c0610b8681482f6a3345ba15" args="(iSector *sector)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::RemoveSector           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSector.html">iSector</a> *&nbsp;</td>
          <td class="paramname"> <em>sector</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a sector to watch. 
<p>

</div>
</div><p>
<a class="anchor" name="936590f0db311c3c2ca3a89b48bd6f5d"></a><!-- doxytag: member="iObjectWatcher::Reset" ref="936590f0db311c3c2ca3a89b48bd6f5d" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::Reset           </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>
Reset. Remove all watched objects from this watcher. 
<p>

</div>
</div><p>
<a class="anchor" name="40c88ef44bc3c23dabda55710ed5b22c"></a><!-- doxytag: member="iObjectWatcher::WatchLight" ref="40c88ef44bc3c23dabda55710ed5b22c" args="(iLight *light)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::WatchLight           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiLight.html">iLight</a> *&nbsp;</td>
          <td class="paramname"> <em>light</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a light to watch. 
<p>

</div>
</div><p>
<a class="anchor" name="70912a07b6ad43129145f9a10fc4a68d"></a><!-- doxytag: member="iObjectWatcher::WatchMovable" ref="70912a07b6ad43129145f9a10fc4a68d" args="(iMovable *movable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::WatchMovable           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMovable.html">iMovable</a> *&nbsp;</td>
          <td class="paramname"> <em>movable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a movable to watch. 
<p>

</div>
</div><p>
<a class="anchor" name="c36010da8292e3354896911a48f658fb"></a><!-- doxytag: member="iObjectWatcher::WatchSector" ref="c36010da8292e3354896911a48f658fb" args="(iSector *sector)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectWatcher::WatchSector           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSector.html">iSector</a> *&nbsp;</td>
          <td class="paramname"> <em>sector</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a sector to watch for meshes. 
<p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>iengine/<a class="el" href="objwatch_8h-source.html">objwatch.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>