[vtkusers] Test
Yang, Jinzhong
jinzhong76 at gmail.com
Tue Jun 23 13:00:45 EDT 2009
Hi Fred,
Thanks a lot for your kind help. The method you told me works fine with
cutter, but not with clipper. I guess it may be due to the triangles in the
clipper output. The output of cutter are lines, so it is possible to obtain
a polyline after the stripper. While the output of clipper are mostly
triangles (no lines connected to get a polygon on the cutting plane), and
the stripper output are trianglestrips.
Right now I just append the filled cut-plane to the clipped output to form a
closed surface not sure if it is really closed, but at least it looks
like. Anyway, this has solved my problem.
Thanks again!
-Jinzhong
From: Frederic Danesi [mailto:frederic.danesi at dinccs.com]
Sent: Tuesday, June 23, 2009 2:21 AM
To: 'Yang, Jinzhong'; vtkusers at vtk.org
Subject: RE: [vtkusers] Test
Indeed, there is a simple way using a cutter (it may also work with a
clipper). Here is a simple Java example:
vtkCutter cutEdges = new vtkCutter();
cutEdges.SetInput(your_object_to_cut);
cutEdges.SetCutFunction(your_cutting_plane); /returns the intersection edges
vtkStripper cutStrips = new vtkStripper();
cutStrips.SetInput(cutEdges.GetOutput());
cutStrips.Update();
vtkPolyData cutPoly = new vtkPolyData();
cutPoly.SetPoints(cutStrips.GetOutput().GetPoints());
cutPoly.SetPolys(cutStrips.GetOutput().GetLines());
vtkTriangleFilter fillTriangles = new vtkTriangleFilter();
fillTriangles.SetInput(cutPoly);
you will obtain a filled plane
This example is described in the VTK books (clipcow example).
HTH,
Fred.
Cordialement,
F.Danesi
--
Responsable Développement Informatique et Travail Collaboratif
Département DINCCS (Département Ingénierie Numérique, Conception
Collaborative et Simulation)
MICADO / DINCCS
Pôle de Haute Technologie, BP 90005
08005 Charleville-Mézières Cedex
Tel. : +33 (0) 3.24.41.69.55 / +33 (0) 6.62.76.13.32
Email : frederic.danesi at dinccs.com
Web : www.afmicado.com / www.dinccs.com
De : vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] De la part
de Yang, Jinzhong
Envoyé : mardi 23 juin 2009 00:44
À : vtkusers at vtk.org
Objet : Re: [vtkusers] Test
Thank you all for your reply. So it works, great! :)
Here is my question
I have an enclosed surface (in vtkPolyData format) and I use vtkClipPolyData
to clip the surface in a smaller volume. After the clip, I get a surface
that is not closed it becomes open at the cutting plane. I wonder if there
is any simple method in VTK to make the new surface closed again maybe
just put some points on the cutting plane and compose some triangular cells.
Here is the source code that I used to clip the surface
roi_start[3] is the x,y,z values of the starting point of ROI, roi_end[3]
are the x,y,z values of the ending point of ROI.
meshProcessor->GetOutputPort() is an enclosed surface.
double roi_start[3], roi_end[3];
vtkPlanes* BoundingBox = vtkPlanes::New();
BoundingBox->SetBounds(roi_start[0], roi_end[0], roi_start[1], roi_end[1],
roi_start[2], roi_end[2]);
vtkClipPolyData * clipper = vtkClipPolyData::New();
clipper->SetInputConnection(meshProcessor->GetOutputPort());
clipper->SetClipFunction(BoundingBox);
clipper->InsideOutOn();
clipper->Update();
Thanks,
-Jinzhong
From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On Behalf
Of David Doria
Sent: Monday, June 22, 2009 5:05 PM
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] Test
On Mon, Jun 22, 2009 at 5:48 PM, Yang, Jinzhong <jinzhong76 at gmail.com>
wrote:
Test if I can send an email to the mailing list. I failed to send my mail to
the list for several times, but I did see my email on the website.
Yep, its working.
Thanks,
David
Analyse effectuée par AVG - www.avg.fr
Version: 8.5.374 / Base de données virale: 270.12.85/2193 - Date: 06/21/09
20:02:00
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090623/6f12bdbd/attachment.htm>
More information about the vtkusers
mailing list