Hi!<br><br>Ahhhhhh...that must be it... I am so stupid! Thanks for pointing that out to me! I have to wait till tomorrow to try it out...<br><br>Wondering why <br>picker-&gt;GetSelectionPoint(ptActual); <br>worked though...must have been an accident!
<br><br>Thanks,<br><br>Anja<br>&nbsp;<br><br><br><div><span class="gmail_quote">On 31/08/06, <b class="gmail_sendername">Obada Mahdi</b> &lt;<a href="mailto:omahdi@gmx.de">omahdi@gmx.de</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Anja!<br><br>On Aug 31, 2006, at 7:08 PM, Anja Ende wrote:<br>&gt; Ok, I figured out that the GetMapperPosition() was the answer to my<br>&gt; question. However, I have another problem now...<br>&gt;<br>&gt; I included the following code in my left mouse button handler and
<br>&gt; it causes a segmentation fault!!!<br>&gt;<br>&gt; vtkRenderWindowInteractor *rwi = this-&gt;Interactor;<br>&gt;&nbsp;&nbsp;if (rwi)<br>&gt;&nbsp;&nbsp;{<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vtkPointPicker *picker = (vtkPointPicker *)rwi-&gt;GetPicker
<br>&gt; ();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; picker-&gt;Pick(x, y, m_viewer-&gt;GetCurrentSlice(), this-<br>&gt; &gt;CurrentRenderer);<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; &quot;PointId: &quot; &lt;&lt; picker-&gt;GetPointId() &lt;&lt; &quot;\n&quot;;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout.flush();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (picker-&gt;GetPointId() != -1)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double * ptActual, *ptMapped;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; picker-&gt;GetSelectionPoint(ptActual); // OK
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; picker-&gt;GetMapperPosition(ptMapped); //<br>&gt; CRASHES!!!!!<br>[...]<br><br>In case this is not pseudo-code with the &quot;double *ptActual,<br>*ptMapped;&quot; added for clarification:
<br><br>It seems that you mixed up the semantics of those &quot;Get...(double*)&quot;<br>calls a bit -- you can either do<br><br>| double *ptActual, *ptMapped;<br>|<br>| ptActual = picker-&gt;GetSelectionPoint();<br>| std::cout &lt;&lt; ptActual[0] ...
<br><br>accessing some internal storage of the picker, or have it copy the<br>return value to the location you specify as parameter, like<br><br>| double ptActual[3], ptMapped[3];<br>|<br>| picker-&gt;GetSelectionPoint(ptActual);
<br>| std::cout &lt;&lt; ptActual[0] ...<br><br>In the code above, results are written to the address pointed to by<br>`ptActual' and `ptMapped', which are undefined and might hold about<br>any value at run time.<br><br><br>
HTH,<br><br>Obada<br><br><br></blockquote></div><br>