diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/ps__mesh_8h-source.html | 486 |
1 files changed, 486 insertions, 0 deletions
diff --git a/docs/doxygen/nel/ps__mesh_8h-source.html b/docs/doxygen/nel/ps__mesh_8h-source.html new file mode 100644 index 00000000..59a31781 --- /dev/null +++ b/docs/doxygen/nel/ps__mesh_8h-source.html @@ -0,0 +1,486 @@ +<!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_mesh.h</h1><a href="ps__mesh_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2000, 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_PS_MESH_H</font> +00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_PS_MESH_H</font> +00028 <font class="preprocessor"></font> +00029 <font class="preprocessor">#include "<a class="code" href="types__nl_8h.html">nel/misc/types_nl.h</a>"</font> +00030 <font class="preprocessor">#include "<a class="code" href="class__registry_8h.html">nel/misc/class_registry.h</a>"</font> +00031 <font class="preprocessor">#include "<a class="code" href="ps__particle__basic_8h.html">3d/ps_particle_basic.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="ps__attrib_8h.html">3d/ps_attrib.h</a>"</font> +00033 <font class="preprocessor">#include "<a class="code" href="ps__plane__basis_8h.html">3d/ps_plane_basis.h</a>"</font> +00034 <font class="preprocessor">#include "<a class="code" href="vertex__buffer_8h.html">3d/vertex_buffer.h</a>"</font> +00035 <font class="preprocessor">#include "<a class="code" href="material_8h.html">3d/material.h</a>"</font> +00036 <font class="preprocessor">#include "<a class="code" href="3d_2primitive__block_8h.html">3d/primitive_block.h</a>"</font> +00037 <font class="preprocessor">#include "<a class="code" href="shape_8h.html">3d/shape.h</a>"</font> +00038 +00039 +00040 +00041 <font class="preprocessor">#include <string></font> +00042 <font class="preprocessor">#include <vector></font> +00043 <font class="preprocessor">#include <queue></font> +00044 +00045 <font class="keyword">namespace </font>NLMISC +00046 { +00047 <font class="keyword">class </font>IStream; +00048 <font class="keyword">struct </font>EStream; +00049 } +00050 +00051 +00052 <font class="keyword">namespace </font>NL3D { +00053 +00054 +00055 <font class="keyword">class </font>CPSLocated; +00056 <font class="keyword">class </font>CTransformShape; +00057 <font class="keyword">class </font>CShapeBank; +00058 <font class="keyword">class </font>CMesh; +00059 +00060 +00061 +00062 <font class="keyword">const</font> uint <a class="code" href="namespaceNL3D.html#a211">ConstraintMeshMaxNumVerts</a> = 512; <font class="comment">// the maximum number of vertices for a constraint mesh</font> +00063 <font class="keyword">const</font> uint <a class="code" href="namespaceNL3D.html#a212">ConstraintMeshBufSize</a> = 64; <font class="comment">// number of meshs to be processed at once...</font> +00064 <font class="keyword">const</font> uint <a class="code" href="namespaceNL3D.html#a213">ConstraintMeshMaxNumPrerotatedModels</a> = 32; <font class="comment">// maximum number of meshs that can be prerotated</font> +00065 +<a name="l00072"></a><a class="code" href="classNL3D_1_1CPSMesh.html">00072</a> <font class="keyword">class </font>CPSMesh : <font class="keyword">public</font> CPSParticle, +00073 <font class="keyword">public</font> CPSSizedParticle, +00074 <font class="keyword">public</font> CPSRotated3DPlaneParticle, +00075 <font class="keyword">public</font> CPSRotated2DParticle, +00076 <font class="keyword">public</font> CPSShapeParticle +00077 { +00078 <font class="keyword">public</font>: +<a name="l00080"></a><a class="code" href="classNL3D_1_1CPSMesh.html#a0">00080</a> <a class="code" href="classNL3D_1_1CPSMesh.html#a0">CPSMesh</a>(<font class="keyword">const</font> std::string &shape = <font class="stringliteral">""</font>) : <a class="code" href="classNL3D_1_1CPSMesh.html#n2">_Invalidated</a>(false) +00081 { +00082 <a class="code" href="classNL3D_1_1CPSMesh.html#n0">_Shape</a> = shape; +00083 <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n3">_Name</a> = std::string(<font class="stringliteral">"Mesh"</font>); +00084 } +00085 +<a name="l00087"></a><a class="code" href="classNL3D_1_1CPSMesh.html#a1">00087</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a1">setShape</a>(<font class="keyword">const</font> std::string &shape) { <a class="code" href="classNL3D_1_1CPSMesh.html#n0">_Shape</a> = shape; } +00088 +<a name="l00090"></a><a class="code" href="classNL3D_1_1CPSMesh.html#a2">00090</a> std::string <a class="code" href="classNL3D_1_1CPSMesh.html#a2">getShape</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSMesh.html#n0">_Shape</a>; } +00091 +00093 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a3">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +00094 +00095 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a4">~CPSMesh</a>(); +00096 +00097 <a class="code" href="classNL3D_1_1CPSMesh.html#a5">NLMISC_DECLARE_CLASS</a>(<a class="code" href="classNL3D_1_1CPSMesh.html#a0">CPSMesh</a>); +00098 +00099 +<a name="l00104"></a><a class="code" href="classNL3D_1_1CPSMesh.html#a6">00104</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a6">invalidate</a>() +00105 { +00106 <a class="code" href="classNL3D_1_1CPSMesh.html#n2">_Invalidated</a> = <font class="keyword">true</font>; +00107 <a class="code" href="classNL3D_1_1CPSMesh.html#n1">_Instances</a>.clear(); +00108 } +00109 +00111 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a7">hasTransparentFaces</a>(<font class="keywordtype">void</font>); +00112 +00114 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSMesh.html#a8">hasOpaqueFaces</a>(<font class="keywordtype">void</font>); +00115 +00117 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1CPSMesh.html#a9">getMaxNumFaces</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00118 +00119 <font class="keyword">protected</font>: +00122 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#b0">newElement</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *emitterLocated, uint32 emitterIndex); +00123 +00128 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#b1">deleteElement</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>); +00129 +00130 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#b2">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); +00131 +00133 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#b3">updatePos</a>(); +00134 +00138 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSMesh.html#b4">resize</a>(uint32 size); +00139 +00140 <font class="comment">//CSmartPtr<IShape> _Shape;</font> +00141 +<a name="l00142"></a><a class="code" href="classNL3D_1_1CPSMesh.html#n0">00142</a> std::string <a class="code" href="classNL3D_1_1CPSMesh.html#n0">_Shape</a>; +00143 +00144 <font class="comment">// a container for mesh instances</font> +<a name="l00145"></a><a class="code" href="classNL3D_1_1CPSMesh.html#t0">00145</a> <font class="keyword">typedef</font> CPSAttrib<CTransformShape *> <a class="code" href="classNL3D_1_1CPSMesh.html#t0">TInstanceCont</a>; +00146 +<a name="l00147"></a><a class="code" href="classNL3D_1_1CPSMesh.html#n1">00147</a> <a class="code" href="classNL3D_1_1CPSMesh.html#t0">TInstanceCont</a> <a class="code" href="classNL3D_1_1CPSMesh.html#n1">_Instances</a>; +00148 +00149 <font class="comment">// this is set to true when the transformed shape have to be recerated</font> +00150 +<a name="l00151"></a><a class="code" href="classNL3D_1_1CPSMesh.html#n2">00151</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSMesh.html#n2">_Invalidated</a>; +00152 +<a name="l00153"></a><a class="code" href="classNL3D_1_1CPSMesh.html#b5">00153</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSMesh.html#b5">getSizeOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +<a name="l00154"></a><a class="code" href="classNL3D_1_1CPSMesh.html#b6">00154</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSMesh.html#b6">getAngle2DOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +<a name="l00155"></a><a class="code" href="classNL3D_1_1CPSMesh.html#b7">00155</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSMesh.html#b7">getPlaneBasisOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +00156 }; +00157 +00158 +<a name="l00163"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html">00163</a> <font class="keyword">class </font>CPSConstraintMesh : <font class="keyword">public</font> CPSParticle, +00164 <font class="keyword">public</font> CPSSizedParticle, +00165 <font class="keyword">public</font> CPSRotated3DPlaneParticle, +00166 <font class="keyword">public</font> CPSHintParticleRotateTheSame, +00167 <font class="keyword">public</font> CPSShapeParticle, +00168 <font class="keyword">public</font> CPSColoredParticle +00169 { +00170 <font class="keyword">public</font>: +00172 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a>(); +00173 +00174 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a1">~CPSConstraintMesh</a>(); +00175 +00179 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a2">setShape</a>(<font class="keyword">const</font> std::string &meshFileName); +00180 +00182 std::string <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a3">getShape</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00183 +00184 +00185 +00195 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a4">setShapes</a>(<font class="keyword">const</font> std::string *shapesNames, uint numShapes); +00196 +00197 +00199 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a2">setShape</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <font class="keyword">const</font> std::string &shapeName); +00200 +00202 <font class="keyword">const</font> std::string &<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a3">getShape</a>(uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) <font class="keyword">const</font>; +00203 +00205 uint <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a7">getNumShapes</a>() <font class="keyword">const</font>; +00206 +00210 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a8">getShapesNames</a>(std::string *shapesNames) <font class="keyword">const</font>; +00211 +00213 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a9">setMorphValue</a>(<font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00214 +00216 <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a10">getMorphValue</a>() <font class="keyword">const</font>; +00217 +00219 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a11">setMorphScheme</a>(CPSAttribMaker<float> *scheme); +00220 +00222 CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a12">getMorphScheme</a>(); +00223 +00225 <font class="keyword">const</font> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a12">getMorphScheme</a>() <font class="keyword">const</font>; +00226 +00227 +00228 +00229 +00230 +00241 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a14">hintRotateTheSame</a>(uint32 nbConfiguration, +00242 <font class="keywordtype">float</font> minAngularVelocity = NLMISC::Pi, +00243 <font class="keywordtype">float</font> maxAngularVelocity = NLMISC::Pi +00244 ); +00245 +<a name="l00250"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a15">00250</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a15">disableHintRotateTheSame</a>(<font class="keywordtype">void</font>) +00251 { +00252 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a14">hintRotateTheSame</a>(0); +00253 } +00254 +<a name="l00260"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a16">00260</a> uint32 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a16">checkHintRotateTheSame</a>(<font class="keywordtype">float</font> &<a class="code" href="bit__set_8cpp.html#a0">min</a>, <font class="keywordtype">float</font> &max)<font class="keyword"> const</font> +00261 <font class="keyword"> </font>{ +00262 <a class="code" href="bit__set_8cpp.html#a0">min</a> = <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n4">_MinAngularVelocity</a>; +00263 max = <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n5">_MaxAngularVelocity</a>; +00264 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n6">_PrecompBasis</a>.size(); +00265 } +00266 +00267 +00269 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a17">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +00270 +00271 +00272 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a18">NLMISC_DECLARE_CLASS</a>(<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a>); +00273 +00275 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a19">hasTransparentFaces</a>(<font class="keywordtype">void</font>); +00276 +00278 <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a20">hasOpaqueFaces</a>(<font class="keywordtype">void</font>); +00279 +00281 <font class="keyword">virtual</font> uint32 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a21">getMaxNumFaces</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>; +00282 +00283 +00289 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a22">forceStageModulationByColor</a>(uint stage, <font class="keywordtype">bool</font> force); +00290 +00292 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a23">isStageModulationForced</a>(uint stage) <font class="keyword">const</font>; +00293 +<a name="l00295"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a24">00295</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a24">forceVertexColorLighting</a>(<font class="keywordtype">bool</font> force = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n12">_VertexColorLightingForced</a> = force; } +00296 +<a name="l00298"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a25">00298</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a25">isVertexColorLightingForced</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n12">_VertexColorLightingForced</a>; } +00299 +00301 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#d0">initPrerotVB</a>(); +00302 +00303 <font class="comment">//\name Texture animation</font> +00305 <font class="comment"></font> +<a name="l00306"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z721_0">00306</a> <font class="comment"> enum TTexAnimType { NoAnim = 0, GlobalAnim, /*Local, */ Last};</font> +00307 +00309 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z721_1">setTexAnimType</a>(<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z721_0">TTexAnimType</a> <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>); +00310 +00312 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z721_0">TTexAnimType</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z721_2">getTexAnimType</a>() <font class="keyword">const</font>; +00314 +00315 <font class="comment">//\name Global texture animation. Calls to these method are only valid if texture animation is global.</font> +00317 <font class="comment"></font> +<a name="l00318"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html">00318</a> <font class="comment"> struct CGlobalTexAnim</font> +00319 { +<a name="l00320"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m0">00320</a> <a class="code" href="classNLMISC_1_1CVector2f.html">NLMISC::CVector2f</a> TransSpeed; <font class="comment">/* = (0, 0) */</font> +<a name="l00321"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m1">00321</a> <a class="code" href="classNLMISC_1_1CVector2f.html">NLMISC::CVector2f</a> TransAccel; <font class="comment">/* = (0, 0) */</font> +<a name="l00322"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m2">00322</a> <a class="code" href="classNLMISC_1_1CVector2f.html">NLMISC::CVector2f</a> ScaleStart; <font class="comment">/* = (1, 1) */</font> +<a name="l00323"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m3">00323</a> <a class="code" href="classNLMISC_1_1CVector2f.html">NLMISC::CVector2f</a> ScaleSpeed; <font class="comment">/* = (0, 0) */</font> +<a name="l00324"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m4">00324</a> <a class="code" href="classNLMISC_1_1CVector2f.html">NLMISC::CVector2f</a> ScaleAccel; <font class="comment">/* = (0, 0) */</font> +<a name="l00325"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m5">00325</a> <font class="keywordtype">float</font> WRotSpeed; <font class="comment">/* = 0 */</font> +<a name="l00326"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnim.html#m6">00326</a> <font class="keywordtype">float</font> WRotAccel; <font class="comment">/* = 0 */</font> +00327 CGlobalTexAnim(); +00328 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a17">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +00330 <font class="keywordtype">void</font> buildMatrix(<a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> &date, <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a> &dest); +00331 }; +00332 +00334 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_0">setGlobalTexAnim</a>(uint stage, <font class="keyword">const</font> CGlobalTexAnim &properties); +00335 +00337 <font class="keyword">const</font> CGlobalTexAnim &<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_1">getGlobalTexAnim</a>(uint stage) <font class="keyword">const</font>; +00338 +<a name="l00340"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_2">00340</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_2">forceGlobalAnimTimeResetOnNewElement</a>(<font class="keywordtype">bool</font> force = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n14">_ReinitGlobalAnimTimeOnNewElement</a> = force; } +<a name="l00341"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_3">00341</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z722_3">isGlobalAnimTimeResetOnNewElementForced</a>() <font class="keyword">const</font> { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n14">_ReinitGlobalAnimTimeOnNewElement</a> != 0; } +00342 +00344 +00345 +00346 +00347 <font class="keyword">protected</font>: +<a name="l00348"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l0">00348</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l0">CPSConstraintMeshHelper</a>; +00349 <font class="comment">// inherited from CPSColoredParticle</font> +<a name="l00350"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b0">00350</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b0">getColorOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +00351 +00352 <font class="comment">// inherited from CPSColoredParticle</font> +00353 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b1">updateMatAndVbForColor</a>(<font class="keywordtype">void</font>); +00354 +00357 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b2">newElement</a>(<a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *emitterLocated, uint32 emitterIndex); +00358 +00361 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b3">deleteElement</a>(uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>); +00362 +00363 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b4">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); +00367 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b5">draw</a>(<font class="keywordtype">bool</font> opaque, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime); +00368 +00370 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b6">drawPreRotatedMeshs</a>(<font class="keywordtype">bool</font> opaque, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime); +00371 +00372 +00374 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b7">releaseShapes</a>(); +00375 +00376 +00383 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b8">computeColors</a>(CVertexBuffer &outVB, <font class="keyword">const</font> CVertexBuffer &inVB, uint startIndex, uint toProcess, uint32 srcStep); +00384 +00388 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b9">resize</a>(uint32 size); +00389 +00393 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b10">update</a>(<font class="keywordtype">void</font>); +00394 +00396 CVertexBuffer &<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b11">makePrerotatedVb</a>(<font class="keyword">const</font> CVertexBuffer &inVB, <a class="code" href="namespaceNL3D.html#a1">TAnimationTime</a> ellapsedTime); +00397 +<a name="l00401"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html">00401</a> <font class="keyword">struct </font>CRdrPass +00402 { +<a name="l00403"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m0">00403</a> CMaterial <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m0">Mat</a>; +<a name="l00404"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m1">00404</a> CMaterial <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m1">SourceMat</a>; +<a name="l00405"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m2">00405</a> CPrimitiveBlock <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CRdrPass.html#m2">Pb</a>; +00406 }; +00407 +<a name="l00409"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t0">00409</a> <font class="keyword">typedef</font> std::vector<CRdrPass> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t0">TRdrPassSet</a>; +00410 +<a name="l00412"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplay.html">00412</a> <font class="keyword">struct </font>CMeshDisplay +00413 { +<a name="l00414"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplay.html#m0">00414</a> TRdrPassSet <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplay.html#m0">RdrPasses</a>; +<a name="l00415"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplay.html#m1">00415</a> CVertexBuffer <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplay.html#m1">VB</a>; +00416 }; +00417 +00418 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b12">restoreMaterials</a>(); +00419 +00421 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b13">CPSConstraintMesh::setupRenderPasses</a>(<font class="keywordtype">float</font> date, <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t0">TRdrPassSet</a> &rdrPasses, <font class="keywordtype">bool</font> opaque); +00422 +00424 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b14">doRenderPasses</a>(IDriver *driver, uint numObj, <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t0">TRdrPassSet</a> &rdrPasses, <font class="keywordtype">bool</font> opaque); +00425 +00426 +<a name="l00427"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t1">00427</a> <font class="keyword">typedef</font> <a class="code" href="classNLMISC_1_1CSmartPtr.html">NLMISC::CSmartPtr<IShape></a> <a class="code" href="classNLMISC_1_1CSmartPtr.html">PShape</a>; +<a name="l00428"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t2">00428</a> <font class="keyword">typedef</font> std::vector<std::string> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t2">TShapeNameVect</a>; +<a name="l00429"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t3">00429</a> <font class="keyword">typedef</font> std::vector<PShape> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t3">TShapeVect</a>; +00430 +00431 <font class="comment">// name of the shapes</font> +<a name="l00432"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n0">00432</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t2">TShapeNameVect</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n0">_MeshShapeFileName</a>; +<a name="l00433"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n1">00433</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t3">TShapeVect</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n1">_Shapes</a>; +00434 +00435 <font class="comment">// caches the number of faces (for load balacing)</font> +<a name="l00436"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n2">00436</a> uint <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n2">_NumFaces</a>; +00437 +00438 <font class="comment">// the shape bank containing the shape</font> +<a name="l00439"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n3">00439</a> CShapeBank *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n3">_ModelBank</a>; +00440 +00441 +<a name="l00445"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html">00445</a> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l1">CMeshDisplayShare</a> +00446 { +00447 <font class="keyword">public</font>: +<a name="l00449"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#a0">00449</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#a0">CMeshDisplayShare</a>(uint maxNumMD) : <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n0">_MaxNumMD</a>(maxNumMD) {} +00450 +00452 <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#a1">~CMeshDisplayShare</a>(); +00453 +00457 CMeshDisplay &<a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#a2">getMeshDisplay</a>(IShape *shape, uint32 <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>); +00458 +00459 <font class="keyword">protected</font>: +<a name="l00460"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n0">00460</a> uint <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n0">_MaxNumMD</a>; +<a name="l00461"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t0">00461</a> <font class="keyword">typedef</font> <a class="code" href="classNLMISC_1_1CSmartPtr.html">NLMISC::CSmartPtr<IShape></a> PShape; +<a name="l00462"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html">00462</a> <font class="keyword">struct </font>CKey +00463 { +00464 <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a0">~CKey</a>(); +<a name="l00465"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m0">00465</a> PShape <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m0">Shape</a>; +<a name="l00466"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m1">00466</a> uint32 <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m1">Format</a>; +<a name="l00467"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a1">00467</a> <font class="keywordtype">bool</font> <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a1">operator == </a>(<font class="keyword">const</font> CKey &key)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> Shape == key.Shape && <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m1">Format</a> == key.Format; } +<a name="l00468"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a2">00468</a> <font class="keywordtype">bool</font> <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a2">operator != </a>(<font class="keyword">const</font> CKey &key)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ! (*<font class="keyword">this</font> == key); } +<a name="l00469"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a3">00469</a> <font class="keywordtype">bool</font> <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#a3">operator < </a>(<font class="keyword">const</font> CKey &key)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> Shape < key.Shape || (Shape == key.Shape && <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare_1_1CKey.html#m1">Format</a> < key.Format); } +00470 }; +<a name="l00471"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t1">00471</a> <font class="keyword">typedef</font> std::map<CKey, CMeshDisplay *> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t1">TMDMap</a>; <font class="comment">// vb sorted by their formats</font> +<a name="l00472"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t2">00472</a> <font class="keyword">typedef</font> std::queue<CKey> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t2">TMDQueue</a>; <font class="comment">// vb sorted by creation date</font> +<a name="l00473"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n1">00473</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t2">TMDQueue</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n1">MDQueue</a>; +<a name="l00474"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n2">00474</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#t1">TMDMap</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#n2">MDMap</a>; +00476 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#e0">buildRdrPassSet</a>(TRdrPassSet &dest, <font class="keyword">const</font> IShape *<a class="code" href="driver__opengl__extension__def_8h.html#a409">src</a>); +00478 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh_1_1CMeshDisplayShare.html#e1">buildVB</a>(uint32 destFormat, CVertexBuffer &dest, <font class="keyword">const</font> IShape *<a class="code" href="driver__opengl__extension__def_8h.html#a409">src</a>); +00479 }; +00480 +<a name="l00481"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l1">00481</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l1">CMeshDisplayShare</a>; +00482 +00483 +00485 <font class="keyword">static</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#l1">CMeshDisplayShare</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#q0">_MeshDisplayShare</a>; +00486 +00488 <font class="keyword">static</font> CVertexBuffer <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#q1">_PreRotatedMeshVB</a>; <font class="comment">// mesh has no normals</font> +00489 <font class="keyword">static</font> CVertexBuffer <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#q2">_PreRotatedMeshVBWithNormal</a>; <font class="comment">// mesh has normals</font> +00490 +00491 +00492 <font class="comment">// we must store them for serialization</font> +<a name="l00493"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n4">00493</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n4">_MinAngularVelocity</a>; +<a name="l00494"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n5">00494</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n5">_MaxAngularVelocity</a>; +00495 +00496 +00497 <font class="comment">// use for rotation of precomputed meshs</font> +<a name="l00498"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html">00498</a> <font class="keyword">struct </font>CPlaneBasisPair +00499 { +<a name="l00500"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m0">00500</a> CPlaneBasis <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m0">Basis</a>; +<a name="l00501"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m1">00501</a> CVector <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m1">Axis</a>; <font class="comment">// an axis for rotation</font> +<a name="l00502"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m2">00502</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CPlaneBasisPair.html#m2">AngularVelocity</a>; <font class="comment">// an angular velocity</font> +00503 }; +00504 +<a name="l00506"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n6">00506</a> std::vector< CPlaneBasisPair > <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n6">_PrecompBasis</a>; +00507 +<a name="l00509"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n7">00509</a> std::vector<uint32> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n7">_IndexInPrecompBasis</a>; +00510 +00512 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b15">fillIndexesInPrecompBasis</a>(<font class="keywordtype">void</font>); +00513 +00514 <font class="comment">// release the model shape (dtor, or before loading)</font> +00515 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b16">clean</a>(<font class="keywordtype">void</font>); +00516 +<a name="l00517"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b17">00517</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b17">getSizeOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +<a name="l00518"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b18">00518</a> <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#l0">CPSLocated</a> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#b18">getPlaneBasisOwner</a>(<font class="keywordtype">void</font>) { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CPSLocatedBindable.html#n0">_Owner</a>; } +00519 +<a name="l00521"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n8">00521</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n8">_ModulatedStages</a>; +00522 +00523 <font class="comment">// A new mesh has been set, so we must reconstruct it when needed </font> +<a name="l00524"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n9">00524</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n9">_Touched</a> : 1; +00525 <font class="comment">// flags that indicate wether the object has transparent faces. When the 'touch' flag is set, it is undefined, until the next update() call.</font> +<a name="l00526"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n10">00526</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n10">_HasTransparentFaces</a> : 1; +00527 <font class="comment">// flags that indicate wether the object has opaques faces. When the 'touch' flag is set, it is undefined, until the next update() call.</font> +<a name="l00528"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n11">00528</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n11">_HasOpaqueFaces</a> : 1; +<a name="l00529"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n12">00529</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n12">_VertexColorLightingForced</a> : 1; +<a name="l00530"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n13">00530</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n13">_GlobalAnimationEnabled</a> : 1; +<a name="l00531"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n14">00531</a> uint8 <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n14">_ReinitGlobalAnimTimeOnNewElement</a> : 1; +00532 +00533 +<a name="l00535"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnims.html">00535</a> <font class="keyword">struct </font>CGlobalTexAnims +00536 { +<a name="l00537"></a><a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnims.html#m0">00537</a> CGlobalTexAnim <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnims.html#m0">Anims</a>[<a class="code" href="namespaceNL3D.html#a94">IDRV_MAT_MAXTEXTURES</a>]; +00538 <font class="keywordtype">void</font> <a class="code" href="structNL3D_1_1CPSConstraintMesh_1_1CGlobalTexAnims.html#a0">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream); +00539 }; +00540 +<a name="l00541"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t4">00541</a> <font class="keyword">typedef</font> std::auto_ptr<CGlobalTexAnims> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t4">PGlobalTexAnims</a>; +<a name="l00542"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n15">00542</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#t4">PGlobalTexAnims</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n15">_GlobalTexAnims</a>; +<a name="l00543"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n16">00543</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#n16">_GlobalAnimDate</a>; +00544 +00545 +00547 +<a name="l00548"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z723_0">00548</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z723_0">_MorphValue</a>; +<a name="l00549"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z723_1">00549</a> CPSAttribMaker<float> *<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#z723_1">_MorphScheme</a>; +00551 <font class="keyword">private</font>: +<a name="l00552"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#c0">00552</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a>(<font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a> &) { <a class="code" href="debug_8h.html#a6">nlassert</a>(0); <font class="comment">/* not supported */</font> } +<a name="l00553"></a><a class="code" href="classNL3D_1_1CPSConstraintMesh.html#c1">00553</a> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a> &<a class="code" href="classNL3D_1_1CPSConstraintMesh.html#c1">operator = </a>(<font class="keyword">const</font> <a class="code" href="classNL3D_1_1CPSConstraintMesh.html#a0">CPSConstraintMesh</a> &other) { <a class="code" href="debug_8h.html#a6">nlassert</a>(0); <font class="keywordflow">return</font> *<font class="keyword">this</font>; <font class="comment">/* not supported */</font> } +00554 }; +00555 +00556 +00557 +00558 } <font class="comment">// NL3D</font> +00559 +00560 +00561 <font class="preprocessor">#endif // NL_PS_MESH_H</font> +00562 <font class="preprocessor"></font> +00563 <font class="comment">/* End of ps_mesh.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> |