<div dir="ltr">
<pre style="margin-top:0px;margin-bottom:0px">The related code:</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">......</pre><pre style="margin-top:0px;margin-bottom:0px">
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)">// Create volume volumeProperty and attach transfer functions</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolumeProperty</span><span style="color:rgb(0,0,0)">::</span>New<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span><span style="font-style:italic;color:rgb(0,0,0)">SetIndependentComponents</span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">false</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetScalarOpacity<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetColor<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetInterpolationTypeToLinear<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>ShadeOn<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,0,0)">......</span></pre></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">void setBlendType<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">blendType</span><span style="color:rgb(0,0,0)">)</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,0,0)">{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">// Init</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>RemoveAllPoints<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>RemoveAllPoints<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityLevel</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1048</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityWindow</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2048</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">// Add function points</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">switch</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,0)">blendType</span><span style="color:rgb(0,0,0)">)</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">// RGB</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">case</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">.</span>size<span style="color:rgb(0,0,0)">()</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">==</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">)</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">break</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span><span style="font-style:italic;color:rgb(0,0,0)">SetIndependentComponents</span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">false</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeMapper</span><span style="color:rgb(0,0,0)">-></span>SetBlendModeToComposite<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetAmbient<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.1</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetDiffuse<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.9</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetSpecular<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.2</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span>SetSpecularPower<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">10.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">break</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">// Two scalar</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">case</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">.</span>size<span style="color:rgb(0,0,0)">()</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)"><</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(0,0,0)">)</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">break</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">]+</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddPoint<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">][</span><span style="color:rgb(0,0,128)">1</span><span style="color:rgb(0,0,0)">],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(0,0,0)">-></span><span style="font-style:italic;color:rgb(0,0,0)">SetIndependentComponents</span><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">true</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">break</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">default</span><span style="color:rgb(0,0,0)">:</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(0,0,0)">-></span>AddSegment<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityLevel</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">-</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityWindow</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityLevel</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">+</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span style="color:rgb(0,0,0)">*</span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">opacityWindow</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(0,0,0)">-></span>AddRGBSegment<span style="color:rgb(0,0,0)">(</span><span style="color:rgb(0,0,128)">0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">500</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span style="color:rgb(0,0,0)">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(128,0,0)">volumeMapper</span><span style="color:rgb(0,0,0)">-></span>SetBlendModeToMaximumIntensity<span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">break</span><span style="color:rgb(0,0,0)">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,0)">}</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,0,0)">}</span></pre></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-20 22:56 GMT+08:00 Enya Shen <span dir="ltr"><<a href="mailto:enya.shen2010@gmail.com" target="_blank">enya.shen2010@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I get nothing error message. And I only don't see any opacity! <div><br></div><div>The range of the first scalar is about [0, 12]. And the second is [0,1].</div>
<div><br></div><div>I am really confused.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-20 22:33 GMT+08:00 Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span>:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Mar 20, 2014 at 10:27 AM, Enya Shen <span dir="ltr"><<a href="mailto:enya.shen2010@gmail.com" target="_blank">enya.shen2010@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>I tried to use different scalar for color and opacity in volume rendering as follows. But it failed to use the second scalar to get opacity. Why? Thank you for any advice!!!</div>
<div>
<pre style="margin-top:0px;margin-bottom:0px">......
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkPiecewiseFunction* </span><span style="color:rgb(128,0,0)">opacityFn</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkPiecewiseFunction</span><span>::</span>New<span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkColorTransferFunction* </span><span style="color:rgb(128,0,0)">colorFn</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkColorTransferFunction</span><span>::</span>New<span>();</span></pre>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkVolumeProperty* </span><span style="color:rgb(128,0,0)">volumeProperty</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolumeProperty</span><span>::</span>New<span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span>-></span><span style="font-style:italic">SetIndependentComponents</span><span>(</span><span style="color:rgb(128,128,0)">false</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span>-></span>SetScalarOpacity<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">opacityFn</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span>-></span>SetColor<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">colorFn</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span>-></span>SetInterpolationTypeToLinear<span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeProperty</span><span>-></span>ShadeOn<span>();</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span><br>
</span></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial">vtkVolume* </span><span style="color:rgb(128,0,0)">volumeActor</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkVolume</span><span>::</span>New<span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">volumeActor</span><span>-></span>SetProperty<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">volumeProperty</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span>-></span>AddRGBPoint<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">0</span><span>][</span><span style="color:rgb(0,0,128)">0</span><span>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span>-></span>AddRGBPoint<span>(</span><span style="color:rgb(0,0,128)">0.5</span><span>*(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">0</span><span>][</span><span style="color:rgb(0,0,128)">0</span><span>]+</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">0</span><span>][</span><span style="color:rgb(0,0,128)">1</span><span>]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">colorFn</span><span>-></span>AddRGBPoint<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">0</span><span>][</span><span style="color:rgb(0,0,128)">1</span><span>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(128,0,0)">opacityFn</span><span style="font-family:arial">-></span><span style="font-family:arial">AddPoint</span><span style="font-family:arial">(</span><span style="font-family:arial;color:rgb(128,128,0)">this</span><span style="font-family:arial">-></span><span style="font-family:arial;color:rgb(128,0,0)">scalarsRange</span><span style="font-family:arial">[</span><span style="font-family:arial;color:rgb(0,0,128)">1</span><span style="font-family:arial">][</span><span style="font-family:arial;color:rgb(0,0,128)">0</span><span style="font-family:arial">],</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial">,</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial">,</span><span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(0,0,128)">0.0</span><span style="font-family:arial">);</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span>-></span>AddPoint<span>(</span><span style="color:rgb(0,0,128)">0.5</span><span>*(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">1</span><span>][</span><span style="color:rgb(0,0,128)">0</span><span>]+</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">1</span><span>][</span><span style="color:rgb(0,0,128)">1</span><span>]),</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.5</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,0)">opacityFn</span><span>-></span>AddPoint<span>(</span><span style="color:rgb(128,128,0)">this</span><span>-></span><span style="color:rgb(128,0,0)">scalarsRange</span><span>[</span><span style="color:rgb(0,0,128)">1</span><span>][</span><span style="color:rgb(0,0,128)">1</span><span>],</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial;color:rgb(128,0,0)">volumeProperty</span><span style="font-family:arial">-></span><span style="font-style:italic;font-family:arial">SetIndependentComponents</span><span style="font-family:arial">(</span><span style="font-family:arial;color:rgb(128,128,0)">true</span><span style="font-family:arial">);</span></pre>
</pre></pre></div></div></blockquote><div><br></div><div><br></div></div></div><div>Did you get any error or its just that you don't see any opacity? What are the ranges? I may have to look at the VTK code</div><div>
and your data to provide a solution. </div>
<div><br></div><div>- Aashish</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px">
<pre style="margin-top:0px;margin-bottom:0px"><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">......</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial"><br></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Regards,</span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="font-family:arial">Enya</span></pre>
</pre></pre></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer <br>| Kitware Inc. <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>
</font></span></div></div>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div>