<html>
<body>
Hi Ashley,<br><br>
I'm copying this back to the vtkusers list so other people can help too
in solving this problem.<br><br>
- Amy<br><br>
At 09:35 PM 4/26/2006, you wrote:<br>
<blockquote type=cite class=cite cite=""><font size=2>Hi Amy,<br>
</font>&nbsp;<br>
<font size=2>m_Points are the coordinates of the created points.<br>
I'm trying to get the coordinates of the point id 1. <br>
I've tried using id 0, but it doesn't seems to work too. <br>
</font>&nbsp;<br>
<font size=2>Here's my code again.<br>
</font>&nbsp;<br>
<font size=2>//Usual render stuffs<br>
//Create Points <br>
vtkPoints *pts = vtkPoints::New();<br>
pts-&gt;InsertPoint (0, 0, 3, 0);<br>
pts-&gt;InsertPoint (1, 1, 2, 0);<br>
pts-&gt;InsertPoint (2, 0, 2, 1);<br>
pts-&gt;InsertPoint (3, -1, 2, 0);<br>
pts-&gt;InsertPoint (4, 0, 2, -1);<br>
</font>&nbsp;<br>
<font size=2>//Create Lines to link points<br>
vtkCellArray *lines = vtkCellArray::New();<br>
&nbsp;lines-&gt;InsertNextCell (3); <br>
&nbsp;lines-&gt;InsertCellPoint (1); <br>
&nbsp;lines-&gt;InsertCellPoint (0);<br>
&nbsp;lines-&gt;InsertCellPoint (2);<br>
</font>&nbsp;<br>
<font size=2>&nbsp;lines-&gt;InsertNextCell (3); <br>
&nbsp;lines-&gt;InsertCellPoint (3);<br>
&nbsp;lines-&gt;InsertCellPoint (0); <br>
&nbsp;lines-&gt;InsertCellPoint (4);<br>
</font>&nbsp;<br>
<font size=2>vtkPolyData *pd = vtkPolyData::New();<br>
pd-&gt;SetPoints(pts);<br>
pd-&gt;SetLines(lines);<br>
&nbsp;<br>
//Create tubes around the lines<br>
//Create Sphere<br>
vtkSphereSource *sphere = vtkSphereSource::New();<br>
&nbsp;<br>
//Map sphere to every input points<br>
vtkGlyph3D *spheres = vtkGlyph3D::New();<br>
spheres-&gt;SetInput(pd);<br>
spheres-&gt;SetSource(sphere-&gt;GetOutput());<br><br>
vtkPolyDataMapper *sphereMapper= vtkPolyDataMapper::New();<br>
sphereMapper-&gt;SetInputConnection(spheres-&gt;GetOutputPort());<br><br>
vtkActor *sphereActor = vtkActor::New();<br>
sphereActor-&gt;SetMapper(sphereMapper);<br>
&nbsp;<br>
//Create text as marker when pick<br>
//Create camera<br>
//Add spheresActors, edgeActors (the tubes) and textActors (text
markers)<br>
&nbsp;<br>
//Create callback command<br>
PropCaller *caller = PropCaller::New();<br>
caller-&gt;SetRenderer (ren);<br>
caller-&gt;SetSelectionActor (textActor[0]); //set it to the first text
only<br>
caller-&gt;SetPoints (pts); //passing in the pointer pts so that i can
get the coordinates in my subclass PropCaller for comparison<br><br>
renWin-&gt;Render();<br>
iren-&gt;AddObserver (vtkCommand::CharEvent, caller);<br>
iren-&gt;Start();<br>
&nbsp;<br>
///// In my PropCaller class //////<br>
class PropCaller : public vtkCommand {<br>
public:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static PropCaller *New() {return new
PropCaller;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void SetSelectionActor(vtkActor*
marker){m_Marker = marker;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void SetRenderer (vtkRenderer
*myRenderer);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; virtual vtkRenderer
*MakeRenderer();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRenderer *GetRenderer ();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void SetPoint(vtkPoints* pts) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
m_Points = pts;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; virtual void Execute (vtkObject
*caller, unsigned long, void*) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
int x,y;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkRenderWindowInteractor *iren =
reinterpret_cast&lt;vtkRenderWindowInteractor*&gt;(caller);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
iren-&gt;GetEventPosition(x, y);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkPropPicker *picker = vtkPropPicker::New();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
picker-&gt;Pick(x,y,0,this-&gt;renderer);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkActor *pickedActor = picker-&gt;GetActor();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (picker-&gt;GetPickPosition() == m_Points-&gt;GetPoint(1)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (m_Marker) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
m_Mark-&gt;VisibilityOn();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
m_Mark-&gt;SetPosition(picker-&gt;GetPickPosition());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
iren-&gt;Render();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
protected:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PropCaller();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~PropCaller();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRenderer *renderer;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkActor *m_Marker;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkActor *m_Actor;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPoints *m_Points;<br>
};<br><br>
<hr>
</font><font face="Tahoma" size=2><b>From:</b> Amy Squillacote<br>
<b>Sent:</b> Wed 26-Apr-06 8:16 PM<br>
<b>To:</b> Ashley Sher; vtkusers@vtk.org<br>
<b>Subject:</b> Re: [vtkusers] Problem with vtkPoint::GetPoint(vtk
IdType)<br>
</font><br><br>
<pre>Hi Ashley,

What is m_Points supposed to contain?&nbsp; You didn't include the code 
showing where the values in this instance of vtkPoints comes 
from.&nbsp; Also, what are you getting back from your call to
GetPoint?&nbsp; I 
see that you're calling GetPoint(1); remember that VTK numbers from 
0, so if you're trying to compare against the first point in 
m_Points, you should call GetPoint(0).

- Amy

At 05:46 AM 4/26/2006, Ashley Sher wrote:

&gt;Hi all,
&gt;
&gt;I tried to use GetPoint to retreive the coordinates of defined
point,
&gt;however, it's not working. It is not returning the actual point
coordinate.
&gt;
&gt;Anyone met with this problem before?
&gt;
&gt;vtkPoints *pts = vtkPoints::New();
&gt;pts-&gt;InsertPoint (0, 0, 3, 0);
&gt;pts-&gt;InsertPoint (1, 1, 2, 0);
&gt;pts-&gt;InsertPoint (2, 0, 2, 1);
&gt;pts-&gt;InsertPoint (3, -1, 2, 0);
&gt;pts-&gt;InsertPoint (4, 0, 2, -1);
&gt;
&gt;vtkPolyData *pd = vtkPolyData::New();
&gt;pd-&gt;SetPoints(pts);
&gt;
&gt;vtkSphereSource *sphere = vtkSphereSource::New();
&gt;vtkGlyph3D *spheres = vtkGlyph3D::New();
&gt;spheres-&gt;SetInput(pd);
&gt;spheres-&gt;SetSource(sphere-&gt;GetOutput());
&gt;vtkPolyDataMapper *sphereMapper= vtkPolyDataMapper::New();
&gt;sphereMapper-&gt;SetInputConnection(spheres-&gt;GetOutputPort());
&gt;vtkActor *sphereActor = vtkActor::New();
&gt;sphereActor-&gt;SetMapper(sphereMapper);
&gt;
&gt;iren-&gt;GetEventPosition(x, y);
&gt;vtkPropPicker *picker = vtkPropPicker::New();
&gt;picker-&gt;Pick(x,y,0,this-&gt;renderer);
&gt;vtkActor *pickedActor = picker-&gt;GetActor();
&gt;
&gt;if (picker-&gt;GetPickPosition() == m_Points-&gt;GetPoint(1)) {
&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
:
&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
:
&gt;}
&gt;--
&gt;View this message in context: 
&gt;<a href="http://www.nabble.com/Problem-with-vtkPoint::GetPoint(vtk-IdType)-t1510830.html#a4098328" eudora="autourl">
http://www.nabble.com/Problem-with-vtkPoint%3A%3AGetPoint%28vtk-IdType%29-t1510830.html#a4098328</a>
&gt;Sent from the VTK - Users forum at Nabble.com.
&gt;
&gt;_______________________________________________
&gt;This is the private VTK discussion list.
&gt;Please keep messages on-topic. Check the FAQ at: 
&gt;<a href="http://www.vtk.org/Wiki/VTK_FAQ" eudora="autourl">
http://www.vtk.org/Wiki/VTK_FAQ</a>
&gt;Follow this link to subscribe/unsubscribe:
&gt;<a href="http://www.vtk.org/mailman/listinfo/vtkusers" eudora="autourl">
http://www.vtk.org/mailman/listinfo/vtkusers</a>


</pre><font face="Courier New, Courier"></font></blockquote></body>
</html>