<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi guys,<br>
<br>
I need some help for the following problem.<br>
<br>
I have a class which describes the appearance of a cube.<br>
<br>
class CubeInfo<br>
{<br>
   public: </p>
<p>         double* sideLength;<br>
}<br>
<br>
Now I am looking for a way to render a cube based on the information of a CubeInfo object automatically. Therefore, the cube should be updated<br>
whenever data of the CubeInfo changes. The sideLength member points to a double value which changes regularly.<br>
<br>
The set functions of the vtkCubeSource do not allow to pass pointers to it:<br>
<br>
</p>
<pre class="de1" style="padding: 0px; border: 0px none white; background: none rgb(249, 249, 249); line-height: 1.2em; font-stretch: normal; margin-top: 0px; margin-bottom: 0px; vertical-align: top;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"> vtkSmartPointer</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"><</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">vtkCubeSource</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"> cubeSource </span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">=</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"> 
 vtkSmartPointer</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"><</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">vtkCubeSource</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">></span><span class="sy4" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">::</span><span class="me2" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">New</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">(</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">)</span><span class="sy4" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">;</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">
 cubeSource</span><span class="sy2" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">-</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">SetCenter</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">(</span><span class="nu16" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">0.0</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">, </span><span class="nu16" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">0.0</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">, </span><span class="nu16" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">0.0</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">)</span><span class="sy4" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">;</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">
 cubeSource</span><span class="sy2" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">-</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">SetXLength</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">(*</span><span class="nu16" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">sideLength</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">)</span><span class="sy4" style=""><font face="Arial, Helvetica, sans-serif" style="color: rgb(0, 128, 128);"><span style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">;  </span><span style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">
</span></font><font face="monospace, monospace" style="color: rgb(0, 128, 128);"><span style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);"> cubeSource</span></font><span class="sy2" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">-</span><span class="sy1" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">></span><span style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">SetYLength</span><span class="br0" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">(*</span><span class="nu16" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">sideLength</span><span class="br0" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">)</span><span class="sy4" style=""><font color="#008080" face="Arial, Helvetica, sans-serif"><span style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">;</span><span style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">
</span></font></span></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);"> cubeSource</span><span class="sy2" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">-</span><span class="sy1" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">></span><span style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">SetZLength</span><span class="br0" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">(*</span><span class="nu16" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">sideLength</span><span class="br0" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">)</span><span class="sy4" style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">;</span></pre>
<br>
In this case the cube is rendered with the side length value at the time of creation and will not change.<br>
Ideally, i would like to pass the "sideLength" pointer to the cubeSource and every time the Cube is repainted (interaction or something) the cube should<br>
change its radius according to the value the pointer is pointing to.<br>
<br>
The only solution I found is to regularly check if the value the pointer is pointing to changes and use a callback / signal-slot
<span>mechanism which calls a function<br>
which contains:<br>
</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;"><br>
cubeSource</span><span class="sy2" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">-</span><span class="sy1" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">SetXLength</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">(*</span><span class="nu16" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">sideLength</span><span class="br0" style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt;">);<br>
update(); <br>
<br>
or <span style="font-family: Arial, Helvetica, sans-serif; font-size: 13.3333px;">
use the "setScale" method of the corresponding actor</span> to change the length.<br>
<br>
Is there any mechanism in VTK which allows "streaming"/variable data inputs? Or is there any Qt / C++
<span>workaround?</span><br>
<br>
Thank you very much!</span>
<p></p>
<div><br>
</div>
<div>
<pre class="de1" style="font-family: monospace, monospace; padding: 0px; border: 0px none white; background: none rgb(249, 249, 249); line-height: 1.2em; font-stretch: normal; font-size: 1em; margin-top: 0px; margin-bottom: 0px; vertical-align: top;"><br><span class="sy4" style="color: rgb(0, 128, 128);"><pre class="de1" style="font-size: 1em; font-family: monospace, monospace; padding: 0px; border: 0px none white; background: none rgb(249, 249, 249); line-height: 1.2em; font-stretch: normal; margin-top: 0px; margin-bottom: 0px; vertical-align: top;"><span class="sy4" style="color: rgb(0, 128, 128);"></span></pre>

</span></pre>
<br>
</div>
<p></p>
</div>
</body>
</html>