Mean curvature skeleton algo creates invalid edges

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Mean curvature skeleton algo creates invalid edges

Yannick Morin-Rivest
Hi guys, 

Just wanted to run it pass you before logging a bug.

I am playing around with the Triangulated Surface Mesh Skeletonization package and trying it with different trisurfaces.

In one scenario, I am getting errors when trying to resolve the skeleton from the contracted mesh in Curve_skeleton.h because some edges are only linked to 1 vertex ( In the init() function when populating the edge_to_vertex lut).

Anyone encountered similar problem?

Cheers


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mean curvature skeleton algo creates invalid edges

Sebastien Loriot (GeometryFactory)
On 02/21/2017 08:24 AM, Yannick Morin-Rivest wrote:

> Hi guys,
>
> Just wanted to run it pass you before logging a bug.
>
> I am playing around with the Triangulated Surface Mesh Skeletonization
> package and trying it with different trisurfaces.
>
> In one scenario, I am getting errors when trying to resolve the skeleton
> from the contracted mesh in Curve_skeleton.h because some edges are only
> linked to 1 vertex ( In the init() function when populating the
> edge_to_vertex lut).
>
> Anyone encountered similar problem?
>
> Cheers
>
>
If you can share the input mesh and the parameters used to produce the
pb I can have a look.

Sebastien.

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Mean curvature skeleton algo creates invalid edges

Yannick Morin-Rivest
As a temporary hacky workaround, I remove the edges that are not connecting 2 vertices using this snippet at the end of the init() function if it can help anyone.

for (int i = 0; i < edge_to_vertex.size(); i++)
{
if (edge_to_vertex[i].size() < 2)
{
bool found;
int ind;
boost::tie(found, ind) = ind_edge(vertex_to_edge[edge_to_vertex[i[0]], i);
if (!found)
{
continue;
}

remove_edge(edge_to_vertex[i][0], i, ind);
}
}

On Tue, Feb 21, 2017 at 3:53 PM Sebastien Loriot (GeometryFactory) <[hidden email]> wrote:
On 02/21/2017 08:24 AM, Yannick Morin-Rivest wrote:
> Hi guys,
>
> Just wanted to run it pass you before logging a bug.
>
> I am playing around with the Triangulated Surface Mesh Skeletonization
> package and trying it with different trisurfaces.
>
> In one scenario, I am getting errors when trying to resolve the skeleton
> from the contracted mesh in Curve_skeleton.h because some edges are only
> linked to 1 vertex ( In the init() function when populating the
> edge_to_vertex lut).
>
> Anyone encountered similar problem?
>
> Cheers
>
>
If you can share the input mesh and the parameters used to produce the
pb I can have a look.

Sebastien.

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Loading...