Utkarsh,

Unfortunately, the STL that produced the issue is confidential and also quite 
large, so I am unsure how to go about producing something equivalent. Let me 
know what you find after looking at the reader and I will try to find something 
appropriate. To be honest, the reasoning is speculative, but it is clear that 
the STL reader has some drawbacks. At the very least we would be happy to test 
any alterations you might come up with on the original input.

Not merging the points is a reasonable work-around, but you will lose some 
utility (feature detection). I think it should be relatively easy to create or 
port an existing algorithm that is a bit more efficient (of course these kind 
of assumptions tend to be wrong, but anyway!).

Eugene

From: Utkarsh Ayachit [mailto:utkarsh.ayac...@kitware.com]
Sent: 05 July 2016 17:05
To: Eugene de Villiers <e.devilli...@engys.com>
Cc: paraview@paraview.org
Subject: Re: [Paraview] Suggestion for STL import

Eugene,

I am pretty sure the community will be interested in this! While I'll need to 
look into the reader to understand, to get things going, do you have a sample 
dataset to demonstrate the issue?

Utkarsh

On Tue, Jul 5, 2016 at 10:28 AM, Eugene de Villiers 
<e.devilli...@engys.com<mailto:e.devilli...@engys.com>> wrote:
Hi,

When importing STL format geometry or similar, where connectivity information 
is not implicit in the data structure, it appears that the connectivity is 
reconstructed via an  octree search. This is very inefficient when surfaces 
with large differences in edge length are imported – we have had a recent case 
where an STL took 45mins to load. If the same input geometry is converted to 
OBJ format via an external tool, the load time reduces to minutes.

A generally more efficient method is to calculate the distance of each point 
from a location outside the point cloud bounding box and then to bubble-sort 
the resulting list. Unless you are dealing with a pathological case your local 
search neighbourhood of identical distance points will be small and the 
algorithm very fast. More complex, multi-origin algorithms are also possible to 
counter pathological instances.

I can provide more details and sample code if you are interested.

Best regards,

Eugene de Villiers
Managing Director
e.devilli...@engys.com<mailto:e.devilli...@engys.com>
Mob: +44 (0) 77 89748490<tel:%2B44%20%280%29%2077%2089748490>
Tel: +44 (0)20 32393041<tel:%2B44%20%280%2920%2032393041> (ext. 102)
Fax: +44 (0)20 33573123<tel:%2B44%20%280%2920%2033573123>
[logo_red-black_fonts_signature]<http://www.engys.com/>

This message is intended only for the use of the addressee and may contain 
information that is privileged, confidential and exempt from disclosure under 
applicable law. If the reader of this message is not the intended recipient, or 
the employee or agent responsible for delivering the message to the intended 
recipient, you are hereby notified that any dissemination, distribution or 
copying of this communication is strictly prohibited. If you have received this 
e-mail in error, please notify us immediately by return e-mail and delete this 
e-mail and all attachments from your system.



_______________________________________________
Powered by www.kitware.com<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 ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

_______________________________________________
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 ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to