Sophie

Sophie

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

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: iSector 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>iSector Struct Reference<br>
<small>
[<a class="el" href="group__engine3d.html">Crystal Space 3D Engine</a>]</small>
</h1><!-- doxytag: class="iSector" --><!-- doxytag: inherits="iBase" -->The <a class="el" href="structiSector.html" title="The iSector interface is used to work with &quot;sectors&quot;.">iSector</a> interface is used to work with "sectors".  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="sector_8h-source.html">iengine/sector.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iSector:</div>
<div class="dynsection">
<p><center><img src="structiSector__inherit__graph.png" border="0" usemap="#iSector__inherit__map" alt="Inheritance graph"></center>
<map name="iSector__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="11,7,67,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiSector-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 <br>
<a class="el" href="structiShaderVariableContext.html">iShaderVariableContext</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#73245444de621fa082f1bd025b9b67bb">GetSVContext</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the shader variable context for this sector.  <a href="#73245444de621fa082f1bd025b9b67bb"></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="structiSector.html#5530d3176f4d1b306f177de355b0254f">PrecacheDraw</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function precaches a sector by rendering one frame with this sector visible.  <a href="#5530d3176f4d1b306f177de355b0254f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#2cfe19e91ce3163cd6688ee135135c31">QueryObject</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> for this sector.  <a href="#2cfe19e91ce3163cd6688ee135135c31"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Light culling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#da4d2dbb1b57c31c256f40a1d1c99ecf">AddLightVisibleCallback</a> (<a class="el" href="structiLightVisibleCallback.html">iLightVisibleCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback that is called whenever a light is visible.  <a href="#da4d2dbb1b57c31c256f40a1d1c99ecf"></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="structiSector.html#a04c1b9638f387ef5165abd10161587f">IsLightCullingEnabled</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if light culling objects are enabled.  <a href="#a04c1b9638f387ef5165abd10161587f"></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="structiSector.html#f8ea8f5595004c060405c24490b08916">RemoveLightVisibleCallback</a> (<a class="el" href="structiLightVisibleCallback.html">iLightVisibleCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a light visible callback.  <a href="#f8ea8f5595004c060405c24490b08916"></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="structiSector.html#9cf3e0c13b155828b7ecbb9671f580c4">SetLightCulling</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set/reset culling objects for all lights in the sector.  <a href="#9cf3e0c13b155828b7ecbb9671f580c4"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mesh handling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#604e622530fe3c4444bb7befab2ee43c">AddSectorMeshCallback</a> (<a class="el" href="structiSectorMeshCallback.html">iSectorMeshCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a mesh callback.  <a href="#604e622530fe3c4444bb7befab2ee43c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshList.html">iMeshList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#4e42a93965ed1c35036926ea6625ad4e">GetMeshes</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of meshes in this sector.  <a href="#4e42a93965ed1c35036926ea6625ad4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsSet.html">csSet</a><br>
&lt; <a class="el" href="classcsPtrKey.html">csPtrKey</a><br>
&lt; <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> &gt; &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#61e9a7508e4a9fbb456abad329a4323a">GetPortalMeshes</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the set of meshes containing portals that leave from this sector.  <a href="#61e9a7508e4a9fbb456abad329a4323a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classcsRenderMeshList.html">csRenderMeshList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#df1b5bca9ecb427b4473adab5d0adb27">GetVisibleMeshes</a> (<a class="el" href="structiRenderView.html">iRenderView</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a set of visible meshes for given camera.  <a href="#df1b5bca9ecb427b4473adab5d0adb27"></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="structiSector.html#af58d2f868d4e09b0d85938f8f836cd7">RemoveSectorMeshCallback</a> (<a class="el" href="structiSectorMeshCallback.html">iSectorMeshCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a mesh callback.  <a href="#af58d2f868d4e09b0d85938f8f836cd7"></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="structiSector.html#3820ed5b71d90a2a9a7c318263cf555b">UnlinkObjects</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unlink all mesh objects from this sector.  <a href="#3820ed5b71d90a2a9a7c318263cf555b"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Visculling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#5b55e0e2a0669fb57a287c2a28bca69c">CalculateSectorBBox</a> (<a class="el" href="classcsBox3.html">csBox3</a> &amp;bbox, bool do_meshes) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the bounding box of all objects in this sector.  <a href="#5b55e0e2a0669fb57a287c2a28bca69c"></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="structiSector.html#799f47128e89730f8e3c712e65a0f6ad">CheckFrustum</a> (<a class="el" href="structiFrustumView.html">iFrustumView</a> *lview)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check visibility in a frustum way for all things and polygons in this sector and possibly traverse through portals to other sectors.  <a href="#799f47128e89730f8e3c712e65a0f6ad"></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="structiSector.html#7892ff0f7a1656f7f585ebde321f5acf">FollowSegment</a> (<a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;t, <a class="el" href="classcsVector3.html">csVector3</a> &amp;new_position, bool &amp;mirror, bool only_portals=false)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Follow a segment starting at this sector.  <a href="#7892ff0f7a1656f7f585ebde321f5acf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiVisibilityCuller.html">iVisibilityCuller</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#73d8eeeb501ce328da2bf5ec5ef03424">GetVisibilityCuller</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the visibility culler that is used for this sector.  <a href="#73d8eeeb501ce328da2bf5ec5ef03424"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structcsSectorHitBeamResult.html">csSectorHitBeamResult</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#1f9077b16a785db4db8176e0c9c36ed2">HitBeam</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;start, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;end, bool accurate=false)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Follow a beam from start to end and return the first object that is hit.  <a href="#1f9077b16a785db4db8176e0c9c36ed2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structcsSectorHitBeamResult.html">csSectorHitBeamResult</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#b5bd7bb8a6cb9a117ab3b266929dafb6">HitBeamPortals</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;start, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;end)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Follow a beam from start to end and return the first polygon that is hit.  <a href="#b5bd7bb8a6cb9a117ab3b266929dafb6"></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="structiSector.html#6de240ef220d4f16db189e85d106f625">SetVisibilityCullerPlugin</a> (const char *name, <a class="el" href="structiDocumentNode.html">iDocumentNode</a> *culler_params=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use the specified plugin as the visibility culler for this sector.  <a href="#6de240ef220d4f16db189e85d106f625"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Mesh generator handling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#4be5f0385b0fa4abe92d5ec42bb1f208">CreateMeshGenerator</a> (const char *name)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a mesh generator.  <a href="#4be5f0385b0fa4abe92d5ec42bb1f208"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#16b64e7b9e25413ae9f4c9dd1c50a823">GetMeshGenerator</a> (size_t idx)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specific mesh generator.  <a href="#16b64e7b9e25413ae9f4c9dd1c50a823"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#8e89bb1406959d4c505c7162519f748b">GetMeshGeneratorByName</a> (const char *name)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specific mesh generator by name.  <a href="#8e89bb1406959d4c505c7162519f748b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#c4421cd09f4bccb6e98aae5fca3c702f">GetMeshGeneratorCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of mesh generators.  <a href="#c4421cd09f4bccb6e98aae5fca3c702f"></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="structiSector.html#2e6e50cf9cfeec88e3b4ee0231cf5962">RemoveMeshGenerator</a> (size_t idx)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a mesh generator.  <a href="#2e6e50cf9cfeec88e3b4ee0231cf5962"></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="structiSector.html#68b49ef326c76a19cb50b7b8a84869f6">RemoveMeshGenerators</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all mesh generators.  <a href="#68b49ef326c76a19cb50b7b8a84869f6"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Drawing related</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#31693696db7569dba12fa17e91cd0d1f">DecRecLevel</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove one draw recursion level.  <a href="#31693696db7569dba12fa17e91cd0d1f"></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="structiSector.html#688880e04de47b4e65b94c8b52602bb0">Draw</a> (<a class="el" href="structiRenderView.html">iRenderView</a> *rview)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw the sector with the given render view.  <a href="#688880e04de47b4e65b94c8b52602bb0"></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="structiSector.html#f35b966b5def8a83628074c9fdf4fec3">GetRecLevel</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current draw recursion level.  <a href="#f35b966b5def8a83628074c9fdf4fec3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiRenderLoop.html">iRenderLoop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#afc7002d02b023a813a1594e2d60edd2">GetRenderLoop</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the renderloop for this sector.  <a href="#afc7002d02b023a813a1594e2d60edd2"></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="structiSector.html#c1083d1ffea7758027898aa94249f485">IncRecLevel</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add one draw recursion level.  <a href="#c1083d1ffea7758027898aa94249f485"></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="structiSector.html#72352a154e3c66aedce95465886a3f2c">PrepareDraw</a> (<a class="el" href="structiRenderView.html">iRenderView</a> *rview)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare the sector to draw.  <a href="#72352a154e3c66aedce95465886a3f2c"></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="structiSector.html#37277386f6b10ec40cc6ac31b0cdcd93">SetRenderLoop</a> (<a class="el" href="structiRenderLoop.html">iRenderLoop</a> *rl)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the renderloop to use for this sector.  <a href="#37277386f6b10ec40cc6ac31b0cdcd93"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Fog handling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#ca4b06506020fd2af7ecf3088d137b35">DisableFog</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable fog in this sector.  <a href="#ca4b06506020fd2af7ecf3088d137b35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="structcsFog.html">csFog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#cd8d75aa30c154e861633a10a32f3584">GetFog</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the fog structure (even if fog is disabled).  <a href="#cd8d75aa30c154e861633a10a32f3584"></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="structiSector.html#ba7fb0763e5e37f0ff4d7975615f2e0c">HasFog</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has this sector fog?  <a href="#ba7fb0763e5e37f0ff4d7975615f2e0c"></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="structiSector.html#5dbba0d2f2e31de4ea3ded8634457f3d">SetFog</a> (const <a class="el" href="structcsFog.html">csFog</a> &amp;fog)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a fog structure directly.  <a href="#5dbba0d2f2e31de4ea3ded8634457f3d"></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="structiSector.html#60f1c4665f14946550b90527308a9ed4">SetFog</a> (float density, const <a class="el" href="classcsColor.html">csColor</a> &amp;color)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill the fog structure with the given values.  <a href="#60f1c4665f14946550b90527308a9ed4"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Light handling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsColor.html">csColor</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#9dff10bc1df035dc8856c4d3b0aef502">GetDynamicAmbientLight</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last set dynamic ambient light for this sector.  <a href="#9dff10bc1df035dc8856c4d3b0aef502"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#6af1804c9626080845f4544b6b61c96f">GetDynamicAmbientVersion</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the dynamic ambient color.  <a href="#6af1804c9626080845f4544b6b61c96f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiLightList.html">iLightList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#e36d55cdd6b57528a6e94744a242107b">GetLights</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of static and pseudo-dynamic lights in this sector.  <a href="#e36d55cdd6b57528a6e94744a242107b"></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="structiSector.html#e6b0b9c0e2f4d2a87d27d6f84e6631f1">SetDynamicAmbientLight</a> (const <a class="el" href="classcsColor.html">csColor</a> &amp;color)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets dynamic ambient light this sector.  <a href="#e6b0b9c0e2f4d2a87d27d6f84e6631f1"></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="structiSector.html#8bc37c560bfbc15e3239c5fde3d30595">ShineLights</a> (<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of <a class="el" href="structiSector.html#584bace18c68db2c7a2b4fbb681502fd" title="Calculate lighting for all objects in this sector.">ShineLights()</a> which only affects one mesh object.  <a href="#8bc37c560bfbc15e3239c5fde3d30595"></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="structiSector.html#584bace18c68db2c7a2b4fbb681502fd">ShineLights</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate lighting for all objects in this sector.  <a href="#584bace18c68db2c7a2b4fbb681502fd"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Sector callbacks</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiSectorCallback.html">iSectorCallback</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiSector.html#56b1269635770047897aa0e446ee9145">GetSectorCallback</a> (int idx) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the specified sector callback.  <a href="#56b1269635770047897aa0e446ee9145"></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="structiSector.html#70d0bfd88a853633daf86c395d786e86">GetSectorCallbackCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of sector callbacks.  <a href="#70d0bfd88a853633daf86c395d786e86"></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="structiSector.html#98ede9be5ff621334de87e7e9a22c2d6">RemoveSectorCallback</a> (<a class="el" href="structiSectorCallback.html">iSectorCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a sector callback.  <a href="#98ede9be5ff621334de87e7e9a22c2d6"></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="structiSector.html#bef15c237a6055c508acb7937af4543e">SetSectorCallback</a> (<a class="el" href="structiSectorCallback.html">iSectorCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sector callback.  <a href="#bef15c237a6055c508acb7937af4543e"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="structiSector.html" title="The iSector interface is used to work with &quot;sectors&quot;.">iSector</a> interface is used to work with "sectors". 
<p>
A "sector" is an empty region of space that can contain other objects (mesh objects). A sector itself does not represent geometry but only contains other geometry. A sector does contain lights though. The sector is the basic building block for any Crystal Space level. A level can be made from one or more sectors. Using the thing mesh object one can use portals to connect multiple sectors.<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="structiEngine.html#113d382d5c896b93edb14b5971c1e7f0" title="Create a empty sector with given name.">iEngine::CreateSector()</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="structiEngine.html#0ce30b8875cfd591b3ba404d5dd37736" title="Find the given sector.">iEngine::FindSector()</a></li><li><a class="el" href="structiSectorList.html#71e586708f0cb83c986c979740751024" title="Return a sector by index.">iSectorList::Get()</a></li><li><a class="el" href="structiSectorList.html#3a9f8c5dac3eee679819da1439bb8bf8" title="Find a sector by name.">iSectorList::FindByName()</a></li><li><a class="el" href="structiLoaderContext.html#dafbd84b11845b7884dba5c21b4bf906" title="Find a sector.">iLoaderContext::FindSector()</a></li><li><a class="el" href="structiPortal.html#d848a8dfc044cea3880e9b3ea283e230" title="Return the sector that this portal points too.">iPortal::GetSector()</a></li><li><a class="el" href="structiCamera.html#212a03b2c86fadbb6d38c926abec9c7c" title="Get the current sector.">iCamera::GetSector()</a></li></ul>
<p>
Main users of this interface:<ul>
<li><a class="el" href="structiEngine.html" title="This interface is the main interface to the 3D engine.">iEngine</a> </li></ul>

<p>Definition at line <a class="el" href="sector_8h-source.html#l00188">188</a> of file <a class="el" href="sector_8h-source.html">sector.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="da4d2dbb1b57c31c256f40a1d1c99ecf"></a><!-- doxytag: member="iSector::AddLightVisibleCallback" ref="da4d2dbb1b57c31c256f40a1d1c99ecf" args="(iLightVisibleCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::AddLightVisibleCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiLightVisibleCallback.html">iLightVisibleCallback</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 callback that is called whenever a light is visible. 
<p>
This only works if <a class="el" href="structiSector.html#9cf3e0c13b155828b7ecbb9671f580c4" title="Set/reset culling objects for all lights in the sector.">SetLightCulling()</a> is enabled. 
</div>
</div><p>
<a class="anchor" name="604e622530fe3c4444bb7befab2ee43c"></a><!-- doxytag: member="iSector::AddSectorMeshCallback" ref="604e622530fe3c4444bb7befab2ee43c" args="(iSectorMeshCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::AddSectorMeshCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSectorMeshCallback.html">iSectorMeshCallback</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 mesh callback. 
<p>
This will call <a class="el" href="structiBase.html#426a2763702fbbc33a213f849042284a" title="Increment the number of references to this object.">IncRef()</a> on the callback 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="5b55e0e2a0669fb57a287c2a28bca69c"></a><!-- doxytag: member="iSector::CalculateSectorBBox" ref="5b55e0e2a0669fb57a287c2a28bca69c" args="(csBox3 &amp;bbox, bool do_meshes) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::CalculateSectorBBox           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>do_meshes</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 the bounding box of all objects in this sector. 
<p>
This function is not very efficient as it will traverse all objects in the sector one by one and compute a bounding box from that. 
</div>
</div><p>
<a class="anchor" name="799f47128e89730f8e3c712e65a0f6ad"></a><!-- doxytag: member="iSector::CheckFrustum" ref="799f47128e89730f8e3c712e65a0f6ad" args="(iFrustumView *lview)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::CheckFrustum           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiFrustumView.html">iFrustumView</a> *&nbsp;</td>
          <td class="paramname"> <em>lview</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check visibility in a frustum way for all things and polygons in this sector and possibly traverse through portals to other sectors. 
<p>

</div>
</div><p>
<a class="anchor" name="4be5f0385b0fa4abe92d5ec42bb1f208"></a><!-- doxytag: member="iSector::CreateMeshGenerator" ref="4be5f0385b0fa4abe92d5ec42bb1f208" args="(const char *name)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a>* iSector::CreateMeshGenerator           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a mesh generator. 
<p>

</div>
</div><p>
<a class="anchor" name="31693696db7569dba12fa17e91cd0d1f"></a><!-- doxytag: member="iSector::DecRecLevel" ref="31693696db7569dba12fa17e91cd0d1f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::DecRecLevel           </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>
Remove one draw recursion level. 
<p>

</div>
</div><p>
<a class="anchor" name="ca4b06506020fd2af7ecf3088d137b35"></a><!-- doxytag: member="iSector::DisableFog" ref="ca4b06506020fd2af7ecf3088d137b35" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::DisableFog           </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>
Disable fog in this sector. 
<p>

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

<p>
Draw the sector with the given render view. 
<p>

</div>
</div><p>
<a class="anchor" name="7892ff0f7a1656f7f585ebde321f5acf"></a><!-- doxytag: member="iSector::FollowSegment" ref="7892ff0f7a1656f7f585ebde321f5acf" args="(csReversibleTransform &amp;t, csVector3 &amp;new_position, bool &amp;mirror, bool only_portals=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiSector.html">iSector</a>* iSector::FollowSegment           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>new_position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>mirror</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>only_portals</em> = <code>false</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>
Follow a segment starting at this sector. 
<p>
If the segment intersects with a polygon it will stop there unless the polygon is a portal in which case it will recursively go to that sector (possibly applying warping transformations) and continue there.<p>
This routine will modify all the given parameters to reflect space warping. These should be used as the new camera transformation when you decide to really go to the new position.<p>
This function returns the resulting sector and new_position will be set to the last position that you can go to before hitting a wall.<p>
If only_portals is true then only portals will be checked. This means that intersection with normal polygons is not checked. This is a lot faster but it does mean that you need to use another collision detection system to test with walls. 
</div>
</div><p>
<a class="anchor" name="9dff10bc1df035dc8856c4d3b0aef502"></a><!-- doxytag: member="iSector::GetDynamicAmbientLight" ref="9dff10bc1df035dc8856c4d3b0aef502" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsColor.html">csColor</a> iSector::GetDynamicAmbientLight           </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 set dynamic ambient light for this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="6af1804c9626080845f4544b6b61c96f"></a><!-- doxytag: member="iSector::GetDynamicAmbientVersion" ref="6af1804c9626080845f4544b6b61c96f" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> iSector::GetDynamicAmbientVersion           </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 version number of the dynamic ambient color. 
<p>
This number is increased whenever dynamic ambient changes. 
</div>
</div><p>
<a class="anchor" name="cd8d75aa30c154e861633a10a32f3584"></a><!-- doxytag: member="iSector::GetFog" ref="cd8d75aa30c154e861633a10a32f3584" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structcsFog.html">csFog</a>&amp; iSector::GetFog           </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 fog structure (even if fog is disabled). 
<p>

</div>
</div><p>
<a class="anchor" name="e36d55cdd6b57528a6e94744a242107b"></a><!-- doxytag: member="iSector::GetLights" ref="e36d55cdd6b57528a6e94744a242107b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiLightList.html">iLightList</a>* iSector::GetLights           </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 list of static and pseudo-dynamic lights in this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="4e42a93965ed1c35036926ea6625ad4e"></a><!-- doxytag: member="iSector::GetMeshes" ref="4e42a93965ed1c35036926ea6625ad4e" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshList.html">iMeshList</a>* iSector::GetMeshes           </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 list of meshes in this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="16b64e7b9e25413ae9f4c9dd1c50a823"></a><!-- doxytag: member="iSector::GetMeshGenerator" ref="16b64e7b9e25413ae9f4c9dd1c50a823" args="(size_t idx)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a>* iSector::GetMeshGenerator           </td>
          <td>(</td>
          <td class="paramtype">size_t&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 specific mesh generator. 
<p>

</div>
</div><p>
<a class="anchor" name="8e89bb1406959d4c505c7162519f748b"></a><!-- doxytag: member="iSector::GetMeshGeneratorByName" ref="8e89bb1406959d4c505c7162519f748b" args="(const char *name)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshGenerator.html">iMeshGenerator</a>* iSector::GetMeshGeneratorByName           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the specific mesh generator by name. 
<p>

</div>
</div><p>
<a class="anchor" name="c4421cd09f4bccb6e98aae5fca3c702f"></a><!-- doxytag: member="iSector::GetMeshGeneratorCount" ref="c4421cd09f4bccb6e98aae5fca3c702f" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t iSector::GetMeshGeneratorCount           </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 mesh generators. 
<p>

</div>
</div><p>
<a class="anchor" name="61e9a7508e4a9fbb456abad329a4323a"></a><!-- doxytag: member="iSector::GetPortalMeshes" ref="61e9a7508e4a9fbb456abad329a4323a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsSet.html">csSet</a>&lt;<a class="el" href="classcsPtrKey.html">csPtrKey</a>&lt;<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>&gt; &gt;&amp; iSector::GetPortalMeshes           </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 set of meshes containing portals that leave from this sector. 
<p>
Note that portals are uni-directional. The portals represented by this list are portals that are on some mesh object that is actually located in this sector. 
</div>
</div><p>
<a class="anchor" name="f35b966b5def8a83628074c9fdf4fec3"></a><!-- doxytag: member="iSector::GetRecLevel" ref="f35b966b5def8a83628074c9fdf4fec3" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iSector::GetRecLevel           </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 draw recursion level. 
<p>

</div>
</div><p>
<a class="anchor" name="afc7002d02b023a813a1594e2d60edd2"></a><!-- doxytag: member="iSector::GetRenderLoop" ref="afc7002d02b023a813a1594e2d60edd2" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiRenderLoop.html">iRenderLoop</a>* iSector::GetRenderLoop           </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 renderloop for this sector. 
<p>
If this returns 0 then it means there is no specific renderloop for this sector. In that case the default renderloop in the engine will be used. 
</div>
</div><p>
<a class="anchor" name="56b1269635770047897aa0e446ee9145"></a><!-- doxytag: member="iSector::GetSectorCallback" ref="56b1269635770047897aa0e446ee9145" args="(int idx) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiSectorCallback.html">iSectorCallback</a>* iSector::GetSectorCallback           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div><p>
<a class="anchor" name="70d0bfd88a853633daf86c395d786e86"></a><!-- doxytag: member="iSector::GetSectorCallbackCount" ref="70d0bfd88a853633daf86c395d786e86" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iSector::GetSectorCallbackCount           </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 sector callbacks. 
<p>

</div>
</div><p>
<a class="anchor" name="73245444de621fa082f1bd025b9b67bb"></a><!-- doxytag: member="iSector::GetSVContext" ref="73245444de621fa082f1bd025b9b67bb" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiShaderVariableContext.html">iShaderVariableContext</a>* iSector::GetSVContext           </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 shader variable context for this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="73d8eeeb501ce328da2bf5ec5ef03424"></a><!-- doxytag: member="iSector::GetVisibilityCuller" ref="73d8eeeb501ce328da2bf5ec5ef03424" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiVisibilityCuller.html">iVisibilityCuller</a>* iSector::GetVisibilityCuller           </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 visibility culler that is used for this sector. 
<p>
If there is no culler yet a culler of type 'crystalspace.culling.frustvis' will be created and used for this sector. 
</div>
</div><p>
<a class="anchor" name="df1b5bca9ecb427b4473adab5d0adb27"></a><!-- doxytag: member="iSector::GetVisibleMeshes" ref="df1b5bca9ecb427b4473adab5d0adb27" args="(iRenderView *)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsRenderMeshList.html">csRenderMeshList</a>* iSector::GetVisibleMeshes           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiRenderView.html">iRenderView</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>
Get a set of visible meshes for given camera. 
<p>
These will be cached for a given frame and camera, but if the cached result isn't enough it will be reculled. The returned pointer is valid as long as the sector exists (the sector will delete it) 
</div>
</div><p>
<a class="anchor" name="ba7fb0763e5e37f0ff4d7975615f2e0c"></a><!-- doxytag: member="iSector::HasFog" ref="ba7fb0763e5e37f0ff4d7975615f2e0c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iSector::HasFog           </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>
Has this sector fog? 
<p>

</div>
</div><p>
<a class="anchor" name="1f9077b16a785db4db8176e0c9c36ed2"></a><!-- doxytag: member="iSector::HitBeam" ref="1f9077b16a785db4db8176e0c9c36ed2" args="(const csVector3 &amp;start, const csVector3 &amp;end, bool accurate=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structcsSectorHitBeamResult.html">csSectorHitBeamResult</a> iSector::HitBeam           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>start</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>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>accurate</em> = <code>false</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>
Follow a beam from start to end and return the first object that is hit. 
<p>
In case it is a thing the polygon_idx field will be filled with the indices of the polygon that was hit. If polygon_idx is null then the polygon will not be filled in. This function doesn't support portals. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structcsSectorHitBeamResult.html" title="Return structure for the iSector-&gt;HitBeam() routines.">csSectorHitBeamResult</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="b5bd7bb8a6cb9a117ab3b266929dafb6"></a><!-- doxytag: member="iSector::HitBeamPortals" ref="b5bd7bb8a6cb9a117ab3b266929dafb6" args="(const csVector3 &amp;start, const csVector3 &amp;end)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structcsSectorHitBeamResult.html">csSectorHitBeamResult</a> iSector::HitBeamPortals           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>start</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>end</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>
Follow a beam from start to end and return the first polygon that is hit. 
<p>
This function correctly traverse portals and space warping portals. Normally the sector you call this on should be the sector containing the 'start' point. 'isect' will be the intersection point if a polygon is returned. This function returns -1 if no polygon was hit or the polygon index otherwise. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structcsSectorHitBeamResult.html" title="Return structure for the iSector-&gt;HitBeam() routines.">csSectorHitBeamResult</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="c1083d1ffea7758027898aa94249f485"></a><!-- doxytag: member="iSector::IncRecLevel" ref="c1083d1ffea7758027898aa94249f485" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::IncRecLevel           </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>
Add one draw recursion level. 
<p>

</div>
</div><p>
<a class="anchor" name="a04c1b9638f387ef5165abd10161587f"></a><!-- doxytag: member="iSector::IsLightCullingEnabled" ref="a04c1b9638f387ef5165abd10161587f" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iSector::IsLightCullingEnabled           </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 light culling objects are enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="5530d3176f4d1b306f177de355b0254f"></a><!-- doxytag: member="iSector::PrecacheDraw" ref="5530d3176f4d1b306f177de355b0254f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::PrecacheDraw           </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>
This function precaches a sector by rendering one frame with this sector visible. 
<p>
This will speed up later rendering. 
</div>
</div><p>
<a class="anchor" name="72352a154e3c66aedce95465886a3f2c"></a><!-- doxytag: member="iSector::PrepareDraw" ref="72352a154e3c66aedce95465886a3f2c" args="(iRenderView *rview)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::PrepareDraw           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiRenderView.html">iRenderView</a> *&nbsp;</td>
          <td class="paramname"> <em>rview</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepare the sector to draw. 
<p>
Must be called before any rendermesh is requested. 
</div>
</div><p>
<a class="anchor" name="2cfe19e91ce3163cd6688ee135135c31"></a><!-- doxytag: member="iSector::QueryObject" ref="2cfe19e91ce3163cd6688ee135135c31" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* iSector::QueryObject           </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 <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> for this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="f8ea8f5595004c060405c24490b08916"></a><!-- doxytag: member="iSector::RemoveLightVisibleCallback" ref="f8ea8f5595004c060405c24490b08916" args="(iLightVisibleCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::RemoveLightVisibleCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiLightVisibleCallback.html">iLightVisibleCallback</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 light visible callback. 
<p>

</div>
</div><p>
<a class="anchor" name="2e6e50cf9cfeec88e3b4ee0231cf5962"></a><!-- doxytag: member="iSector::RemoveMeshGenerator" ref="2e6e50cf9cfeec88e3b4ee0231cf5962" args="(size_t idx)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::RemoveMeshGenerator           </td>
          <td>(</td>
          <td class="paramtype">size_t&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>
Remove a mesh generator. 
<p>

</div>
</div><p>
<a class="anchor" name="68b49ef326c76a19cb50b7b8a84869f6"></a><!-- doxytag: member="iSector::RemoveMeshGenerators" ref="68b49ef326c76a19cb50b7b8a84869f6" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::RemoveMeshGenerators           </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>
Remove all mesh generators. 
<p>

</div>
</div><p>
<a class="anchor" name="98ede9be5ff621334de87e7e9a22c2d6"></a><!-- doxytag: member="iSector::RemoveSectorCallback" ref="98ede9be5ff621334de87e7e9a22c2d6" args="(iSectorCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::RemoveSectorCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSectorCallback.html">iSectorCallback</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 sector callback. 
<p>

</div>
</div><p>
<a class="anchor" name="af58d2f868d4e09b0d85938f8f836cd7"></a><!-- doxytag: member="iSector::RemoveSectorMeshCallback" ref="af58d2f868d4e09b0d85938f8f836cd7" args="(iSectorMeshCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::RemoveSectorMeshCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSectorMeshCallback.html">iSectorMeshCallback</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 mesh callback. 
<p>

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

<p>
Sets dynamic ambient light this sector. 
<p>
This works in addition to the dynamic light you can specify for every object. 
</div>
</div><p>
<a class="anchor" name="5dbba0d2f2e31de4ea3ded8634457f3d"></a><!-- doxytag: member="iSector::SetFog" ref="5dbba0d2f2e31de4ea3ded8634457f3d" args="(const csFog &amp;fog)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::SetFog           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structcsFog.html">csFog</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>fog</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a fog structure directly. 
<p>

</div>
</div><p>
<a class="anchor" name="60f1c4665f14946550b90527308a9ed4"></a><!-- doxytag: member="iSector::SetFog" ref="60f1c4665f14946550b90527308a9ed4" args="(float density, const csColor &amp;color)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::SetFog           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsColor.html">csColor</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</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>
Fill the fog structure with the given values. 
<p>

</div>
</div><p>
<a class="anchor" name="9cf3e0c13b155828b7ecbb9671f580c4"></a><!-- doxytag: member="iSector::SetLightCulling" ref="9cf3e0c13b155828b7ecbb9671f580c4" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::SetLightCulling           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set/reset culling objects for all lights in the sector. 
<p>
This can be used for hardware accelerated lighting techniques that want to know what lights (influence object) are visible for camera. With this enabled every light will be registered to the culler of this sector and a callback (see AddLightVisibleCallback) will be called. 
</div>
</div><p>
<a class="anchor" name="37277386f6b10ec40cc6ac31b0cdcd93"></a><!-- doxytag: member="iSector::SetRenderLoop" ref="37277386f6b10ec40cc6ac31b0cdcd93" args="(iRenderLoop *rl)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::SetRenderLoop           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiRenderLoop.html">iRenderLoop</a> *&nbsp;</td>
          <td class="paramname"> <em>rl</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the renderloop to use for this sector. 
<p>
If this is not set then the default engine renderloop will be used. 
</div>
</div><p>
<a class="anchor" name="bef15c237a6055c508acb7937af4543e"></a><!-- doxytag: member="iSector::SetSectorCallback" ref="bef15c237a6055c508acb7937af4543e" args="(iSectorCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::SetSectorCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiSectorCallback.html">iSectorCallback</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>
Set the sector callback. 
<p>
This will call <a class="el" href="structiBase.html#426a2763702fbbc33a213f849042284a" title="Increment the number of references to this object.">IncRef()</a> on the callback 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="6de240ef220d4f16db189e85d106f625"></a><!-- doxytag: member="iSector::SetVisibilityCullerPlugin" ref="6de240ef220d4f16db189e85d106f625" args="(const char *name, iDocumentNode *culler_params=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iSector::SetVisibilityCullerPlugin           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiDocumentNode.html">iDocumentNode</a> *&nbsp;</td>
          <td class="paramname"> <em>culler_params</em> = <code>0</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>
Use the specified plugin as the visibility culler for this sector. 
<p>
Returns false if the culler could not be loaded for some reason. The optional culler parameters will be given to the new visibility culler. 
</div>
</div><p>
<a class="anchor" name="8bc37c560bfbc15e3239c5fde3d30595"></a><!-- doxytag: member="iSector::ShineLights" ref="8bc37c560bfbc15e3239c5fde3d30595" args="(iMeshWrapper *)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::ShineLights           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</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>
Version of <a class="el" href="structiSector.html#584bace18c68db2c7a2b4fbb681502fd" title="Calculate lighting for all objects in this sector.">ShineLights()</a> which only affects one mesh object. 
<p>

</div>
</div><p>
<a class="anchor" name="584bace18c68db2c7a2b4fbb681502fd"></a><!-- doxytag: member="iSector::ShineLights" ref="584bace18c68db2c7a2b4fbb681502fd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::ShineLights           </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>
Calculate lighting for all objects in this sector. 
<p>

</div>
</div><p>
<a class="anchor" name="3820ed5b71d90a2a9a7c318263cf555b"></a><!-- doxytag: member="iSector::UnlinkObjects" ref="3820ed5b71d90a2a9a7c318263cf555b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iSector::UnlinkObjects           </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>
Unlink all mesh objects from this sector. 
<p>
This will not remove the mesh objects but simply unlink them so that they are no longer part of this sector. This happens automatically when the sector is removed but you can force it by calling this function here. 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>iengine/<a class="el" href="sector_8h-source.html">sector.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>