aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/rpo_cpp-source.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/rpo_cpp-source.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/rpo_cpp-source.html')
-rw-r--r--docs/doxygen/nel/rpo_cpp-source.html660
1 files changed, 660 insertions, 0 deletions
diff --git a/docs/doxygen/nel/rpo_cpp-source.html b/docs/doxygen/nel/rpo_cpp-source.html
new file mode 100644
index 00000000..61abb76e
--- /dev/null
+++ b/docs/doxygen/nel/rpo_cpp-source.html
@@ -0,0 +1,660 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.2 on Tue May 29 22:01:19 2001 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>rpo.cpp</h1><a href="rpo_cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00007 <font class="comment">/* Copyright, 2000 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">#include "<a class="code" href="tile_edit_stdafx_h.html">stdafx.h</a>"</font>
+00027 <font class="preprocessor">#include "<a class="code" href="rpo_h.html">rpo.h</a>"</font>
+00028
+00029 <font class="keyword">using</font> <font class="keyword">namespace</font> NL3D;
+00030
+00031 <font class="preprocessor">#ifndef max
+</font><a name="l00032"></a><a class="code" href="rpo_cpp.html#a0">00032</a> <font class="preprocessor"></font><font class="preprocessor">#define max(a,b) (((a) &gt; (b)) ? (a) : (b))
+</font>00033 <font class="preprocessor"></font><font class="preprocessor">#endif max
+</font>00034 <font class="preprocessor"></font>
+<a name="l00035"></a><a class="code" href="rpo_cpp.html#a1">00035</a> <font class="preprocessor">#define PBLOCK_REF 0
+</font>00036 <font class="preprocessor"></font>
+00037 <font class="preprocessor">#ifdef USE_CACHE
+</font>00038 <font class="preprocessor"></font><font class="preprocessor">#ifndef NDEBUG
+</font>00039 <font class="preprocessor"></font><font class="preprocessor">#define DEBUG_PIPELINE
+</font>00040 <font class="preprocessor"></font><font class="preprocessor">#endif // NDEBUG
+</font>00041 <font class="preprocessor"></font><font class="preprocessor">#endif // USE_CACHE
+</font>00042 <font class="preprocessor"></font>
+00043
+<a name="l00044"></a><a class="code" href="class_RPOClassDesc.html">00044</a> <font class="keyword">class </font><a class="code" href="class_RPOClassDesc.html">RPOClassDesc</a>:<font class="keyword">public</font> <a class="code" href="class_ClassDesc.html">ClassDesc</a>
+00045 {
+00046 <font class="keyword">public</font>:
+<a name="l00047"></a><a class="code" href="class_RPOClassDesc.html#a0">00047</a> <font class="keywordtype">int</font> <a class="code" href="class_RPOClassDesc.html#a0">IsPublic</a>()<font class="keyword">
+</font>00048 <font class="keyword"> </font>{
+00049 <font class="keywordflow">return</font> 0;
+00050 }
+<a name="l00051"></a><a class="code" href="class_RPOClassDesc.html#a1">00051</a> <font class="keywordtype">void</font> * <a class="code" href="class_RPOClassDesc.html#a1">Create</a>(BOOL loading = FALSE)<font class="keyword">
+</font>00052 <font class="keyword"> </font>{
+00053 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="class_RPO.html">RPO</a>;
+00054 }
+<a name="l00055"></a><a class="code" href="class_RPOClassDesc.html#a2">00055</a> <font class="keyword">const</font> TCHAR * <a class="code" href="class_RPOClassDesc.html#a2">ClassName</a>()<font class="keyword">
+</font>00056 <font class="keyword"> </font>{
+00057 <font class="keywordflow">return</font> <font class="stringliteral">"RklPatch"</font>;
+00058 }
+<a name="l00059"></a><a class="code" href="class_RPOClassDesc.html#a3">00059</a> SClass_ID <a class="code" href="class_RPOClassDesc.html#a3">SuperClassID</a>()<font class="keyword">
+</font>00060 <font class="keyword"> </font>{
+00061 <font class="keywordflow">return</font> GEOMOBJECT_CLASS_ID;
+00062 }
+<a name="l00063"></a><a class="code" href="class_RPOClassDesc.html#a4">00063</a> Class_ID <a class="code" href="class_RPOClassDesc.html#a4">ClassID</a>()<font class="keyword">
+</font>00064 <font class="keyword"> </font>{
+00065 <font class="keywordflow">return</font> RYKOLPATCHOBJ_CLASS_ID;
+00066 }
+<a name="l00067"></a><a class="code" href="class_RPOClassDesc.html#a5">00067</a> <font class="keyword">const</font> TCHAR* <a class="code" href="class_RPOClassDesc.html#a5">Category</a>()<font class="keyword">
+</font>00068 <font class="keyword"> </font>{
+00069 <font class="keywordflow">return</font> <font class="stringliteral">"Rykol Tools"</font>;
+00070 }
+00071 };
+00072
+00073
+00074 <font class="keyword">enum</font> { RPO_params };
+00075
+00076 <font class="comment">//TODO: Add enums for various parameters</font>
+00077 <font class="keyword">enum</font> { pb_spin };
+00078
+00079 IObjParam *RPO::ip = NULL;
+00080
+00081 BOOL RPO::attachMat=FALSE;
+00082 BOOL RPO::condenseMat=FALSE;
+00083
+00084
+<a name="l00085"></a><a class="code" href="rpo_cpp.html#a4">00085</a> <font class="keyword">static</font> <a class="code" href="class_RPOClassDesc.html">RPOClassDesc</a> RPODesc;
+00086
+<a name="l00087"></a><a class="code" href="rpo_cpp.html#a2">00087</a> <a class="code" href="class_ClassDesc.html">ClassDesc</a>* <a class="code" href="plugin_max_nel_patch_converter_DllEntry_cpp.html#a2">GetRPODesc</a>()<font class="keyword">
+</font>00088 <font class="keyword"></font>{
+00089 <font class="keywordflow">return</font> &amp;RPODesc;
+00090 }
+00091
+00092 <font class="comment">// RPO ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00093
+<a name="l00094"></a><a class="code" href="class_RPO.html#a43">00094</a> <a class="code" href="class_RPO.html#a43">RPO::RPO</a>()<font class="keyword">
+</font>00095 <font class="keyword"></font>{
+00096 RPODesc.MakeAutoParamBlocks(<font class="keyword">this</font>);
+00097 bBigHack=<font class="keyword">false</font>;
+00098
+00099 rpatch = NULL;
+00100
+00101 <font class="comment">// Infinite</font>
+00102 topoValid.SetInfinite();
+00103 geomValid.SetInfinite();
+00104 selectValid.SetInfinite();
+00105 texmapValid.SetInfinite();
+00106 validBits = 0xffffffff;
+00107 }
+00108
+<a name="l00109"></a><a class="code" href="class_RPO.html#a44">00109</a> <a class="code" href="class_RPO.html#a43">RPO::RPO</a>(<a class="code" href="class_PatchObject.html">PatchObject</a>&amp; pPO) : <a class="code" href="class_PatchObject.html">PatchObject</a>(pPO)
+00110 {
+00111 RPODesc.MakeAutoParamBlocks(<font class="keyword">this</font>);
+00112
+00113 rpatch = <font class="keyword">new</font> RPatchMesh (&amp;pPO.patch);
+00114
+00115 <font class="comment">//Mode=ModeRykolPatchMesh;</font>
+00116 bBigHack=<font class="keyword">false</font>;
+00117
+00118 <font class="comment">// Infinite</font>
+00119 topoValid.SetInfinite();
+00120 geomValid.SetInfinite();
+00121 selectValid.SetInfinite();
+00122 texmapValid.SetInfinite();
+00123 validBits = 0xffffffff;
+00124 }
+00125
+00126 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00127
+<a name="l00128"></a><a class="code" href="class_RPO.html#a45">00128</a> <a class="code" href="class_RPO.html#a45">RPO::~RPO</a>()<font class="keyword">
+</font>00129 <font class="keyword"></font>{
+00130 <font class="keywordflow">if</font> (((~GetChannelLocks()))&amp;PART_TOPO)
+00131 {
+00132 <font class="keyword">delete</font> rpatch;
+00133 rpatch=NULL;
+00134 }
+00135 }
+00136
+00137 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00138
+<a name="l00139"></a><a class="code" href="class_RPO.html#a23">00139</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a23">RPO::BeginEditParams</a>(IObjParam *ip,ULONG flags,Animatable *prev)<font class="keyword">
+</font>00140 <font class="keyword"></font>{
+00141 this-&gt;ip = ip;
+00142 <font class="comment">//RPODesc.BeginEditParams(ip, this, flags, prev);</font>
+00143 <font class="comment">//PatchObject::BeginEditParams(ip, flags, prev);</font>
+00144 }
+00145
+00146 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00147
+<a name="l00148"></a><a class="code" href="class_RPO.html#a24">00148</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a24">RPO::EndEditParams</a>( IObjParam *ip, ULONG flags,Animatable *next )<font class="keyword">
+</font>00149 <font class="keyword"></font>{
+00150 <font class="comment">//TODO: Save plugin parameter values into class variables, if they are not hosted in ParamBlocks. </font>
+00151
+00152
+00153 <font class="comment">//RPODesc.EndEditParams(ip, this, flags, next);</font>
+00154 this-&gt;ip = NULL;
+00155 <font class="comment">//PatchObject::EndEditParams(ip, flags, next);</font>
+00156 }
+00157
+00158 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00159
+00160 <font class="comment">//From Object</font>
+<a name="l00161"></a><a class="code" href="class_RPO.html#a9">00161</a> BOOL <a class="code" href="class_RPO.html#a9">RPO::HasUVW</a>()<font class="keyword">
+</font>00162 <font class="keyword"></font>{
+00163 <font class="comment">//TODO: Return whether the object has UVW coordinates or not</font>
+00164 <font class="keywordflow">return</font> TRUE;
+00165 }
+00166
+00167 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00168
+<a name="l00169"></a><a class="code" href="class_RPO.html#a10">00169</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a10">RPO::SetGenUVW</a>(BOOL sw)<font class="keyword">
+</font>00170 <font class="keyword"></font>{
+00171 <font class="keywordflow">if</font> (sw==<a class="code" href="class_RPO.html#a9">HasUVW</a>()) <font class="keywordflow">return</font>;
+00172 <font class="comment">//TODO: Set the plugin's internal value to sw </font>
+00173 }
+00174
+00175 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00176
+00177 <font class="comment">//Class for interactive creation of the object using the mouse</font>
+<a name="l00178"></a><a class="code" href="class_RPOCreateCallBack.html">00178</a> <font class="keyword">class </font><a class="code" href="class_RPOCreateCallBack.html">RPOCreateCallBack</a> : <font class="keyword">public</font> <a class="code" href="class_CreateMouseCallBack.html">CreateMouseCallBack</a>
+00179 {
+<a name="l00180"></a><a class="code" href="class_RPOCreateCallBack.html#o0">00180</a> IPoint2 sp0; <font class="comment">//First point in screen coordinates</font>
+<a name="l00181"></a><a class="code" href="class_RPOCreateCallBack.html#o1">00181</a> <a class="code" href="class_RPO.html">RPO</a> *ob; <font class="comment">//Pointer to the object </font>
+<a name="l00182"></a><a class="code" href="class_RPOCreateCallBack.html#o2">00182</a> Point3 p0; <font class="comment">//First point in world coordinates</font>
+00183 <font class="keyword">public</font>:
+00184 <font class="keywordtype">int</font> <a class="code" href="class_RPOCreateCallBack.html#a0">proc</a>( ViewExp *vpt,<font class="keywordtype">int</font> msg, <font class="keywordtype">int</font> point, <font class="keywordtype">int</font> flags, IPoint2 m, Matrix3&amp; mat);
+<a name="l00185"></a><a class="code" href="class_RPOCreateCallBack.html#a1">00185</a> <font class="keywordtype">void</font> <a class="code" href="class_RPOCreateCallBack.html#a1">SetObj</a>(<a class="code" href="class_RPO.html">RPO</a> *obj)<font class="keyword">
+</font>00186 <font class="keyword"> </font>{
+00187 ob = obj;
+00188 }
+00189 };
+00190
+00191 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00192
+<a name="l00193"></a><a class="code" href="class_RPOCreateCallBack.html#a0">00193</a> <font class="keywordtype">int</font> <a class="code" href="class_RPOCreateCallBack.html#a0">RPOCreateCallBack::proc</a>(ViewExp *vpt,<font class="keywordtype">int</font> msg, <font class="keywordtype">int</font> point, <font class="keywordtype">int</font> flags, IPoint2 m, Matrix3&amp; mat )<font class="keyword">
+</font>00194 <font class="keyword"></font>{
+00195 <font class="comment">//TODO: Implement the mouse creation code here</font>
+00196 <font class="keywordflow">if</font> (msg==MOUSE_POINT||msg==MOUSE_MOVE)
+00197 {
+00198 <font class="keywordflow">switch</font>(point)
+00199 {
+00200 <font class="keywordflow">case</font> 0: <font class="comment">// only happens with MOUSE_POINT msg</font>
+00201 ob-&gt;suspendSnap = TRUE;
+00202 sp0 = m;
+00203 p0 = vpt-&gt;SnapPoint(m,m,NULL,SNAP_IN_PLANE);
+00204 mat.SetTrans(p0);
+00205 <font class="keywordflow">break</font>;
+00206 <font class="comment">//TODO: Add for the rest of points</font>
+00207 }
+00208 }
+00209 <font class="keywordflow">else</font>
+00210 {
+00211 <font class="keywordflow">if</font> (msg == MOUSE_ABORT)
+00212 {
+00213 <font class="keywordflow">return</font> CREATE_ABORT;
+00214 }
+00215 }
+00216 <font class="keywordflow">return</font> TRUE;
+00217 }
+00218
+00219 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00220
+<a name="l00221"></a><a class="code" href="rpo_cpp.html#a5">00221</a> <font class="keyword">static</font> <a class="code" href="class_RPOCreateCallBack.html">RPOCreateCallBack</a> RPOCreateCB;
+00222
+00223 <font class="comment">//From BaseObject</font>
+<a name="l00224"></a><a class="code" href="class_RPO.html#a0">00224</a> <a class="code" href="class_CreateMouseCallBack.html">CreateMouseCallBack</a>* <a class="code" href="class_RPO.html#a0">RPO::GetCreateMouseCallBack</a>()<font class="keyword">
+</font>00225 <font class="keyword"></font>{
+00226 RPOCreateCB.<a class="code" href="class_RPOCreateCallBack.html#a1">SetObj</a>(<font class="keyword">this</font>);
+00227 <font class="keywordflow">return</font>(&amp;RPOCreateCB);
+00228 }
+00229
+00230 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00231
+<a name="l00232"></a><a class="code" href="class_RPO.html#a1">00232</a> <font class="keywordtype">int</font> <a class="code" href="class_RPO.html#a1">RPO::Display</a>(TimeValue t, INode* inode, ViewExp *vpt, <font class="keywordtype">int</font> flags)<font class="keyword">
+</font>00233 <font class="keyword"></font>{
+00234 <font class="comment">//TODO: Implement the displaying of the object here</font>
+00235 <font class="keywordflow">if</font> (!rpatch-&gt;rTess.ModeTile)
+00236 {
+00237 <font class="keywordtype">int</font> ret= PatchObject::Display(t, inode, vpt, flags);
+00238
+00239 <font class="comment">// Point binded</font>
+00240 <font class="keywordflow">if</font> (inode-&gt;Selected())
+00241 {
+00242 GraphicsWindow *gw = vpt-&gt;getGW();
+00243 gw-&gt;setColor(LINE_COLOR, 0, 0, 0);
+00244 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i=0; i&lt;patch.numVerts; i++)
+00245 {
+00246 <font class="keywordflow">if</font> (rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a8">getUIVertex</a> (i).Binding.bBinded)
+00247 {
+00248 <font class="comment">// draw the point</font>
+00249 gw-&gt;marker (&amp;patch.verts[i].p, DOT_MRKR);
+00250 }
+00251 }
+00252 }
+00253
+00254 <font class="keywordflow">return</font> ret;
+00255
+00256 }
+00257 <font class="keywordflow">else</font>
+00258 {
+00259 <font class="keywordflow">return</font> rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a40">Display</a> (t, inode, vpt, flags, patch);
+00260 }
+00261 }
+00262
+00263 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00264
+<a name="l00265"></a><a class="code" href="class_RPO.html#a2">00265</a> <font class="keywordtype">int</font> <a class="code" href="class_RPO.html#a2">RPO::HitTest</a>(TimeValue t, INode* inode, <font class="keywordtype">int</font> type, <font class="keywordtype">int</font> crossing,
+00266 <font class="keywordtype">int</font> flags, IPoint2 *p, ViewExp *vpt)<font class="keyword">
+</font>00267 <font class="keyword"></font>{
+00268 <font class="comment">//TODO: Implement the hit testing here</font>
+00269 <font class="keywordflow">return</font> PatchObject::HitTest(t, inode, type, crossing, flags, p, vpt);
+00270 <font class="comment">//return 0;</font>
+00271 }
+00272
+00273 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00274
+<a name="l00275"></a><a class="code" href="class_RPO.html#a3">00275</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a3">RPO::Snap</a>(TimeValue t, INode* inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt)<font class="keyword">
+</font>00276 <font class="keyword"></font>{
+00277 <font class="comment">//TODO: Check the point passed for a snap and update the SnapInfo structure</font>
+00278 PatchObject::Snap(t, inode, snap, p, vpt);
+00279 }
+00280
+00281 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00282
+<a name="l00283"></a><a class="code" href="class_RPO.html#a5">00283</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a5">RPO::GetWorldBoundBox</a>(TimeValue t, INode *mat, ViewExp *vpt, Box3&amp; box )<font class="keyword">
+</font>00284 <font class="keyword"></font>{
+00285 <font class="comment">//TODO: Return the world space bounding box of the object</font>
+00286 PatchObject::GetWorldBoundBox(t, mat, vpt, box);
+00287 }
+00288
+00289 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00290
+<a name="l00291"></a><a class="code" href="class_RPO.html#a6">00291</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a6">RPO::GetLocalBoundBox</a>(TimeValue t, INode *mat, ViewExp *vpt, Box3&amp; box )<font class="keyword">
+</font>00292 <font class="keyword"></font>{
+00293 <font class="comment">//TODO: Return the local space bounding box of the object</font>
+00294 PatchObject::GetLocalBoundBox(t, mat, vpt, box);
+00295 }
+00296
+00297 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00298
+<a name="l00299"></a><a class="code" href="class_RPO.html#a7">00299</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a7">RPO::GetDeformBBox</a>(TimeValue t, Box3&amp; box, Matrix3 *tm, BOOL useSel )<font class="keyword">
+</font>00300 <font class="keyword"></font>{
+00301 <font class="comment">//TODO: Compute the bounding box in the objects local coordinates </font>
+00302 <font class="comment">// or the optional space defined by tm.</font>
+00303 PatchObject::GetDeformBBox(t, box, tm, useSel);
+00304 }
+00305
+00306 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00307
+00308 <font class="comment">//From ReferenceMaker</font>
+<a name="l00309"></a><a class="code" href="class_RPO.html#a32">00309</a> RefResult <a class="code" href="class_RPO.html#a32">RPO::NotifyRefChanged</a>( Interval changeInt, RefTargetHandle hTarget,PartID&amp; partID, RefMessage message )<font class="keyword">
+</font>00310 <font class="keyword"></font>{
+00311 <font class="comment">//TODO: Implement, if the object makes references to other things</font>
+00312 <font class="comment">//return PatchObject::NotifyRefChanged( changeInt, hTarget, partID, message);</font>
+00313 <font class="keywordflow">return</font>(REF_SUCCEED);
+00314 }
+00315
+00316 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00317
+<a name="l00318"></a><a class="code" href="class_RPO.html#a25">00318</a> Mesh* <a class="code" href="class_RPO.html#a25">RPO::GetRenderMesh</a>(TimeValue t, INode *inode, View&amp; view, BOOL&amp; needDelete)<font class="keyword">
+</font>00319 <font class="keyword"></font>{
+00320 <font class="comment">//TODO: Return the mesh representation of the object used by the renderer</font>
+00321 needDelete=TRUE;
+00322 Mesh *pMesh=<font class="keyword">new</font> Mesh();
+00323 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a38">BuildMesh</a>(t, patch, pMesh);
+00324 <font class="keywordflow">return</font> pMesh;
+00325 }
+00326
+00327 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00328
+00329 <font class="comment">/*
+</font>00330 <font class="comment"> Lire doc intervals
+</font>00331 <font class="comment"> Ici : conversion d'un RPM en n'importe kwa : triObj, PO
+</font>00332 <font class="comment">
+</font>00333 <font class="comment">*/</font>
+<a name="l00334"></a><a class="code" href="class_RPO.html#a12">00334</a> Object* <a class="code" href="class_RPO.html#a12">RPO::ConvertToType</a>(TimeValue t, Class_ID cid)<font class="keyword">
+</font>00335 <font class="keyword"></font>{
+00336 <font class="keywordflow">if</font> (cid==RYKOLPATCHOBJ_CLASS_ID)
+00337 {
+00338 <font class="keywordflow">return</font> <font class="keyword">this</font>;
+00339 }
+00340 <font class="keywordflow">if</font> (cid==defObjectClassID)
+00341 {
+00342 <font class="keywordflow">return</font> <font class="keyword">this</font>;
+00343 }
+00344 <font class="keywordflow">if</font> (cid==triObjectClassID)
+00345 {
+00346 TriObject *pTriObj=CreateNewTriObject();
+00347 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a28">InvalidateChannels</a> (PART_TOPO|PART_GEOM|PART_TEXMAP|PART_SELECT|PART_DISPLAY);
+00348 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a38">BuildMesh</a>(t, patch, &amp;pTriObj-&gt;mesh);
+00349 pTriObj-&gt;SetChannelValidity(TOPO_CHAN_NUM,<a class="code" href="class_RPO.html#a20">ConvertValidity</a>(t));
+00350 pTriObj-&gt;SetChannelValidity(GEOM_CHAN_NUM,<a class="code" href="class_RPO.html#a20">ConvertValidity</a>(t));
+00351 <font class="keywordflow">return</font> pTriObj;
+00352 }
+00353 <font class="keywordflow">return</font> NULL;
+00354 }
+00355
+00356 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00357
+<a name="l00358"></a><a class="code" href="class_RPO.html#a11">00358</a> <font class="keywordtype">int</font> <a class="code" href="class_RPO.html#a11">RPO::CanConvertToType</a>(Class_ID cid)<font class="keyword">
+</font>00359 <font class="keyword"></font>{
+00360 <font class="keywordflow">if</font> (cid==RYKOLPATCHOBJ_CLASS_ID)
+00361 {
+00362 <font class="keywordflow">return</font> 1;
+00363 }
+00364 <font class="keywordflow">if</font> (cid==defObjectClassID)
+00365 {
+00366 <font class="keywordflow">return</font> 1;
+00367 }
+00368 <font class="keywordflow">if</font> (cid==triObjectClassID)
+00369 {
+00370 <font class="keywordflow">return</font> 1;
+00371 }
+00372 <font class="keywordflow">return</font>(0);
+00373 }
+00374
+00375 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00376
+00377 <font class="comment">// From Object</font>
+<a name="l00378"></a><a class="code" href="class_RPO.html#a14">00378</a> <font class="keywordtype">int</font> <a class="code" href="class_RPO.html#a14">RPO::IntersectRay</a>(TimeValue t, Ray&amp; ray, <font class="keywordtype">float</font>&amp; at, Point3&amp; norm)<font class="keyword">
+</font>00379 <font class="keyword"></font>{
+00380 <font class="comment">//TODO: Return TRUE after you implement this method</font>
+00381 <font class="keywordflow">return</font> PatchObject::IntersectRay( t, ray, at, norm);
+00382 }
+00383
+00384 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00385
+<a name="l00386"></a><a class="code" href="class_RPO.html#a13">00386</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a13">RPO::GetCollapseTypes</a>(Tab&lt;Class_ID&gt; &amp;clist,Tab&lt;TSTR*&gt; &amp;nlist)<font class="keyword">
+</font>00387 <font class="keyword"></font>{
+00388 Object::GetCollapseTypes(clist, nlist);
+00389 <font class="comment">//TODO: Append any any other collapse type the plugin supports</font>
+00390
+00391 Class_ID id = RYKOLPATCHOBJ_CLASS_ID;
+00392 TSTR *name = <font class="keyword">new</font> TSTR(<font class="stringliteral">"Rykol Patch Mesh"</font>);
+00393 clist.Append(1,&amp;id);
+00394 nlist.Append(1,&amp;name);
+00395 }
+00396
+00397 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00398
+00399 <font class="comment">// From ReferenceTarget</font>
+<a name="l00400"></a><a class="code" href="class_RPO.html#a31">00400</a> RefTargetHandle <a class="code" href="class_RPO.html#a31">RPO::Clone</a>(RemapDir&amp; remap)<font class="keyword">
+</font>00401 <font class="keyword"></font>{
+00402 <a class="code" href="class_RPO.html">RPO</a>* newob = <font class="keyword">new</font> <a class="code" href="class_RPO.html#a43">RPO</a>();
+00403 newob-&gt;rpatch=<font class="keyword">new</font> RPatchMesh ();
+00404 *newob-&gt;rpatch=*rpatch;
+00405 newob-&gt;rpatch-&gt;selLevel=EP_OBJECT;
+00406 newob-&gt;rpatch-&gt;<a class="code" href="class_RPO.html#a22">InvalidateChannels</a>(ALL_CHANNELS);
+00407 newob-&gt;patch.DeepCopy(&amp;patch, ALL_CHANNELS);
+00408 newob-&gt;patch.SetShowInterior(patch.GetShowInterior());
+00409
+00410 <font class="keywordflow">return</font>(newob);
+00411 }
+00412
+00413 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00414
+<a name="l00415"></a><a class="code" href="rpo_cpp.html#a2">00415</a> <font class="preprocessor">#define CHK_TEST 0x0001
+</font><a name="l00416"></a><a class="code" href="rpo_cpp.html#a3">00416</a> <font class="preprocessor"></font><font class="preprocessor">#define VALIDITY_CHUNK 2301
+</font><a name="l00417"></a><a class="code" href="rpo_cpp.html#a6">00417</a> <font class="preprocessor"></font><font class="keyword">static</font> <font class="keywordtype">int</font> counter;
+<a name="l00418"></a><a class="code" href="class_RPO.html#a27">00418</a> IOResult <a class="code" href="class_RPO.html#a27">RPO::Save</a>(ISave *isave)<font class="keyword">
+</font>00419 <font class="keyword"></font>{
+00420 ULONG nb;
+00421
+00422 <font class="comment">//PatchObject::Save(isave);</font>
+00423
+00424 <font class="comment">// Version</font>
+00425 isave-&gt;BeginChunk(VALIDITY_CHUNK);
+00426
+00427 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> nVersion=RPO_SERIALIZE_VERSION;
+00428 isave-&gt;Write(&amp;nVersion, <font class="keyword">sizeof</font> (nVersion), &amp;nb);
+00429
+00430 <font class="comment">// RPatch</font>
+00431 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a33">Save</a> (isave);
+00432
+00433 isave-&gt;EndChunk();
+00434 patch.Save (isave);
+00435 rpatch-&gt;mesh.<a class="code" href="class_RPO.html#a27">Save</a> (isave);
+00436
+00437 <font class="keywordflow">return</font> IO_OK;
+00438 }
+00439
+00440 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00441
+<a name="l00442"></a><a class="code" href="class_RPO.html#a26">00442</a> IOResult <a class="code" href="class_RPO.html#a26">RPO::Load</a>(ILoad *iload)<font class="keyword">
+</font>00443 <font class="keyword"></font>{
+00444 ULONG nb;
+00445
+00446 <font class="keywordflow">if</font> (rpatch==NULL)
+00447 rpatch=<font class="keyword">new</font> RPatchMesh ();
+00448
+00449 <font class="keywordflow">if</font> (IO_OK==(iload-&gt;OpenChunk()))
+00450 {
+00451 <font class="keywordflow">if</font> (iload-&gt;CurChunkID()==VALIDITY_CHUNK)
+00452 {
+00453 <font class="comment">// Version</font>
+00454 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> nVersion;
+00455 iload-&gt;Read(&amp;nVersion, <font class="keyword">sizeof</font> (nVersion), &amp;nb);
+00456
+00457 <font class="keywordflow">switch</font> (nVersion)
+00458 {
+00459 <font class="keywordflow">case</font> RPO_SERIALIZE_VERSION:
+00460 <font class="comment">// RPatch</font>
+00461 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a32">Load</a> (iload);
+00462 <font class="keywordflow">break</font>;
+00463 }
+00464
+00465 }
+00466 iload-&gt;CloseChunk();
+00467 }
+00468 patch.Load (iload);
+00469 rpatch-&gt;mesh.<a class="code" href="class_RPO.html#a26">Load</a> (iload);
+00470
+00471 <font class="keywordflow">return</font> IO_OK;
+00472 }
+00473
+00474 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00475
+<a name="l00476"></a><a class="code" href="class_RPO.html#a39">00476</a> Object *<a class="code" href="class_RPO.html#a39">RPO::MakeShallowCopy</a>(ChannelMask channels)<font class="keyword">
+</font>00477 <font class="keyword"></font>{
+00478 <a class="code" href="class_RPO.html">RPO</a>* newob=(<a class="code" href="class_RPO.html">RPO</a>*)RPODesc.Create();
+00479
+00480 <font class="keywordflow">if</font> (channels&amp;PART_TOPO)
+00481 newob-&gt;rpatch=rpatch;
+00482
+00483 <font class="comment">// Copy patch mesh</font>
+00484 newob-&gt;patch.<a class="code" href="class_RPO.html#a40">ShallowCopy</a>(&amp;patch, channels);
+00485
+00486 <font class="comment">// Copy validity</font>
+00487 newob-&gt;<a class="code" href="class_RPO.html#a21">CopyValidity</a>(<font class="keyword">this</font>,channels);
+00488
+00489 <font class="keywordflow">return</font> newob;
+00490 }
+00491
+00492 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00493
+<a name="l00494"></a><a class="code" href="class_RPO.html#a40">00494</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a40">RPO::ShallowCopy</a>(Object* fromOb, ChannelMask channels)<font class="keyword">
+</font>00495 <font class="keyword"></font>{
+00496 <a class="code" href="class_RPO.html">RPO</a>* fromRPO=(<a class="code" href="class_RPO.html">RPO</a>*)fromOb;
+00497
+00498 <font class="comment">// Copy rpatch mesh</font>
+00499 <font class="keywordflow">if</font> (channels&amp;PART_TOPO)
+00500 rpatch=fromRPO-&gt;rpatch;
+00501
+00502 <font class="comment">// Copy patch mesh</font>
+00503 patch.ShallowCopy(&amp;fromRPO-&gt;patch, channels);
+00504
+00505 <font class="comment">// Copy validity</font>
+00506 <a class="code" href="class_RPO.html#a21">CopyValidity</a>(fromRPO, channels);
+00507 }
+00508
+00509 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00510
+<a name="l00511"></a><a class="code" href="class_RPO.html#a41">00511</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a41">RPO::NewAndCopyChannels</a>(ChannelMask channels)<font class="keyword">
+</font>00512 <font class="keyword"></font>{
+00513 <font class="keywordflow">if</font> (channels&amp;PART_TOPO)
+00514 {
+00515 <a class="code" href="class_RPatchMesh.html">RPatchMesh</a>* old=rpatch;
+00516 rpatch=<font class="keyword">new</font> RPatchMesh ();
+00517 *rpatch=*old;
+00518 }
+00519 PatchObject::NewAndCopyChannels(channels);
+00520 }
+00521
+00522 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00523
+<a name="l00524"></a><a class="code" href="class_RPO.html#a42">00524</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a42">RPO::FreeChannels</a>(ChannelMask channels)<font class="keyword">
+</font>00525 <font class="keyword"></font>{
+00526 <font class="keywordflow">if</font> ((channels&amp;(~GetChannelLocks()))&amp;PART_TOPO)
+00527 {
+00528 <font class="keyword">delete</font> rpatch;
+00529 rpatch=NULL;
+00530 }
+00531 PatchObject::FreeChannels(channels);
+00532 }
+00533
+00534 <font class="comment">// ------------------------------------------------------------------------------------------------------------------------------------------------</font>
+00535
+<a name="l00536"></a><a class="code" href="class_RPO.html#a22">00536</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a22">RPO::InvalidateChannels</a>(ChannelMask channels)<font class="keyword">
+</font>00537 <font class="keyword"></font>{
+00538 <font class="comment">//PatchObject::InvalidateChannels(channels);</font>
+00539 <font class="keywordflow">if</font> (rpatch)
+00540 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a28">InvalidateChannels</a>(channels);
+00541
+00542 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i=0; i&lt;NUM_OBJ_CHANS; i++)
+00543 {
+00544 <font class="keywordflow">if</font> (channels&amp;chMask[i])
+00545 {
+00546 <font class="keywordflow">switch</font>(i)
+00547 {
+00548 <font class="keywordflow">case</font> GEOM_CHAN_NUM: geomValid.SetEmpty(); <font class="keywordflow">break</font>;
+00549 <font class="comment">//case VERT_COLOR_CHAN_NUM: vcolorValid.SetEmpty(); break;</font>
+00550 <font class="keywordflow">case</font> TOPO_CHAN_NUM: topoValid.SetEmpty(); <font class="keywordflow">break</font>;
+00551 <font class="keywordflow">case</font> TEXMAP_CHAN_NUM: texmapValid.SetEmpty(); <font class="keywordflow">break</font>;
+00552 <font class="keywordflow">case</font> SELECT_CHAN_NUM: selectValid.SetEmpty(); <font class="keywordflow">break</font>;
+00553 <font class="comment">//case GFX_DATA_CHAN_NUM: gfxdataValid.SetEmpty(); break;</font>
+00554 <font class="keywordflow">default</font>: validBits &amp;= ~chMask[i]; <font class="keywordflow">break</font>;
+00555 }
+00556 }
+00557 }
+00558 }
+00559
+00560 <font class="comment">// --------------------------------------------------</font>
+00561
+<a name="l00562"></a><a class="code" href="class_RPO.html#a15">00562</a> <font class="keywordtype">void</font> <a class="code" href="class_RPO.html#a15">RPO::PointsWereChanged</a>()<font class="keyword">
+</font>00563 <font class="keyword"></font>{
+00564 PatchObject::PointsWereChanged();
+00565 rpatch-&gt;<a class="code" href="class_RPatchMesh.html#a11">InvalidateBindingPos</a> ();
+00566 }
+00567
+00568 <font class="comment">// --------------------------------------------------</font>
+00569
+<a name="l00570"></a><a class="code" href="class_RPO.html#d0">00570</a> <font class="keywordtype">bool</font> <a class="code" href="class_RPO.html#d0">RPO::isZone</a> (INode&amp; node, TimeValue time)<font class="keyword">
+</font>00571 <font class="keyword"></font>{
+00572 <font class="comment">// Result false by default</font>
+00573 <font class="keywordtype">bool</font> bRet=<font class="keyword">false</font>;
+00574
+00575 <font class="comment">// Eval the object a time</font>
+00576 ObjectState os = node.EvalWorldState(time);
+00577
+00578 <font class="comment">// Object exist ?</font>
+00579 <font class="keywordflow">if</font> (os.obj)
+00580 {
+00581 <font class="comment">// Object can convert itself to NeL patchmesh ?</font>
+00582 <font class="keywordflow">if</font> (os.obj-&gt;<a class="code" href="class_RPO.html#a11">CanConvertToType</a>(RYKOLPATCHOBJ_CLASS_ID))
+00583 bRet=<font class="keyword">true</font>;
+00584 }
+00585
+00586 <font class="comment">// Return result</font>
+00587 <font class="keywordflow">return</font> bRet;
+00588 }
+00589
+00590 <font class="comment">// --------------------------------------------------</font>
+00591
+</div></pre>
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>