Sophie

Sophie

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

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: CS::RenderViewClipper Class 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>
<div class="nav">
<a class="el" href="namespaceCS.html">CS</a>::<a class="el" href="classCS_1_1RenderViewClipper.html">RenderViewClipper</a></div>
<h1>CS::RenderViewClipper Class Reference</h1><!-- doxytag: class="CS::RenderViewClipper" -->Helper to clip in the context of a render view.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="rviewclipper_8h-source.html">cstool/rviewclipper.h</a>&gt;</code>
<p>

<p>
<a href="classCS_1_1RenderViewClipper-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#04e2f12e5808bd89d0737d9daf6b8c15">CalculateClipSettings</a> (<a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> frustum_mask, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a frustum_mask, calculate the clip settings.  <a href="#04e2f12e5808bd89d0737d9daf6b8c15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#f18ae33eb67190411237895022dc7653">CullBBox</a> (const <a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt, const <a class="el" href="classcsPlane3.html">csPlane3</a> *planes, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;frustum_mask, const <a class="el" href="classcsBox3.html">csBox3</a> &amp;obox, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the object space bounding box of an object is visible in this render view.  <a href="#f18ae33eb67190411237895022dc7653"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#833ed92d88f2efe001816c308d0cb954">CullBSphere</a> (<a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt, const <a class="el" href="classcsSphere.html">csSphere</a> &amp;cam_sphere, const <a class="el" href="classcsSphere.html">csSphere</a> &amp;world_sphere, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the given bounding sphere (in camera and world space coordinates) is visibile for the render context.  <a href="#833ed92d88f2efe001816c308d0cb954"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#0f12a7325d3fefca194b58741fc4708e">SetupClipPlanes</a> (<a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the clip planes for the current context and camera (in world space).  <a href="#0f12a7325d3fefca194b58741fc4708e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#7b7f37ea1d0d83b15b76e6231524e95c">SetupClipPlanes</a> (<a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt, const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;tr_o2c, <a class="el" href="classcsPlane3.html">csPlane3</a> *planes, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;frustum_mask)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup clipping planes in object space.  <a href="#7b7f37ea1d0d83b15b76e6231524e95c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html#4ab7bd73618280564b8e89ff58ea54b7">TestBSphere</a> (<a class="el" href="classcsRenderContext.html">csRenderContext</a> *ctxt, const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;w2c, const <a class="el" href="classcsSphere.html">csSphere</a> &amp;sphere)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the given bounding sphere (in world space coordinates) is visible for the render context.  <a href="#4ab7bd73618280564b8e89ff58ea54b7"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Helper to clip in the context of a render view. 
<p>
This class is mostly useful for mesh object implementors. 
<p>Definition at line <a class="el" href="rviewclipper_8h-source.html#l00035">35</a> of file <a class="el" href="rviewclipper_8h-source.html">rviewclipper.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="04e2f12e5808bd89d0737d9daf6b8c15"></a><!-- doxytag: member="CS::RenderViewClipper::CalculateClipSettings" ref="04e2f12e5808bd89d0737d9daf6b8c15" args="(csRenderContext *ctxt, uint32 frustum_mask, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void CS::RenderViewClipper::CalculateClipSettings           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>frustum_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_portal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_z_plane</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given a frustum_mask, calculate the clip settings. 
<p>

</div>
</div><p>
<a class="anchor" name="f18ae33eb67190411237895022dc7653"></a><!-- doxytag: member="CS::RenderViewClipper::CullBBox" ref="f18ae33eb67190411237895022dc7653" args="(const csRenderContext *ctxt, const csPlane3 *planes, uint32 &amp;frustum_mask, const csBox3 &amp;obox, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool CS::RenderViewClipper::CullBBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>planes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>frustum_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>obox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_portal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_z_plane</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the object space bounding box of an object is visible in this render view. 
<p>
If true is returned (visible) then clip_plane, clip_z_plane, and clip_portal will be set to the right value depending on wether or not clipping is wanted. This function also does far plane clipping. Use <a class="el" href="classCS_1_1RenderViewClipper.html#7b7f37ea1d0d83b15b76e6231524e95c" title="Setup clipping planes in object space.">SetupClipPlanes()</a> to get the clipping planes for this function. The frustum_mask will be modified according to all clip planes that were relevant for the given box. That can be used to hierarchically cull smaller objects. 
</div>
</div><p>
<a class="anchor" name="833ed92d88f2efe001816c308d0cb954"></a><!-- doxytag: member="CS::RenderViewClipper::CullBSphere" ref="833ed92d88f2efe001816c308d0cb954" args="(csRenderContext *ctxt, const csSphere &amp;cam_sphere, const csSphere &amp;world_sphere, int &amp;clip_portal, int &amp;clip_plane, int &amp;clip_z_plane)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool CS::RenderViewClipper::CullBSphere           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsSphere.html">csSphere</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cam_sphere</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsSphere.html">csSphere</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>world_sphere</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_portal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>clip_z_plane</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the given bounding sphere (in camera and world space coordinates) is visibile for the render context. 
<p>
If the sphere is visible this function will also initialize the clip_plane, clip_z_plane, and clip_portal fields which can be used for the renderer. 
</div>
</div><p>
<a class="anchor" name="0f12a7325d3fefca194b58741fc4708e"></a><!-- doxytag: member="CS::RenderViewClipper::SetupClipPlanes" ref="0f12a7325d3fefca194b58741fc4708e" args="(csRenderContext *ctxt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void CS::RenderViewClipper::SetupClipPlanes           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup the clip planes for the current context and camera (in world space). 
<p>

</div>
</div><p>
<a class="anchor" name="7b7f37ea1d0d83b15b76e6231524e95c"></a><!-- doxytag: member="CS::RenderViewClipper::SetupClipPlanes" ref="7b7f37ea1d0d83b15b76e6231524e95c" args="(csRenderContext *ctxt, const csReversibleTransform &amp;tr_o2c, csPlane3 *planes, uint32 &amp;frustum_mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void CS::RenderViewClipper::SetupClipPlanes           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>tr_o2c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsPlane3.html">csPlane3</a> *&nbsp;</td>
          <td class="paramname"> <em>planes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>frustum_mask</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup clipping planes in object space. 
<p>
The input arrays for planes should each be able to hold 10 planes. Returns a mask that you can use for the <a class="el" href="classcsIntersect3.html#43eade15453ad76c334c5a9419a190b6" title="Intersect an AABB with a frustum.">csIntersect3::BoxFrustum()</a> function. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000024">Deprecated:</a></b></dt><dd>Use <a class="el" href="classCS_1_1RenderViewClipper.html#7b7f37ea1d0d83b15b76e6231524e95c" title="Setup clipping planes in object space.">CS::RenderViewClipper::SetupClipPlanes()</a> instead. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4ab7bd73618280564b8e89ff58ea54b7"></a><!-- doxytag: member="CS::RenderViewClipper::TestBSphere" ref="4ab7bd73618280564b8e89ff58ea54b7" args="(csRenderContext *ctxt, const csReversibleTransform &amp;w2c, const csSphere &amp;sphere)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool CS::RenderViewClipper::TestBSphere           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsRenderContext.html">csRenderContext</a> *&nbsp;</td>
          <td class="paramname"> <em>ctxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>w2c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsSphere.html">csSphere</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sphere</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if the given bounding sphere (in world space coordinates) is visible for the render context. 
<p>
The optional will transform world to camera space. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>cstool/<a class="el" href="rviewclipper_8h-source.html">rviewclipper.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>