[vtkusers] Edge flagging in vtkPolyData

Viet Bui Xuan v.buixuan at simpleware.com
Tue May 13 09:48:27 EDT 2014


Hello again,

 

I don't know if my email has been missed just because it's a relatively
quiet period at the moment, or if there is genuinely no simple solution to
the problem I tried to describe.

 

We'll keep looking around a bit, but it looks like it's not possible to flag
edges of a vtkPolyData and have the information preserved/generated
"correctly" automatically by filters so I guess we'll just have to rewrite
all the filters we want to use when we want that information to be passed
from the input to the output.

 

Thanks for reading :)

 

Viet

 

From: Viet Bui Xuan [mailto:v.buixuan at simpleware.com] 
Sent: 08 May 2014 12:22
To: vtkusers at vtk.org
Subject: RE: Edge flagging in vtkPolyData

 

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/20140513/5d68af2f/attachment.html>


More information about the vtkusers mailing list