diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a06216.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a06216.html')
-rw-r--r-- | docs/doxygen/nel/a06216.html | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a06216.html b/docs/doxygen/nel/a06216.html new file mode 100644 index 00000000..1c4dc249 --- /dev/null +++ b/docs/doxygen/nel/a06216.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: ps_attrib_maker_bin_op.h Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.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">Data Structures</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">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>ps_attrib_maker_bin_op.h</h1><a href="a04793.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <span class="comment">/* Copyright, 2001 Nevrax Ltd.</span> +00008 <span class="comment"> *</span> +00009 <span class="comment"> * This file is part of NEVRAX NEL.</span> +00010 <span class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</span> +00011 <span class="comment"> * it under the terms of the GNU General Public License as published by</span> +00012 <span class="comment"> * the Free Software Foundation; either version 2, or (at your option)</span> +00013 <span class="comment"> * any later version.</span> +00014 <span class="comment"></span> +00015 <span class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</span> +00016 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span> +00017 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> +00018 <span class="comment"> * General Public License for more details.</span> +00019 <span class="comment"></span> +00020 <span class="comment"> * You should have received a copy of the GNU General Public License</span> +00021 <span class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</span> +00022 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</span> +00023 <span class="comment"> * MA 02111-1307, USA.</span> +00024 <span class="comment"> */</span> +00025 +00026 <span class="preprocessor">#ifndef NL_PS_ATTRIB_MAKER_BIN_OP_H</span> +00027 <span class="preprocessor"></span><span class="preprocessor">#define NL_PS_ATTRIB_MAKER_BIN_OP_H</span> +00028 <span class="preprocessor"></span> +00029 <span class="preprocessor">#include "<a class="code" href="a05167.html">nel/misc/types_nl.h</a>"</span> +00030 <span class="preprocessor">#include "<a class="code" href="a04791.html">ps_attrib_maker.h</a>"</span> +00031 <span class="preprocessor">#include "<a class="code" href="a04836.html">ps_plane_basis.h</a>"</span> +00032 <span class="preprocessor">#include "<a class="code" href="a04917.html">nel/misc/rgba.h</a>"</span> +00033 <span class="preprocessor">#include <memory></span> +00034 +00035 <span class="keyword">namespace </span>NL3D { +00036 +00037 +<a name="l00039"></a><a class="code" href="a03146.html">00039</a> <span class="keyword">struct </span><a class="code" href="a03146.html">CPSBinOp</a> +00040 { +<a name="l00041"></a><a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1">00041</a> <span class="keyword">enum</span> <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1">BinOp</a> +00042 { +00043 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw4">selectArg1</a> = 0, +00044 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw5">selectArg2</a>, +00045 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw3">modulate</a>, +00046 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw0">add</a>, +00047 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw6">subtract</a>, +00048 <a class="code" href="a03146.html#NL3D_1_1CPSBinOpw1NL3D_1_1CPSBinOpw2">last</a> +00049 }; +00050 }; +00051 +<a name="l00053"></a><a class="code" href="a05363.html#a237">00053</a> <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a05363.html#a237">PSBinOpBufSize</a> = 1024; +00054 +<a name="l00063"></a><a class="code" href="a03138.html">00063</a> <span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="keyword">class </span><a class="code" href="a03138.html">CPSAttribMakerBinOp</a> : <span class="keyword">public</span> <a class="code" href="a03136.html">CPSAttribMaker</a><T> +00064 { +00065 <span class="keyword">public</span>: +00067 +00068 +00072 <a class="code" href="a03138.html#NL3D_1_1CPSAttribMakerBinOpz720_1">CPSAttribMakerBinOp</a>(); +00073 +00075 <a class="code" href="a03138.html#NL3D_1_1CPSAttribMakerBinOpz720_1">CPSAttribMakerBinOp</a>(<span class="keyword">const</span> <a class="code" href="a03138.html">CPSAttribMakerBinOp</a> &other); +00076 +00078 <span class="keyword">virtual</span> <a class="code" href="a03138.html#NL3D_1_1CPSAttribMakerBinOpz720_2">~CPSAttribMakerBinOp</a>(); +00079 +00080 +00081 +00083 +00085 +00086 <span class="keyword">virtual</span> T <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_1">get</a> (<a class="code" href="a03214.html">CPSLocated</a> *loc, <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a566">index</a>); +00087 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_2">make</a> (<a class="code" href="a03214.html">CPSLocated</a> *loc, +00088 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00089 <span class="keywordtype">void</span> *tab, +00090 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a582">stride</a>, +00091 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00092 <span class="keywordtype">bool</span> allowNoCopy = <span class="keyword">false</span>, +00093 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00094 ) <span class="keyword">const</span>; +00095 +00096 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_3">make4</a> (<a class="code" href="a03214.html">CPSLocated</a> *loc, +00097 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00098 <span class="keywordtype">void</span> *tab, +00099 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a582">stride</a>, +00100 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00101 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00102 ) <span class="keyword">const</span>; +00103 +00104 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_4">makeN</a> (<a class="code" href="a03214.html">CPSLocated</a> *loc, +00105 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00106 <span class="keywordtype">void</span> *tab, +00107 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a582">stride</a>, +00108 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00109 <a class="code" href="a04558.html#a11">uint32</a> nbReplicate, +00110 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00111 ) <span class="keyword">const</span>; +00112 +00113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_7">serial</a> (<a class="code" href="a02270.html">NLMISC::IStream</a> &f) <span class="keywordflow">throw</span>(<a class="code" href="a03781.html">NLMISC::EStream</a>); +00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_0">deleteElement</a> (<a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a566">index</a>); +00115 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_5">newElement</a> (<a class="code" href="a03214.html">CPSLocated</a> *emitterLocated, <a class="code" href="a04558.html#a11">uint32</a> emitterIndex); +00116 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz722_6">resize</a> (<a class="code" href="a04558.html#a11">uint32</a> capacity, <a class="code" href="a04558.html#a11">uint32</a> nbPresentElements); +00118 +00120 +00121 +<a name="l00125"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_2">00125</a> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_2">setArg</a>(<a class="code" href="a04558.html#a15">uint</a> argNb, <a class="code" href="a03136.html">CPSAttribMaker<T></a> *arg) +00126 { +00127 <a class="code" href="a04199.html#a6">nlassert</a>(argNb < 2); +00128 <span class="keyword">delete</span> _Arg[argNb]; +00129 _Arg[argNb] = arg; +00130 <span class="keywordflow">if</span> (arg->hasMemory()) +00131 { +00132 arg-><a class="code" href="a03136.html#NL3D_1_1CPSValueGradient_3_01NLMISC_1_1CRGBA_01_4z718_3">resize</a>(_MaxSize, _Size); +00133 } +00134 } +00135 +<a name="l00139"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_1">00139</a> <a class="code" href="a03136.html">CPSAttribMaker<T></a> *<a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_1">getArg</a>(<a class="code" href="a04558.html#a15">uint</a> argNb) +00140 { +00141 <a class="code" href="a04199.html#a6">nlassert</a>(argNb < 2); +00142 <span class="keywordflow">return</span> _Arg[argNb]; +00143 } +00144 +<a name="l00148"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_0">00148</a> <span class="keyword">const</span> <a class="code" href="a03136.html">CPSAttribMaker<T></a> *<a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz724_1">getArg</a>(<a class="code" href="a04558.html#a15">uint</a> argNb)<span class="keyword"> const</span> +00149 <span class="keyword"> </span>{ +00150 <a class="code" href="a04199.html#a6">nlassert</a>(argNb < 2); +00151 <span class="keywordflow">return</span> _Arg[argNb]; +00152 } +00154 +00156 +00157 +<a name="l00160"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_1">00160</a> <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_1">setOp</a>(CPSBinOp::BinOp op) +00161 { +00162 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_2">supportOp</a>(op)); +00163 _Op = op; +00164 } +00165 +<a name="l00167"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_2">00167</a> <span class="keywordtype">bool</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_2">supportOp</a>(CPSBinOp::BinOp op) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } +00168 +<a name="l00170"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_0">00170</a> CPSBinOp::BinOp <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpz726_0">getOp</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _Op; } +00172 +00173 <span class="comment">// from CPSAttribMaker</span> +<a name="l00174"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpa3">00174</a> <span class="keyword">virtual</span> T <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpa3">getMinValue</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> T() ; <span class="comment">/* no mean by default */</span> } +<a name="l00175"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpa2">00175</a> <span class="keyword">virtual</span> T <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpa2">getMaxValue</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> T() ; <span class="comment">/* no mean by default */</span> } +00176 +00177 <span class="keyword">protected</span>: +00178 <span class="keywordtype">void</span> *<a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpb3">makePrivate</a> (T *buf1, +00179 T *buf2, +00180 <a class="code" href="a03214.html">CPSLocated</a> *loc, +00181 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00182 <span class="keywordtype">void</span> *tab, +00183 <a class="code" href="a04558.html#a11">uint32</a> stride, +00184 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00185 <span class="keywordtype">bool</span> allowNoCopy = <span class="keyword">false</span>, +00186 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00187 ) <span class="keyword">const</span>; +00188 +00189 <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpb1">make4Private</a> (T *buf1, +00190 T *buf2, +00191 <a class="code" href="a03214.html">CPSLocated</a> *loc, +00192 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00193 <span class="keywordtype">void</span> *tab, +00194 <a class="code" href="a04558.html#a11">uint32</a> stride, +00195 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00196 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00197 ) <span class="keyword">const</span>; +00198 +00199 <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpb2">makeNPrivate</a> (T *buf1, +00200 T *buf2, +00201 <a class="code" href="a03214.html">CPSLocated</a> *loc, +00202 <a class="code" href="a04558.html#a11">uint32</a> startIndex, +00203 <span class="keywordtype">void</span> *tab, +00204 <a class="code" href="a04558.html#a11">uint32</a> stride, +00205 <a class="code" href="a04558.html#a11">uint32</a> numAttrib, +00206 <a class="code" href="a04558.html#a11">uint32</a> nbReplicate, +00207 <a class="code" href="a04558.html#a11">uint32</a> srcStep = (1 << 16) +00208 ) <span class="keyword">const</span>; +00209 +<a name="l00210"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpp4">00210</a> CPSBinOp::BinOp _Op; <span class="comment">// the operator being used</span> +<a name="l00211"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpp0">00211</a> <a class="code" href="a03136.html">CPSAttribMaker<T></a> *_Arg[2]; <span class="comment">// the arguments for the binary operator </span> +00212 <span class="keywordtype">void</span> <a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpb0">clean</a>(<span class="keywordtype">void</span>); +<a name="l00213"></a><a class="code" href="a03138.html#NL3D_1_1CPSColorBinOpp5">00213</a> <a class="code" href="a04558.html#a11">uint32</a> _Size, _MaxSize; +00214 }; +00215 +00216 +00217 } <span class="comment">// NL3D</span> +00218 +00219 <span class="preprocessor">#include "<a class="code" href="a04794.html">3d/ps_attrib_maker_bin_op_inline.h</a>"</span> +00220 +00221 +00222 <span class="preprocessor">#endif // NL_PS_ATTRIB_MAKER_BIN_OP_H</span> +00223 <span class="preprocessor"></span> +00224 <span class="comment">/* End of ps_attrib_maker_bin_op.h */</span> +</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:32:24 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |