[vtkusers] vtkusers Digest, Vol 145, Issue 16
Richard Frank
rickfrank at me.com
Mon May 16 15:17:26 EDT 2016
Thanks I'll try again - coulda sworn I tried those but if those don't work I must have some other issue going on...
Rick Frank
> On May 16, 2016, at 1:47 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>
> Look at
> Common/ComputationalGeometry/Testing/Cxx/UnitTestParametricSpline.cxx
>
> You can just
> theImageRead = reader->GetOutput();
>
>> On Mon, May 16, 2016 at 1:38 PM, Richard Frank <rickfrank at me.com> wrote:
>> Sorry for the blank reply previous.
>>
>> The Tutorial is great but I don't see an example of the case I'm talking
>> about.
>>
>> That is, returning a pointer to the caller in such a way that the caller
>> doesn't have to think about whether they need to explicitly delete.
>>
>> so, given a function or method with a signature already returning a bool,
>> and other code already dependent on that return type, I want to return the
>> result of reading a file, for instance:
>>
>> bool ReadAnImageFile(vtkSmartPointer<vtkImageData> & theImageRead)
>> {
>> vtkSmartPointer<vtkImageFileReader> reader =
>> vtkSmartPointer<vtkImageFileReader>::New9);
>>
>> reader->SetFileName("Something.png");
>> reader->Update();
>>
>> vtkImageData * image = reader->GetOutput(); How to get image into
>> theImageRead?
>>
>> // This seems to work
>>
>> theImageRead->DeepCopy(image);
>>
>> // but if it's really doing a deep copy and I have a large 3D .mha file or
>> something
>> // it will be slow.....is there a better way?
>> }
>>
>>
>> Thanks
>>
>> Rick
>>
>> On May 16, 2016, at 12:00 PM, vtkusers-request at vtk.org wrote:
>>
>> Send vtkusers mailing list submissions to
>> vtkusers at vtk.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> http://public.kitware.com/mailman/listinfo/vtkusers
>> or, via email, send a message with subject or body 'help' to
>> vtkusers-request at vtk.org
>>
>> You can reach the person managing the list at
>> vtkusers-owner at vtk.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of vtkusers digest..."
>>
>>
>> Today's Topics:
>>
>> 1. why does the generated 3D model have borken part? (Liu_tj)
>> 2. Re: SmartPointer reference? (Dan Lipsa)
>> 3. Re: vtkBooleanOperationPolyDataFilter creates non-manifold
>> edges (Andras Lasso)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Mon, 16 May 2016 21:11:33 +0800 (CST)
>> From: Liu_tj <tjlp at netease.com>
>> To: vtkusers <vtkusers at vtk.org>
>> Subject: [vtkusers] why does the generated 3D model have borken part?
>> Message-ID: <7543d5b6.11.154b9b16f2f.Coremail.tjlp at netease.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Hi,
>>
>> I used vtkMarchingCubes, vtkDecimatePro and vtkSmoothPolyDataFilter to
>> generate 3D model for DICOM image. When it is firstly generated, the 3D
>> model is fine (See the attached First.jpg). However, when I store it to STL
>> file and use STLReader to read the STL file and display in vtkRenderWindow,
>> it shows broken part (See loading.jpg). Why?
>>
>> Thanks
>> Liu Peng
>>
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:
>> <http://public.kitware.com/pipermail/vtkusers/attachments/20160516/b1f7bc02/attachment-0001.html>
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: First.jpg
>> Type: image/jpeg
>> Size: 36205 bytes
>> Desc: not available
>> URL:
>> <http://public.kitware.com/pipermail/vtkusers/attachments/20160516/b1f7bc02/attachment-0002.jpg>
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: loading.jpg
>> Type: image/jpeg
>> Size: 24157 bytes
>> Desc: not available
>> URL:
>> <http://public.kitware.com/pipermail/vtkusers/attachments/20160516/b1f7bc02/attachment-0003.jpg>
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Mon, 16 May 2016 10:18:30 -0400
>> From: Dan Lipsa <dan.lipsa at kitware.com>
>> To: Richard Frank <rickfrank at me.com>
>> Cc: VTK Users <vtkusers at vtk.org>
>> Subject: Re: [vtkusers] SmartPointer reference?
>> Message-ID:
>> <CADwGrVq4_tna0Oph5Tqn+m=6Uk4GTn8GJuGBvdfZ8XudbjcsBA at mail.gmail.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Does this help?
>> http://www.vtk.org/Wiki/VTK/Tutorials/SmartPointers
>>
>> What exactly is the problem you are seeing?
>> Dan
>>
>>
>> On Fri, May 13, 2016 at 7:22 PM, Richard Frank <rickfrank at me.com> wrote:
>>
>>
>> Hi,
>>
>>
>> Is it possible to return a smart pointer by reference?
>>
>>
>> I'd like to return an image as a parameter, rather than a return type but
>>
>> nothing seems to be happy.
>>
>>
>> for instance
>>
>>
>> bool SomeFunction(vtkSmartPointer<vtkImageData> & outImage)
>>
>> {
>>
>> vtkSmartPointer<vtkImageReader> r =
>>
>> vtkSmartPointer<vtkImageReader>::New();
>>
>> r->SetFileName("Path");
>>
>> r->Update();
>>
>> // What next?
>>
>>
>> return true;
>>
>> }
>>
>>
>> I though Take was a possible choice
>>
>>
>> outImage = vtkSmartPointer<vtkImageData>::Take(r->GetOutput());
>>
>>
>> but no happiness there.
>>
>>
>> Any solution?
>>
>>
>> Thanks
>>
>>
>> Rick
>>
>>
>>
>>
>> _______________________________________________
>>
>> Powered by http://www.kitware.com
>>
>>
>> Visit other Kitware open-source projects at
>>
>> http://www.kitware.com/opensource/opensource.html
>>
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>>
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>>
>> Follow this link to subscribe/unsubscribe:
>>
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
>>
>>
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:
>> <http://public.kitware.com/pipermail/vtkusers/attachments/20160516/2787da74/attachment-0001.html>
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Mon, 16 May 2016 15:14:15 +0000
>> From: Andras Lasso <lasso at queensu.ca>
>> To: normanius <juch at zhaw.ch>, "vtkusers at vtk.org" <vtkusers at vtk.org>
>> Subject: Re: [vtkusers] vtkBooleanOperationPolyDataFilter creates
>> non-manifold edges
>> Message-ID:
>>
>> <DM2PR07MB350120A5448638CA86B2746D8770 at DM2PR07MB350.namprd07.prod.outlook.com>
>>
>> Content-Type: text/plain; charset="us-ascii"
>>
>> but it cannot be that one has to do that extra cleanup step after every such
>> basic operation, right?!
>>
>>
>> Performing Boolean operation on meshes may sound easy but is an extremely
>> difficult problem. It would be nice if VTK had a solution that worked
>> reliably, so it's great that you submit reports on specific problems you
>> find.
>>
>> However, I'm not sure if there is anybody who could work on fixing these
>> issues in the near future. So, if you cannot fix them yourself then most
>> likely your best bet is to work around the problem by converting all meshes
>> to images, combining them, and regenerating a mesh.
>>
>> Andras
>>
>> -----Original Message-----
>> From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of normanius
>> Sent: May 15, 2016 4:54 AM
>> To: vtkusers at vtk.org
>> Subject: [vtkusers] vtkBooleanOperationPolyDataFilter creates non-manifold
>> edges
>>
>> Hi all
>>
>> This is an issue that has been raised already. But I wanted to ask whether
>> there is a workaround or whether it actually is a bug that has been properly
>> reported.
>>
>> Find attached sample code which reproduces the problem: If I union two
>> overlapping, watertight objects A and B, the resulting object C very likely
>> won't be watertight (it shows border edges and non-manifold edges).
>>
>> The sample code in essence does this:
>> - create cylinder A as a vtk.vtkCylinderSource
>> - create sphere B as a vtk.vtkSphereSource
>> - extract triangles from A and B
>> - create union C with vtk.vtkBooleanOperationPolyDataFilter() with
>> SetOperationToUnion()
>>
>> The problem occurs also, if I use other objects than cylinders or spheres.
>> The problem occurs also, if I "clean/condition" the surfaces of A and B
>> before calculating the union. (I tried vtkCleanPolyData(),
>> vtkFillHolesFilter() and addition of small noise on the vertices, which
>> sometimes helps to regularise operations on objects)
>>
>> In the following two screenshots. The first one indicates the two objects to
>> union. The second one shows the result, with the non-manifold and border
>> edges.
>>
>> <http://vtk.1045678.n5.nabble.com/file/n5738088/input.png>
>> <http://vtk.1045678.n5.nabble.com/file/n5738088/result.png>
>>
>> Because I often make use of vtkBooleanOperationPolyDataFilter, the problem
>> is really annoying for me. That's why I thought to seek help in the
>> community. Any ideas of how to handle this?
>> Cleaning the surface (set flag cleanOutputSurface=True in my code) does
>> improve the situation in some cases - but it cannot be that one has to do
>> that extra cleanup step after every such basic operation, right?!
>>
>> By the way: this problem has been reported already: see here
>> <http://vtk.1045678.n5.nabble.com/Non-manifold-triangles-after-running-vtkBooleanOperationPolydataFilter-td5713964.html>
>> and here
>> <http://vtk.1045678.n5.nabble.com/Broken-surfaces-for-vtkBooleanOperationPolyDataFilter-Bug-td5735413.html>
>> reproduced_problem.py
>> <http://vtk.1045678.n5.nabble.com/file/n5738088/reproduced_problem.py> .
>>
>> Thanks for any inputs from your side.
>>
>>
>>
>> --
>> View this message in context:
>> http://vtk.1045678.n5.nabble.com/vtkBooleanOperationPolyDataFilter-creates-non-manifold-edges-tp5738088.html
>> Sent from the VTK - Users mailing list archive at Nabble.com.
>> _______________________________________________
>> Powered by http://www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
>>
>> ------------------------------
>>
>> Subject: Digest Footer
>>
>> _______________________________________________
>> Powered by http://www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
>> ------------------------------
>>
>> End of vtkusers Digest, Vol 145, Issue 16
>> *****************************************
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com
More information about the vtkusers
mailing list