[vtkusers] vtkDataSet::FindPoint, vtkExtractVOI and world coordinates?
Elvis Stansvik
elvis.stansvik at orexplore.com
Sun Sep 4 08:25:20 EDT 2016
Hi all,
I have multiple volumes in a renderer, positioned above/below each other
(like a "string" of volumes) along the Z axis, none of them are
intersecting. As the user clicks+drags the mouse in the viewport, I need to
capture the mouse position at the start/end positions of the drag operation
and convert them to world coordinates. I think I have these parts figured
out.
Then, I need to search through the list of my volumes (sorted by their end
positions in world coordinates), and construct a series of vtkExtractVOI
that will extract the selected segments. For volumes that are completely
inside the selected area, the vtkExtractVOI will extract the full volumes,
but for the start/end volume (which may be the same volume), it will only
extract a portion of it.
I looked at the vtkDataSet::FindPoint, which I think will give me a linear
point ID (not familiar with that from before) for a point given in world
coordinates. But how can I convert that to a structured point position that
I can use when setting up the extent to use for my vtkExtractVOI?
Is the static vtkStructuredData::ComputePointStructuredCoords helper the
function I'm looking for? Or is there some other easier way to extract an
area of a volume when the area is expressed in world coordinates?
(specifically, as a start/end Z position in world coordinates).
Here's an ASCII drawing that perhaps explains better what I want to do, the
rectangular areas are my volumes:
^ +-----+
| | |
| | P1 | <--- User clicks here (world coordinate X, Y, Z)..
| | |
Z +-----+
+-----+
| |
| |
+-----+
+-----+
| |
| |
| P2 | <--- ..and drags to here (world coordinate A, B, C).
| |
| |
| |
+-----+
>From this I want to create three vtkExtractVOI, that when combined gives a
list of vtkImageData that represents the selected area along the Z axis (in
the X and Y direction, everything from the volumes should be included).
Thanks in advance,
Elvis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160904/c11ccc66/attachment.html>
More information about the vtkusers
mailing list