[vtkusers] Edge flagging in vtkPolyData

Viet Bui Xuan v.buixuan at simpleware.com
Thu May 8 07:22:22 EDT 2014


Hello,

 

So as explained previously, I want to assign information to edges in a
vtkPolyData and pass it through filters.

 

I just wanted to add more information about what was tried or considered.

 

Thoughts: 

.         Most methods that involve referring to a filter's input point IDs
won't work since the point IDs will be different in the output.

.         Using Pedigree IDs. This seemed promising at first but it turns
out the Pedigree IDs are "per point" or "per polygon", and can't be defined
"per edge". Using the "per point" method where points involved in flagged
edges are set to "ON" would not work because it doesn't handle ambiguous
cases of three points belonging to the same triangle that has two flagged
edges. There is a way to encode the edge information in each triangle (edge
1 of this triangle is flagged, etc.), but this added logic is not handled
seamlessly by the classes that deal with passing the pedigree IDs to the new
vtkPolyData.

.         If a filter modifies the topology of the vtkPolyData, I would like
the 2 edges generated from splitting a "flagged edge" to also inherit from
the "flagged" information.

.         Methods that compare point coordinates before and after to recover
the information would not work for filters that modify the position of
points.

 

It seems like a useful "standard" thing to expect VTK to be able to do,
especially as it seems like the necessary code is in place to allow this for
cells and points.

 

Does anyone have any ideas?

 

Thanks,

 

Viet

 

From: Viet Bui Xuan [mailto:v.buixuan at simpleware.com] 
Sent: 06 May 2014 16:11
To: 'vtkusers at vtk.org'
Subject: Edge flagging in vtkPolyData

 

Hello everyone,

 

I have come across a problem that doesn't seem to have an obvious solution,
when looking at the VTK documentation.

 

Perhaps more experienced VTK users can put me on the right track!

 

Goal:

I've got a vtkPolyData and we allow users of the application to flag/select
some edges. I would like to be able to encode the edge information in a way
that would allow me to apply any user selected filter without having to
worry about keeping track explicitly (i.e. modify each filter) of the edges
that were flagged.

 

I hope this question makes sense. Please don't hesitate to ask me if
something's not clear. And of course any input/advice would be very welcome!

 

Cheers,

 

Viet

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140508/02bd846d/attachment.html>


More information about the vtkusers mailing list