aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/classNL3D_1_1CPointLightModel.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/classNL3D_1_1CPointLightModel.html')
-rw-r--r--docs/doxygen/nel/classNL3D_1_1CPointLightModel.html625
1 files changed, 625 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNL3D_1_1CPointLightModel.html b/docs/doxygen/nel/classNL3D_1_1CPointLightModel.html
new file mode 100644
index 00000000..0a130ffe
--- /dev/null
+++ b/docs/doxygen/nel/classNL3D_1_1CPointLightModel.html
@@ -0,0 +1,625 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>NL3D::CPointLightModel Class Reference</h1>This model is a dynamic light.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CPointLightModel:
+<p><center><img src="classNL3D_1_1CPointLightModel.gif" usemap="#NL3D::CPointLightModel_map" border="0"></center>
+<map name="NL3D::CPointLightModel_map">
+<area href="classNL3D_1_1CTransform.html" alt="NL3D::CTransform" shape="rect" coords="79,112,228,136">
+<area href="classNL3D_1_1IModel.html" alt="NL3D::IModel" shape="rect" coords="0,56,149,80">
+<area href="classNL3D_1_1ITransformable.html" alt="NL3D::ITransformable" shape="rect" coords="159,56,308,80">
+<area href="classNLMISC_1_1CRefCount.html" alt="NLMISC::CRefCount" shape="rect" coords="0,0,149,24">
+<area href="classNL3D_1_1IAnimatable.html" alt="NL3D::IAnimatable" shape="rect" coords="159,0,308,24">
+</map>
+<a href="classNL3D_1_1CPointLightModel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#a0">setDeltaPosToSkeletonWhenOutOfFrustum</a> (const CVector &amp;deltaPos)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>setup the deltaPosToSkeletonWhenOutOfFrustum When a light is sticked to a skeleton, and if this skeleton is clipped, then the position of the light can't be computed correctly without animating the skeleton.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>const CVector &amp;&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#a1">getDeltaPosToSkeletonWhenOutOfFrustum</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>see <a class="el" href="classNL3D_1_1CPointLightModel.html#a0">setDeltaPosToSkeletonWhenOutOfFrustum</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#d0">registerBasic</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Call at the begining of the program, to register the model, and the basic observers.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CPointLight.html">CPointLight</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#m0">PointLight</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The pointLight setup (color/attenuation).</em> <a href="#m0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#b0">CPointLightModel</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Constructor.</em> <a href="#b0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#b1">~CPointLightModel</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em> <a href="#b1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#b2">initModel</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implement the initModel method: link to the LightModelRoot.</em> <a href="#b2">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#c0">isHrcVisible</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>tells if the pointLightModel is not hidden by user actually, it is the result of hrc Visibility.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#c1">isClipVisible</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>tells if the pointLightModel has been clipped in the clip traversal.</em> <a href="#c1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1CTransformHrcObs.html">CTransformHrcObs</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#c2">getHrcObs</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>get the Hrc obs.</em> <a href="#c2">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Private Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IModel.html">IModel</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#f0">creator</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>CVector&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#o0">_DeltaPosToSkeletonWhenOutOfFrustum</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>see <a class="el" href="classNL3D_1_1CPointLightModel.html#a0">setDeltaPosToSkeletonWhenOutOfFrustum</a>().</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>CVector&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#o1">_LastWorldSpotDirectionWhenOutOfFrustum</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Same problem as _DeltaPosToSkeletonWhenOutOfFrustum, but this one is computed at each Visible frame.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#o2">_TimeFromLastClippedSpotDirection</a></td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1CPointLightModel.html#l0">CPointLightModelLightObs</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This model is a dynamic light.
+<p>
+It handles a PointLight, where Pos is the worldPos updated by <a class="el" href="classNL3D_1_1CScene.html">CScene</a> at each render(). <a class="el" href="classNL3D_1_1CPointLightModel.html">CPointLightModel</a> are linked to the LightModelRoot in the LightTrav. It can handles SpotLight too, see PointLight.
+<p>
+Hrc: Lights herit <a class="el" href="classNL3D_1_1CTransform.html">CTransform</a> so they can be put in hierarchy, even sticked to a skeleton. They can be hide, moved etc... (default <a class="el" href="classNL3D_1_1CTransform.html">CTransform</a>). Clip: Lights are always in frustum, not renderable (default <a class="el" href="classNL3D_1_1CTransform.html">CTransform</a>). Light: lightModels are not lightables (ie they can't be lighted). (default <a class="el" href="classNL3D_1_1CTransform.html">CTransform</a>). the observer is specialised.
+<p>
+PERFORMANCE WARNING: big lights (disabled attenuation and big attenuationEnd) slow down performances. (by experience, with a factor of 2).
+<p>
+<dl compact><dt><b>
+Author: </b><dd>
+Lionel Berenguier , Nevrax France </dl><dl compact><dt><b>
+Date: </b><dd>
+2001 </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00063">63</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="b0" doxytag="NL3D::CPointLightModel::CPointLightModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPointLightModel::CPointLightModel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00045">45</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>.
+<p>
+References <a class="el" href="point__light__model_8h-source.html#l00137">_DeltaPosToSkeletonWhenOutOfFrustum</a>, and <a class="el" href="point__light__model_8h-source.html#l00143">_TimeFromLastClippedSpotDirection</a>.
+<p>
+Referenced by <a class="el" href="point__light__model_8h-source.html#l00110">creator</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="NL3D::CPointLightModel::~CPointLightModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CPointLightModel::~CPointLightModel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00053">53</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="f0" doxytag="NL3D::CPointLightModel::creator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IModel.html">IModel</a>* NL3D::CPointLightModel::creator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="classNL3D_1_1CTransform.html#f0">NL3D::CTransform</a>.
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00110">110</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+References <a class="el" href="point__light__model_8cpp-source.html#l00045">CPointLightModel</a>, and <a class="el" href="mot_8cpp-source.html#l00464">NL3D::IModel::IModel</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="NL3D::CPointLightModel::getDeltaPosToSkeletonWhenOutOfFrustum"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const CVector &amp; NL3D::CPointLightModel::getDeltaPosToSkeletonWhenOutOfFrustum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+see <a class="el" href="classNL3D_1_1CPointLightModel.html#a0">setDeltaPosToSkeletonWhenOutOfFrustum</a>().
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00081">81</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>.
+<p>
+References <a class="el" href="point__light__model_8h-source.html#l00137">_DeltaPosToSkeletonWhenOutOfFrustum</a>. </td>
+ </tr>
+</table>
+<a name="c2" doxytag="NL3D::CPointLightModel::getHrcObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CTransformHrcObs.html">CTransformHrcObs</a>* NL3D::CPointLightModel::getHrcObs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the Hrc obs.
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00131">131</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+References <a class="el" href="transform_8h-source.html#l00558">NL3D::CTransform::_HrcObs</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="NL3D::CPointLightModel::initModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPointLightModel::initModel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Implement the initModel method: link to the LightModelRoot.
+<p>
+
+<p>
+Reimplemented from <a class="el" href="classNL3D_1_1CTransform.html#b3">NL3D::CTransform</a>.
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00059">59</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>.
+<p>
+References <a class="el" href="mot_8cpp-source.html#l00489">NL3D::IModel::getObs</a>, <a class="el" href="mot_8h-source.html#l00320">NL3D::IModel::IObs</a>, <a class="el" href="light__trav_8h-source.html#l00049">NL3D::LightTravId</a>, and <a class="el" href="debug_8h-source.html#l00254">nlassert</a>. </td>
+ </tr>
+</table>
+<a name="c1" doxytag="NL3D::CPointLightModel::isClipVisible"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPointLightModel::isClipVisible </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells if the pointLightModel has been clipped in the clip traversal.
+<p>
+actually, it is the result of hrc Visibility * Skeleton cliping.
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00124">124</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+References <a class="el" href="transform_8h-source.html#l00560">NL3D::CTransform::_ClipObs</a>. </td>
+ </tr>
+</table>
+<a name="c0" doxytag="NL3D::CPointLightModel::isHrcVisible"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CPointLightModel::isHrcVisible </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tells if the pointLightModel is not hidden by user actually, it is the result of hrc Visibility.
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00116">116</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+References <a class="el" href="transform_8h-source.html#l00558">NL3D::CTransform::_HrcObs</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="NL3D::CPointLightModel::registerBasic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPointLightModel::registerBasic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Call at the begining of the program, to register the model, and the basic observers.
+<p>
+
+<p>
+Reimplemented from <a class="el" href="classNL3D_1_1CTransform.html#d0">NL3D::CTransform</a>.
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00038">38</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>.
+<p>
+References <a class="el" href="light__trav_8h-source.html#l00049">NL3D::LightTravId</a>, <a class="el" href="point__light__model_8h-source.html#l00041">NL3D::PointLightModelId</a>, and <a class="el" href="transform_8h-source.html#l00075">NL3D::TransformId</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="NL3D::CPointLightModel::setDeltaPosToSkeletonWhenOutOfFrustum"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CPointLightModel::setDeltaPosToSkeletonWhenOutOfFrustum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CVector &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>deltaPos</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+setup the deltaPosToSkeletonWhenOutOfFrustum When a light is sticked to a skeleton, and if this skeleton is clipped, then the position of the light can't be computed correctly without animating the skeleton.
+<p>
+To allow good position of the light, and to avoid recomputing the skeleton even if it is clipped, the light position is set to skeletonMatrix * this "deltaPosToSkeletonWhenOutOfFrustum".
+<p>
+Default is (0, 0, 1.5). You may change this according to the approximate size of the skeleton (dwarf or giant), and you must take into account any mount (horse etc...). eg for a man on a elephant, a good value would be (0,0,5) :)
+<p>
+Definition at line <a class="el" href="point__light__model_8cpp-source.html#l00074">74</a> of file <a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a>.
+<p>
+References <a class="el" href="point__light__model_8h-source.html#l00137">_DeltaPosToSkeletonWhenOutOfFrustum</a>. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l0" doxytag="NL3D::CPointLightModel::CPointLightModelLightObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class CPointLightModelLightObs<code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00108">108</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="o0" doxytag="NL3D::CPointLightModel::_DeltaPosToSkeletonWhenOutOfFrustum"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CVector NL3D::CPointLightModel::_DeltaPosToSkeletonWhenOutOfFrustum<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+see <a class="el" href="classNL3D_1_1CPointLightModel.html#a0">setDeltaPosToSkeletonWhenOutOfFrustum</a>().
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00137">137</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+Referenced by <a class="el" href="point__light__model_8cpp-source.html#l00045">CPointLightModel</a>, <a class="el" href="point__light__model_8cpp-source.html#l00081">getDeltaPosToSkeletonWhenOutOfFrustum</a>, and <a class="el" href="point__light__model_8cpp-source.html#l00074">setDeltaPosToSkeletonWhenOutOfFrustum</a>. </td>
+ </tr>
+</table>
+<a name="o1" doxytag="NL3D::CPointLightModel::_LastWorldSpotDirectionWhenOutOfFrustum"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CVector NL3D::CPointLightModel::_LastWorldSpotDirectionWhenOutOfFrustum<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Same problem as _DeltaPosToSkeletonWhenOutOfFrustum, but this one is computed at each Visible frame.
+<p>
+And we interpolate between actual direction and backuped direction when the spot become visible (5 frames, hardcoded)
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00142">142</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>. </td>
+ </tr>
+</table>
+<a name="o2" doxytag="NL3D::CPointLightModel::_TimeFromLastClippedSpotDirection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NL3D::CPointLightModel::_TimeFromLastClippedSpotDirection<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00143">143</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>.
+<p>
+Referenced by <a class="el" href="point__light__model_8cpp-source.html#l00045">CPointLightModel</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="NL3D::CPointLightModel::PointLight"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1CPointLight.html">CPointLight</a> NL3D::CPointLightModel::PointLight
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The pointLight setup (color/attenuation).
+<p>
+Do not use PointLight.Pos to setup the position. Use the <a class="el" href="classNL3D_1_1CTransform.html">CTransform</a> interface to set the position. To enable SpotLight, use PointLight.setType(), and use PointLight.setSpotAngle() but don't use PointLight.setSpotDirection to setup the direction. The direction of the spotLight is driven by the J vector of the Transform WorldMatrix.
+<p>
+Definition at line <a class="el" href="point__light__model_8h-source.html#l00078">78</a> of file <a class="el" href="point__light__model_8h-source.html">point_light_model.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="point__light__model_8h-source.html">point_light_model.h</a><li><a class="el" href="point__light__model_8cpp-source.html">point_light_model.cpp</a></ul>
+
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>