diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/ps__located_8h-source.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/ps__located_8h-source.html | 748 |
1 files changed, 748 insertions, 0 deletions
diff --git a/docs/doxygen/nel/ps__located_8h-source.html b/docs/doxygen/nel/ps__located_8h-source.html new file mode 100644 index 00000000..50a0cd00 --- /dev/null +++ b/docs/doxygen/nel/ps__located_8h-source.html @@ -0,0 +1,748 @@ +<!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> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </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> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </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> + + +<!-- 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> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <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> </center> +<hr><h1>ps_located.h</h1><a href="ps__located_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2001 Nevrax Ltd.</font> +00008 <font class="comment"> *</font> +00009 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00013 <font class="comment"> * any later version.</font> +00014 <font class="comment"></font> +00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"></font> +00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00023 <font class="comment"> * MA 02111-1307, USA.</font> +00024 <font class="comment"> */</font> +00025 +00026 <font class="preprocessor">#ifndef NL_PARTICLE_SYSTEM_LOCATED_H</font> +00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_PARTICLE_SYSTEM_LOCATED_H</font> +00028 <font class="preprocessor"></font> +00029 <font class="preprocessor">#include <stack></font> +00030 +00031 <font class="preprocessor">#include "<a class="code" href="types__nl_8h.html">nel/misc/types_nl.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="vector_8h.html">nel/misc/vector.h</a>"</font> +00033 <font class="preprocessor">#include "<a class="code" href="particle__system__process_8h.html">3d/particle_system_process.h</a>"</font> +00034 <font class="preprocessor">#include "<a class="code" href="ps__attrib_8h.html">3d/ps_attrib.h</a>"</font> <font class="comment">// an attribute template container</font> +00035 <font class="preprocessor">#include "<a class="code" href="ps__lod_8h.html">3d/ps_lod.h</a>"</font> +00036 <font class="preprocessor">#include "<a class="code" href="stream_8h.html">nel/misc/stream.h</a>"</font> +00037 +00038 <font class="keyword">namespace </font>NLMISC +00039 { +00040 <font class="keyword">class </font>CAABBox; +00041 <font class="keyword">class </font>CMatrix; +00042 } +00043 +00044 +00045 +00046 +00047 +00048 +00049 <font class="keyword">namespace </font>NL3D +00050 { +00051 +00052 +00053 +00054 <font class="keyword">template</font> <<font class="keyword">class</font> T> <font class="keyword">class </font>CPSAttribMaker; +00055 +00056 +00057 <font class="keyword">class </font>CPSLocatedBindable; +00058 <font class="keyword">class </font>CPSTargetLocatedBindable; +00059 <font class="keyword">class </font>CPSZone; +00060 <font class="keyword">class </font>CPSForce; +00061 <font class="keyword">class </font>IDriver; +00062 <font class="keyword">class </font>CFontManager; +00063 <font class="keyword">class </font>CFontGenerator; +00064 <font class="keyword">class </font>CScene; +00065 +00066 +00067 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a200">DefaultMaxLocatedInstance</a> = 1; <font class="comment">// the default value for a located container</font> +00068 +00069 +00070 +00073 +<a name="l00074"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html">00074</a> <font class="keyword">struct </font>CPSCollisionInfo +00075 { +00076 +<a name="l00077"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m0">00077</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m0">TimeSliceRatio</a>; +00082 <font class="comment">// distance to the collisionner along the speed vector</font> +<a name="l00083"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m1">00083</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m1">dist</a>; +00084 <font class="comment">// new pos and speed, valid if a collision occured</font> +<a name="l00085"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m3">00085</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m2">newPos</a>, <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m3">newSpeed</a>; +00086 +<a name="l00091"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m4">00091</a> CPSZone *<a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m4">collisionZone</a>; +00092 +<a name="l00093"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a0">00093</a> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a0">CPSCollisionInfo</a>() +00094 { +00095 <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a1">reset</a>(); +00096 } +<a name="l00097"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a1">00097</a> <font class="keywordtype">void</font> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a1">reset</a>(<font class="keywordtype">void</font>) +00098 { +00099 <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m1">dist</a> = -1; +00100 <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m0">TimeSliceRatio</a> = 1.0f; +00101 } +00102 +<a name="l00103"></a><a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a2">00103</a> <font class="keywordtype">void</font> <a class="code" href="structNL3D_1_1CPSCollisionInfo.html#a2">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00104 { +00105 f.serialVersion(1); +00106 f.serial(<a class="code" href="structNL3D_1_1CPSCollisionInfo.html#m1">dist</a>, newPos, newSpeed); +00107 } +00108 }; +00109 +00110 +00112 <font class="keyword">typedef</font> CPSAttrib<CPSCollisionInfo> <a class="code" href="namespaceNL3D.html#a201">TPSAttribCollisionInfo</a>; +00113 +00114 +00115 +00116 +00117 +<a name="l00128"></a><a class="code" href="classNL3D_1_1CPSLocated.html">00128</a> <font class="keyword">class </font>CPSLocated : <font class="keyword">public</font> CParticleSystemProcess +00129 { +00130 <font class="keyword">public</font>: +00132 <a class="code" href="classNL3D_1_1CPSLocated.html#a0">CPSLocated</a>(); +00133 +00135 +00136 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a1">~CPSLocated</a>(); +00137 +00142 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a2">bind</a>(CPSLocatedBindable *lb); +00143 +00148 CPSLocatedBindable *<a class="code" href="classNL3D_1_1CPSLocated.html#a3">unbind</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>); +00149 +00151 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a4">isBound</a>(<font class="keyword">const</font> CPSLocatedBindable *lb) <font class="keyword">const</font>; +00152 +00156 uint <a class="code" href="classNL3D_1_1CPSLocated.html#a5">getIndexOf</a>(<font class="keyword">const</font> CPSLocatedBindable *lb) <font class="keyword">const</font>; +00157 +00162 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a6">remove</a>(<font class="keyword">const</font> CPSLocatedBindable *lb); +00163 +00168 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a7">releaseRefTo</a>(<font class="keyword">const</font> <a class="code" href="classNL3D_1_1CParticleSystemProcess.html#z663_0">CParticleSystemProcess</a> *other); +00169 +00174 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a8">releaseAllRef</a>(); +00175 +00176 +<a name="l00180"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a9">00180</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a9">getNbBoundObjects</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>.size(); } +00181 +<a name="l00185"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a10">00185</a> <font class="keyword">const</font> CPSLocatedBindable *<a class="code" href="classNL3D_1_1CPSLocated.html#a10">getBoundObject</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const </font> +00186 <font class="keyword"> </font>{ +00187 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> < <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>.size()); +00188 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>]; +00189 } +00190 +00191 +<a name="l00195"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a11">00195</a> CPSLocatedBindable *<a class="code" href="classNL3D_1_1CPSLocated.html#a10">getBoundObject</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) +00196 { +00197 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> < <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>.size()); +00198 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>]; +00199 } +00200 +00201 +00217 sint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a12">newElement</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &pos = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a>, +00218 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &speed = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a>, +00219 <a class="code" href="classNL3D_1_1CPSLocated.html#a0">CPSLocated</a> *emitterLocated = NULL, +00220 uint32 indexInEmitter = 0, +00221 <font class="keywordtype">bool</font> basisConversionForSpeed = <font class="keyword">true</font>, +00222 <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime = 0.f); +00223 +00224 +00230 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a13">deleteElement</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>); +00231 +00232 +00234 CScene *<a class="code" href="classNL3D_1_1CPSLocated.html#a14">getScene</a>(<font class="keywordtype">void</font>); +00235 +00237 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a15">getLODVect</a>(<a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>, <font class="keywordtype">float</font> &<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>, <font class="keywordtype">bool</font> systemBasis); +00238 +00239 +00243 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a16">incrementNbDrawnParticles</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a410">num</a>); +00244 +00245 +<a name="l00252"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a17">00252</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a17">getNewElementIndex</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n5">_Size</a>; } +00253 +00254 +00260 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a18">computeBBox</a>(<a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &aabbox) <font class="keyword">const</font>; +00261 +00262 +00263 +00268 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a19">setInitialLife</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> lifeTime); +00269 +00275 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a20">setLifeScheme</a>(CPSAttribMaker<float> *scheme); +00276 +<a name="l00278"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a21">00278</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="classNL3D_1_1CPSLocated.html#a21">getInitialLife</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n14">_InitialLife</a>; } +00279 +<a name="l00281"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a22">00281</a> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#a22">getLifeScheme</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n15">_LifeScheme</a>; } +<a name="l00282"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a23">00282</a> <font class="keyword">const</font> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#a22">getLifeScheme</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n15">_LifeScheme</a>; } +00283 +00284 +00288 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a24">setInitialMass</a>(<font class="keywordtype">float</font> mass); +00289 +00294 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a25">setMassScheme</a>(CPSAttribMaker<float> *scheme); +00295 +<a name="l00297"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a26">00297</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a26">getInitialMass</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n16">_InitialMass</a>; } +00298 +<a name="l00300"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a27">00300</a> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#a27">getMassScheme</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n17">_MassScheme</a>; } +<a name="l00301"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a28">00301</a> <font class="keyword">const</font> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#a27">getMassScheme</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n17">_MassScheme</a>; } +00302 +00303 +00304 +<a name="l00306"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a29">00306</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a29">setLastForever</a>(<font class="keywordtype">void</font>) +00307 { +00308 <a class="code" href="classNL3D_1_1CPSLocated.html#n6">_LastForever</a> = <font class="keyword">true</font>; +00309 } +<a name="l00311"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a30">00311</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a30">getLastForever</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n6">_LastForever</a>; } +00312 +<a name="l00314"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a31">00314</a> <a class="code" href="namespaceNL3D.html#a182">TPSAttribFloat</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a31">getInvMass</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n7">_InvMass</a>; } +<a name="l00316"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a32">00316</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a182">TPSAttribFloat</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a31">getInvMass</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n7">_InvMass</a>; } +00317 +<a name="l00319"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a33">00319</a> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a33">getPos</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n8">_Pos</a>; } +<a name="l00321"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a34">00321</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a33">getPos</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n8">_Pos</a>; } +00322 +<a name="l00324"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a35">00324</a> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a35">getSpeed</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n9">_Speed</a>; } +<a name="l00326"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a36">00326</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a35">getSpeed</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n9">_Speed</a>; } +00327 +<a name="l00329"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a37">00329</a> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a37">getTime</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n10">_Time</a>; } +<a name="l00331"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a38">00331</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a37">getTime</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n10">_Time</a>; } +00332 +<a name="l00334"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a39">00334</a> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a39">getTimeIncrement</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n11">_TimeIncrement</a>; } +<a name="l00336"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a40">00336</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a39">getTimeIncrement</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n11">_TimeIncrement</a>; } +00337 +00341 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a41">step</a>(<a class="code" href="namespaceNL3D.html#a484">TPSProcessPass</a> pass, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> realEt); +00342 +00343 +00344 +<a name="l00346"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a42">00346</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a42">getSize</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font> +00347 <font class="keyword"> </font>{ +00348 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n5">_Size</a>; +00349 } +00350 +<a name="l00354"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a43">00354</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a43">getMaxSize</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font> +00355 <font class="keyword"> </font>{ +00356 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n4">_MaxSize</a>; +00357 } +00358 +<a name="l00364"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a44">00364</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a44">setFrameRate</a>(uint32 nbFramesToSkip = 0) { <a class="code" href="classNL3D_1_1CPSLocated.html#n2">_NbFramesToSkip</a> = nbFramesToSkip; } +00365 +00366 <font class="comment">// retrieve the frame rate</font> +<a name="l00367"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a45">00367</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a45">getFrameRate</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n2">_NbFramesToSkip</a>; } +00368 +00369 +00373 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a46">resize</a>(uint32 newSize); +00374 +00376 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a47">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +00377 +00379 IDriver *<a class="code" href="classNL3D_1_1CPSLocated.html#a48">getDriver</a>() <font class="keyword">const</font>; +00380 +00382 <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a49">getUserParam</a>(uint numParam) <font class="keyword">const</font>; +00383 +00384 +00385 +00386 <a class="code" href="classNL3D_1_1CPSLocated.html#a50">NLMISC_DECLARE_CLASS</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#a0">CPSLocated</a>); +00387 +00389 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a51">setupDriverModelMatrix</a>(<font class="keywordtype">void</font>) ; +00390 +00394 <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocated.html#a52">computeI</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> ; +00395 +00399 <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocated.html#a53">computeJ</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> ; +00400 +00404 <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocated.html#a54">computeK</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> ; +00405 +00413 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a55">queryCollisionInfo</a>(<font class="keywordtype">void</font>); +00414 +00416 +00417 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a56">releaseCollisionInfo</a>(<font class="keywordtype">void</font>); +00418 +<a name="l00420"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a57">00420</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a57">hasCollisionInfos</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a> != NULL; } +00421 +<a name="l00423"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a58">00423</a> <a class="code" href="namespaceNL3D.html#a201">TPSAttribCollisionInfo</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a58">getCollisionInfo</a>(<font class="keywordtype">void</font>) +00424 { +00425 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>); +00426 <font class="keywordflow">return</font> *<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>; +00427 } +00428 +<a name="l00430"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a59">00430</a> <font class="keyword">const</font> <a class="code" href="namespaceNL3D.html#a201">TPSAttribCollisionInfo</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a58">getCollisionInfo</a>(<font class="keywordtype">void</font>)<font class="keyword"> const</font> +00431 <font class="keyword"> </font>{ +00432 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>); +00433 <font class="keywordflow">return</font> *<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>; +00434 } +00435 +00436 +00442 <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a60">collisionUpdate</a>(<font class="keyword">const</font> CPSCollisionInfo &ci, uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>); +00443 +00447 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#d0">getConversionMatrix</a>(<font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a0">CPSLocated</a> *A, <font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a0">CPSLocated</a> *B); +00448 +00449 +00450 +00451 +00460 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a61">registerDtorObserver</a>(CPSLocatedBindable *observer); +00461 +00462 +00466 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a62">unregisterDtorObserver</a>(CPSLocatedBindable *anObserver); +00467 +00468 +00469 +<a name="l00471"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a63">00471</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a63">setName</a>(<font class="keyword">const</font> std::string &name) { <a class="code" href="classNL3D_1_1CPSLocated.html#n1">_Name</a> = name; } +00472 +<a name="l00474"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a64">00474</a> std::string <a class="code" href="classNL3D_1_1CPSLocated.html#a64">getName</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n1">_Name</a>; } +00475 +00476 +00478 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a65">hasParticles</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00479 +00481 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a66">hasEmitters</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00482 +<a name="l00488"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a67">00488</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a67">forceLODDegradation</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CPSLocated.html#n21">_LODDegradation</a> = enable; } +00489 +<a name="l00493"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a68">00493</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a68">hasLODDegradation</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n21">_LODDegradation</a>; } +00494 +00495 +00497 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a69">notifyMaxNumFacesChanged</a>(<font class="keywordtype">void</font>); +00498 +00500 <font class="keyword">virtual</font> uint <a class="code" href="classNL3D_1_1CPSLocated.html#a70">querryMaxWantedNumFaces</a>(<font class="keywordtype">void</font>); +00501 +00505 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a71">setSystemBasis</a>(<font class="keywordtype">bool</font> sysBasis = <font class="keyword">true</font>); +00506 +00508 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a72">supportParametricMotion</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00509 +00513 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a73">enableParametricMotion</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>); +00514 +<a name="l00516"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a74">00516</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a74">isParametricMotionEnabled</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n27">_ParametricMotion</a>;} +00517 +00519 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a75">performParametricMotion</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> date, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> realEllapsedTime); +00520 +00522 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a76">updateLife</a>(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime); +00523 +00527 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a77">integrateSingle</a>(<font class="keywordtype">float</font> startDate, <font class="keywordtype">float</font> deltaT, uint numStep, +00528 uint32 indexInLocated, +00529 <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> *destPos, +00530 uint posStride = <font class="keyword">sizeof</font>(<a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a>)); +00531 +<a name="l00533"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a78">00533</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a78">enableTriggerOnDeath</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CPSLocated.html#n25">_TriggerOnDeath</a> = enable; } +00534 +<a name="l00536"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a79">00536</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a79">isTriggerOnDeathEnabled</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n25">_TriggerOnDeath</a>; } +00537 +<a name="l00539"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a80">00539</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a80">setTriggerEmitterID</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>) +00540 { +00541 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#n25">_TriggerOnDeath</a>); +00542 <a class="code" href="classNL3D_1_1CPSLocated.html#n26">_TriggerID</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>; +00543 } +00544 +<a name="l00546"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a81">00546</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#a81">getTriggerEmitterID</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font> +00547 <font class="keyword"> </font>{ +00548 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#n25">_TriggerOnDeath</a>); +00549 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n26">_TriggerID</a>; +00550 } +00551 +00552 +00553 +00554 <font class="keyword">protected</font>: +00555 +00556 +<a name="l00557"></a><a class="code" href="classNL3D_1_1CPSLocated.html#l0">00557</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CPSLocated.html#l0">CPSForce</a>; <font class="comment">// this is intended only for integrable forces that want to use</font> +00558 <font class="comment">// registerIntegrableForce, and removeIntegrableForce</font> +00559 +<a name="l00561"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n0">00561</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n0">_MaxNumFaces</a>; +00562 +<a name="l00563"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n1">00563</a> std::string <a class="code" href="classNL3D_1_1CPSLocated.html#n1">_Name</a>; +00564 +00565 <font class="comment">// number of frame to skip between motion ...</font> +<a name="l00566"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n2">00566</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n2">_NbFramesToSkip</a>; +00567 +00568 <font class="comment">// container of all object that are bound to a located</font> +<a name="l00569"></a><a class="code" href="classNL3D_1_1CPSLocated.html#t0">00569</a> <font class="keyword">typedef</font> std::vector< CPSLocatedBindable *> <a class="code" href="classNL3D_1_1CPSLocated.html#t0">TLocatedBoundCont</a>; +00570 +00571 +00572 <font class="comment">// the list of all located</font> +<a name="l00573"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n3">00573</a> <a class="code" href="classNL3D_1_1CPSLocated.html#t0">TLocatedBoundCont</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n3">_LocatedBoundCont</a>; +00574 +00575 <font class="comment">// max number of instance in the container</font> +<a name="l00576"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n4">00576</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n4">_MaxSize</a>; +00577 +00578 <font class="comment">// current number of instances in the container</font> +00579 +<a name="l00580"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n5">00580</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n5">_Size</a>; +00581 +00582 +00583 <font class="comment">// = true if the located can't die (gravity for instance...)</font> +<a name="l00584"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n6">00584</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n6">_LastForever</a>; +00585 +00586 <font class="comment">// needed atributes for a located</font> +00587 +00588 <font class="comment">// a container of masses. the inverse for mass are used in order to speed up forces computation</font> +<a name="l00589"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n7">00589</a> <a class="code" href="namespaceNL3D.html#a182">TPSAttribFloat</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n7">_InvMass</a>; +<a name="l00590"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n8">00590</a> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n8">_Pos</a> ; +<a name="l00591"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n9">00591</a> <a class="code" href="namespaceNL3D.html#a180">TPSAttribVector</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n9">_Speed</a>; +<a name="l00592"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n10">00592</a> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n10">_Time</a> ; +<a name="l00593"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n11">00593</a> <a class="code" href="namespaceNL3D.html#a185">TPSAttribTime</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n11">_TimeIncrement</a> ; +00594 +00595 +00596 <font class="keyword">public</font>:; +00597 +<a name="l00601"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html">00601</a> <font class="keyword">struct </font>CParametricInfo +00602 { +<a name="l00603"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#a0">00603</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#a0">CParametricInfo</a>() {} +<a name="l00604"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#a1">00604</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#a0">CParametricInfo</a>(<a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> pos, <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> speed, <font class="keywordtype">float</font> date) +00605 : <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m0">Pos</a>(pos), <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m1">Speed</a>(speed), <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m2">Date</a>(date) +00606 { +00607 } +<a name="l00608"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m0">00608</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m0">Pos</a>; <font class="comment">// the inital pos of emission</font> +<a name="l00609"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m1">00609</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m1">Speed</a>; <font class="comment">// the inital direction of emission</font> +<a name="l00610"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m2">00610</a> <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CParametricInfo.html#m2">Date</a>; <font class="comment">// the initial date of emission</font> +00611 }; +00612 +<a name="l00614"></a><a class="code" href="classNL3D_1_1CPSLocated.html#s0">00614</a> <font class="keyword">typedef</font> CPSAttrib<CParametricInfo> <a class="code" href="classNL3D_1_1CPSLocated.html#s0">TPSAttribParametricInfo</a>; +00615 +<a name="l00619"></a><a class="code" href="classNL3D_1_1CPSLocated.html#m0">00619</a> CPSAttrib<CParametricInfo> <a class="code" href="classNL3D_1_1CPSLocated.html#m0">_PInfo</a>; +00620 +00621 <font class="keyword">protected</font>: +00622 +<a name="l00626"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n12">00626</a> <a class="code" href="namespaceNL3D.html#a201">TPSAttribCollisionInfo</a> *<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>; +00627 +00628 +00629 +00630 <font class="comment">// nb of users of the _CollisionInfo field</font> +<a name="l00631"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n13">00631</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n13">_CollisionInfoNbRef</a>; +00632 +00633 +00634 <font class="comment">// the life to use, or a scheme that generate it</font> +00635 <font class="comment">// if the scheme if null, initial life is used instead</font> +<a name="l00636"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n14">00636</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n14">_InitialLife</a>; +<a name="l00637"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n15">00637</a> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#n15">_LifeScheme</a>; +00638 +00639 <font class="comment">// the mass to use, or a scheme that generate it</font> +00640 <font class="comment">// if the scheme if null, initial mass is used instead</font> +<a name="l00641"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n16">00641</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n16">_InitialMass</a>; +<a name="l00642"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n17">00642</a> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSLocated.html#n17">_MassScheme</a>; +00643 +00644 +00645 +00646 +<a name="l00648"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html">00648</a> <font class="keyword">struct </font>CPostNewElementRequestInfo +00649 { +<a name="l00650"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#m0">00650</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#m0">_Pos</a>; +<a name="l00651"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#m1">00651</a> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#m1">_Speed</a>; +<a name="l00652"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#a0">00652</a> <font class="keywordtype">void</font> <a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#a0">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00653 { +00654 f.serial(_Pos, _Speed); +00655 } +<a name="l00656"></a><a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#a1">00656</a> <a class="code" href="structNL3D_1_1CPSLocated_1_1CPostNewElementRequestInfo.html#a1">CPostNewElementRequestInfo</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &pos = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a>, <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &speed = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a>) : _Pos(pos), _Speed(speed) {} +00657 }; +00658 +<a name="l00659"></a><a class="code" href="classNL3D_1_1CPSLocated.html#t1">00659</a> <font class="keyword">typedef</font> std::stack<CPostNewElementRequestInfo> <a class="code" href="classNL3D_1_1CPSLocated.html#t1">TNewElementRequestStack</a>; +00660 +<a name="l00662"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n18">00662</a> <a class="code" href="classNL3D_1_1CPSLocated.html#t1">TNewElementRequestStack</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n18">_RequestStack</a>; +00663 +00665 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b0">updateNewElementRequestStack</a>(<font class="keywordtype">void</font>); +00666 +00667 +<a name="l00676"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n19">00676</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n19">_UpdateLock</a>; +00677 +00684 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b1">postNewElement</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &pos = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a> +00685 , <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> &speed = <a class="code" href="classNLMISC_1_1CVector.html#p0">NLMISC::CVector::Null</a>); +00686 +00687 +00689 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b2">resetCollisionInfo</a>(<font class="keywordtype">void</font>); +00690 +<a name="l00691"></a><a class="code" href="classNL3D_1_1CPSLocated.html#t2">00691</a> <font class="keyword">typedef</font> std::vector<CPSLocatedBindable *> <a class="code" href="classNL3D_1_1CPSLocated.html#t2">TDtorObserversVect</a>; +<a name="l00692"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n20">00692</a> <a class="code" href="classNL3D_1_1CPSLocated.html#t2">TDtorObserversVect</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n20">_DtorObserversVect</a>; +00693 +<a name="l00695"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n21">00695</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n21">_LODDegradation</a>; +00696 +<a name="l00700"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n22">00700</a> uint16 <a class="code" href="classNL3D_1_1CPSLocated.html#n22">_NonIntegrableForceNbRefs</a>; +<a name="l00702"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n23">00702</a> uint16 <a class="code" href="classNL3D_1_1CPSLocated.html#n23">_NumIntegrableForceWithDifferentBasis</a>; +<a name="l00704"></a><a class="code" href="classNL3D_1_1CPSLocated.html#t3">00704</a> <font class="keyword">typedef</font> std::vector<CPSForce *> <a class="code" href="classNL3D_1_1CPSLocated.html#t3">TForceVect</a>; +<a name="l00705"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n24">00705</a> <a class="code" href="classNL3D_1_1CPSLocated.html#t3">TForceVect</a> <a class="code" href="classNL3D_1_1CPSLocated.html#n24">_IntegrableForces</a>; +<a name="l00706"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n25">00706</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n25">_TriggerOnDeath</a>; +<a name="l00707"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n26">00707</a> uint32 <a class="code" href="classNL3D_1_1CPSLocated.html#n26">_TriggerID</a>; +00708 +<a name="l00710"></a><a class="code" href="classNL3D_1_1CPSLocated.html#n27">00710</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocated.html#n27">_ParametricMotion</a>; +00711 +00713 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b3">allocateParametricInfos</a>(<font class="keywordtype">void</font>); +00714 +00716 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b4">releaseParametricInfos</a>(<font class="keywordtype">void</font>); +00717 +00719 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#b5">notifyMotionTypeChanged</a>(<font class="keywordtype">void</font>); +00720 <font class="keyword">public</font>: +00722 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a82">registerIntegrableForce</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#l0">CPSForce</a> *f); +00723 +00725 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a83">unregisterIntegrableForce</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#l0">CPSForce</a> *f); +00726 +00728 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a84">integrableForceBasisChanged</a>(<font class="keywordtype">bool</font> basis); +00729 +00731 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a85">addNonIntegrableForceRef</a>(<font class="keywordtype">void</font>); +00732 +00734 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocated.html#a86">releaseNonIntegrableForceRef</a>(<font class="keywordtype">void</font>); +00735 +<a name="l00737"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a87">00737</a> <a class="code" href="classNL3D_1_1CPSLocated.html#s0">TPSAttribParametricInfo</a> &<a class="code" href="classNL3D_1_1CPSLocated.html#a87">getParametricInfos</a>() { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocated.html#m0">_PInfo</a>; } +00738 }; +00739 +00740 +00741 +00743 <font class="comment">// IMPLEMENTATION OF INLINE METHODS //</font> +00745 <font class="comment"></font> +<a name="l00746"></a><a class="code" href="classNL3D_1_1CPSLocated.html#a60">00746</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> CPSLocated::collisionUpdate(<font class="keyword">const</font> CPSCollisionInfo &ci, uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) +00747 { +00748 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocated.html#n12">_CollisionInfo</a>); +00749 CPSCollisionInfo &firstCi = (*_CollisionInfo)[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>]; +00750 <font class="keywordflow">if</font> (firstCi.dist == -1 || ci.dist < firstCi.dist) +00751 { +00752 firstCi = ci; +00753 } +00754 } +00755 +00756 +00757 +00758 +00759 <font class="comment">//******************************************************************************************</font> +00760 <font class="comment">//******************************************************************************************</font> +00761 <font class="comment">//******************************************************************************************</font> +00762 +00763 +00764 +00765 <font class="comment">// bindable types are not encoded as an enum in order to provide</font> +00766 <font class="comment">// easy extensibility</font> +00767 +00768 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a202">PSForce</a> = 0 ; +00769 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a203">PSParticle</a> = 1; +00770 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a204">PSEmitter</a> = 2; +00771 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a205">PSLight</a> = 3; +00772 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a206">PSZone</a> = 4; +00773 <font class="keyword">const</font> uint32 <a class="code" href="namespaceNL3D.html#a207">PSSound</a> = 5; +00774 +00775 +<a name="l00781"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html">00781</a> <font class="keyword">class </font>CPSLocatedBindable : <font class="keyword">public</font> NLMISC::IStreamable +00782 { +00783 <font class="keyword">public</font>: +00785 +00786 +00787 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#z720_0">CPSLocatedBindable</a>(); +00789 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#z720_1">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +<a name="l00794"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#z720_2">00794</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#z720_2">finalize</a>(<font class="keywordtype">void</font>) {} +00796 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#z720_3">~CPSLocatedBindable</a>(); +00798 +<a name="l00799"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a0">00799</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a0">setActive</a>(<font class="keywordtype">bool</font> active) { <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n4">_Active</a> = active; } +<a name="l00800"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a1">00800</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a1">isActive</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n4">_Active</a>; } +00805 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a2">getType</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> = 0; +00810 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a3">getPriority</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> = 0; +00812 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a4">step</a>(<a class="code" href="namespaceNL3D.html#a484">TPSProcessPass</a> pass, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> realEt) = 0; +00822 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a5">notifyTargetRemoved</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *ptr); +00823 +<a name="l00827"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a6">00827</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a6">releaseRefTo</a>(<font class="keyword">const</font> CParticleSystemProcess *other) {} +00828 +00832 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a7">releaseAllRef</a>(); +00833 <font class="comment">/***</font> +00834 <font class="comment"> * The following is used to complete an aabbox that was computed using the located positions</font> +00835 <font class="comment"> * You may not need to do anything with that, unless your bindable has a space extents. For exAmple,</font> +00836 <font class="comment"> * with a particle which has a radius of 2, you must enlarge the bbox to get the correct one.</font> +00837 <font class="comment"> * The default behaviour does nothing</font> +00838 <font class="comment"> * \return true if you modified the bbox</font> +00839 <font class="comment"> */</font> +<a name="l00840"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a8">00840</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a8">completeBBox</a>(<a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &box)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="keyword">false</font> ;} +00841 <font class="comment">/***</font> +00842 <font class="comment"> * Override the following to say that you don't want to be part of a bbox computation</font> +00843 <font class="comment"> */</font> +<a name="l00844"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a9">00844</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a9">doesProduceBBox</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="keyword">true</font>; } +<a name="l00846"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a10">00846</a> IDriver *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a10">getDriver</a>()<font class="keyword"> const </font> +00847 <font class="keyword"> </font>{ +00848 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>); +00849 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->getDriver()); +00850 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->getDriver(); +00851 } +<a name="l00853"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a11">00853</a> CFontGenerator *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a11">getFontGenerator</a>(<font class="keywordtype">void</font>) +00854 { +00855 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>); +00856 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->getFontGenerator(); +00857 } +00858 +<a name="l00860"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a12">00860</a> <font class="keyword">const</font> CFontGenerator *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a11">getFontGenerator</a>(<font class="keywordtype">void</font>)<font class="keyword"> const</font> +00861 <font class="keyword"> </font>{ +00862 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>); +00863 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->getFontGenerator(); +00864 } +00865 +00867 CFontManager *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a13">getFontManager</a>(<font class="keywordtype">void</font>); +00868 +00870 <font class="keyword">const</font> CFontManager *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a13">getFontManager</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00871 +00873 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a15">getSysMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00875 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a16">getInvertedSysMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00879 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a17">getLocatedMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00883 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a18">getInvertedLocatedMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00885 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a19">getViewMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00887 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a20">getInvertedViewMat</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00889 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a21">setupDriverModelMatrix</a>(<font class="keywordtype">void</font>); +<a name="l00893"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a22">00893</a> <font class="keyword">inline</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a22">computeI</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->computeI(); } +00894 +<a name="l00898"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a23">00898</a> <font class="keyword">inline</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a23">computeJ</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->computeJ(); } +<a name="l00902"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a24">00902</a> <font class="keyword">inline</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a24">computeK</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font> { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>->computeK(); } +<a name="l00904"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a25">00904</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a25">getOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +<a name="l00906"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a26">00906</a> <font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a25">getOwner</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +<a name="l00908"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a27">00908</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a27">setName</a>(<font class="keyword">const</font> std::string &name) { <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n3">_Name</a> = name; } +<a name="l00910"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a28">00910</a> std::string <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a28">getName</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n3">_Name</a>; } +<a name="l00914"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a29">00914</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a29">setLOD</a>(<a class="code" href="namespaceNL3D.html#a485">TPSLod</a> lod) { <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n2">_LOD</a> = lod; } +<a name="l00916"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a30">00916</a> <a class="code" href="namespaceNL3D.html#a485">TPSLod</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a30">getLOD</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n2">_LOD</a>; } +<a name="l00918"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a31">00918</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a31">hasParticles</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="keyword">false</font>; } +<a name="l00920"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a32">00920</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a32">hasEmitters</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="keyword">false</font>; } +00924 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a33">setExternID</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>); +<a name="l00926"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a34">00926</a> uint32 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a34">getExternID</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n1">_ExternID</a>; } +<a name="l00930"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a35">00930</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a35">basisChanged</a>(<font class="keywordtype">bool</font> systemBasis) {} +00931 +<a name="l00933"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a36">00933</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#a36">motionTypeChanged</a>(<font class="keywordtype">bool</font> parametric) {} +00934 +00937 +00938 <font class="keyword">protected</font>: +<a name="l00939"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">00939</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a>; +00940 +00943 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b0">newElement</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *emitterLocated, uint32 emitterIndex) = 0; +00944 +00945 +00952 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b1">deleteElement</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) = 0; +00953 +00957 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b2">resize</a>(uint32 size) = 0; +00958 +00959 +00960 +<a name="l00964"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b3">00964</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b3">bounceOccured</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) {} +00965 +00972 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b4">displayIcon2d</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a> tab[], uint nbSegs, <font class="keywordtype">float</font> scale); +00973 +00974 +00976 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#b5">setOwner</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *psl); +00977 +00978 <font class="keyword">protected</font>: +<a name="l00979"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">00979</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; +<a name="l00980"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n1">00980</a> uint32 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n1">_ExternID</a>; +<a name="l00982"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n2">00982</a> <a class="code" href="namespaceNL3D.html#a485">TPSLod</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n2">_LOD</a>; +00983 <font class="comment">// Name for this bindable</font> +<a name="l00984"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n3">00984</a> std::string <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n3">_Name</a>; +00985 <font class="comment">//</font> +<a name="l00986"></a><a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n4">00986</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n4">_Active</a>; <font class="comment">// Say if this bindable is active. If not active, the owning system won't try to call 'step' on that object. True by default</font> +00987 }; +00988 +00989 +00990 +00991 +00996 <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="namespaceNL3D.html#a424">operator<</a>(<font class="keyword">const</font> CPSLocatedBindable &lhs, <font class="keyword">const</font> CPSLocatedBindable &rhs) +00997 { +00998 <font class="keywordflow">return</font> rhs.getPriority() > lhs.getPriority(); +00999 } +01000 +01001 +01002 +01003 <font class="comment">//******************************************************************************************</font> +01004 <font class="comment">//******************************************************************************************</font> +01005 <font class="comment">//******************************************************************************************</font> +01006 +01007 +<a name="l01012"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html">01012</a> <font class="keyword">class </font>CPSTargetLocatedBindable : <font class="keyword">public</font> CPSLocatedBindable +01013 { +01014 <font class="keyword">public</font>: +01020 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a0">attachTarget</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *ptr); +<a name="l01024"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a1">01024</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a1">detachTarget</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *ptr) +01025 { +01026 <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#b0">notifyTargetRemoved</a>(ptr); +01027 } +01032 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a2">releaseRefTo</a>(<font class="keyword">const</font> CParticleSystemProcess *other); +01037 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a3">releaseAllRef</a>(); +<a name="l01039"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a4">01039</a> uint32 <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a4">getNbTargets</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>.size(); } +<a name="l01041"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a5">01041</a> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a5">getTarget</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) +01042 { +01043 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> < <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>.size()); +01044 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>]; +01045 } +<a name="l01047"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a6">01047</a> <font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a5">getTarget</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const</font> +01048 <font class="keyword"> </font>{ +01049 <a class="code" href="debug_8h.html#a6">nlassert</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> < <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>.size()); +01050 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>]; +01051 } +<a name="l01058"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a7">01058</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a7">releaseTargetRsc</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *target) {}; +01060 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a8">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +01062 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a9">finalize</a>(<font class="keywordtype">void</font>); +01063 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#a10">~CPSTargetLocatedBindable</a>(); +01064 <font class="keyword">protected</font>: +01068 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#b0">notifyTargetRemoved</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *ptr); +<a name="l01069"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#t0">01069</a> <font class="keyword">typedef</font> std::vector<CPSLocated *> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#t0">TTargetCont</a>; +<a name="l01070"></a><a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">01070</a> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#t0">TTargetCont</a> <a class="code" href="classNL3D_1_1CPSTargetLocatedBindable.html#n0">_Targets</a>; +01071 +01072 }; +01073 +01074 +01075 +01076 } <font class="comment">// NL3D</font> +01077 +01078 +01079 <font class="preprocessor">#endif // NL_PARTICLE_SYSTEM_LOCATED_H</font> +01080 <font class="preprocessor"></font> +01081 <font class="comment">/* End of particle_system_located.h */</font> +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </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> |