Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Newbie question about CGAL Hierarchy Triangulation 3.

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Newbie question about CGAL Hierarchy Triangulation 3.


Chronological Thread 
  • From: Manuel Caroli <>
  • To:
  • Subject: Re: [cgal-discuss] Newbie question about CGAL Hierarchy Triangulation 3.
  • Date: Mon, 10 Aug 2009 10:16:17 +0200

Hi Juliano,

Juliano Costa wrote:
Hello Manuel,
Some additional issues:
1. About Alpha Shapes:
- As you suggested I tried to do something nested in order to set my ->info() information along with the added vertices.
My used declaration is like this:
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
//My info is just a ordered index for the vertices
typedef CGAL::Triangulation_vertex_base_with_info_3<CPUInt64_t, K> Vbi;
typedef CGAL::Alpha_shape_vertex_base_3<K,Vbi> AsVbi;
typedef CGAL::Alpha_shape_cell_base_3<K> AsCb;
typedef CGAL::Alpha_shape_3<DelaunayTriangleHierarchy> Alpha_shape_3;
typedef Alpha_shape_3::Alpha_iterator Alpha_iterator;
typedef Alpha_shape_3::NT NT;
Then I got these errors:
error C2039: 'set_down' : is not a member of 'CGAL::Alpha_shape_vertex_base_3<Gt,Vb>'
error C2039: 'set_up' : is not a member of 'CGAL::Alpha_shape_vertex_base_3<Gt,Vb>'

Am I doing anything wrong about your suggestion?!
If you use the triangulation hierarchy you have to use the Triangulation_hierarchy_vertex_base_3.
I didn't understang why if I use "incident_cells(infinite_vertex(), output_iterator)" I wouln't
need the index any longer.
I understood you tried to get all the edges that lie in the convex hull. In this case you don't need to set any index. If you need the index for some other purpose then you'll have to set it. I don't know enough about your problem to tell you more.
I'm using this ->info to set the index, so after the triangulation the indexes of the vertices
are the same as when I add it, since after the insertion the initial order is not guaranteed,
right?! So I guess this info is fundamental. Or not???
2. About the Surface Reconstruction:
Unfortunately I'm not very familiar with the surface reconstruction package so I cannot comment on this.

best

Manuel

- The Surface Reconstruction seems to be great for any kind of points cloud but
I have a point cloud with x,y,z only (not the normals) and then I tried to use the
example "..\examples\Point_set_processing_3\normal_estimation" to calculate
the necessary oriented normals for the Poisson reconstruction.
I'm trying to use it on a x,y,z file of a points cloud with 50000 points and the
program is freezing on the second fase (normals orientation). See the output
of the program:
tunnel_50mil.xyz tunnel_50mil_normals.xyz
Normal estimation
Open tunnel_50mil.xyz for reading...
Reads file tunnel_50mil.xyz: 50000 points, 2.496 seconds
Estimates Normals Direction by Jet Fitting (k=18)...
Calls jet_estimate_normals()
6 Mb allocated
Creates KD-tree
11 Mb allocated
Computes normals
14 Mb allocated
End of jet_estimate_normals()
done: 52.405 seconds, 7 Mb allocated
Orients Normals with a Minimum Spanning Tree (k=18)...
Calls mst_orient_normals()
7 Mb allocated
Create Index_property_map
Index_property_map: optimized version for a random access container
mst_find_source()
7 Mb allocated
Creates KD-tree
13 Mb allocated
Creates Riemannian Graph
//From here (...) Never finishes!
Thanks a lot for all your help! Juliano Costa
2009/8/5 Manuel Caroli < <mailto:>>

Hi Juliano,

Juliano Costa wrote:

Hello again Manuel,
Yes. By "surface" I was refearring to the convex hull (the
outter side of the envelop points).

Note that you can use

incident_cells(infinite_vertex(), output_iterator) to get the cells
that have the triangles of the convex hull as a facet.

This new package for "Surface reconstruction" seems just GREAT.
It looks exactlly what I need to do.
I'm going to download the beta version to test it now!
Just one more thing:
I was trying to to integrate the alpha shape with my current
example.
Right now I have CGAL::Triangulation_vertex_base_with_info_3 in
order to set the ->info() with my
index.
For the alpha shape, If I really understood it, I must use
CGAL::Alpha_shape_vertex_base_3 but this does not contain
the "info" field.
Is there any other way for me to set the "info"?
There should be an CGAL::Alpha_shape_vertex_base_with_info_3
file to do so, right?!

It should be possible to use them in a nested way, i.e.
Alpha_shape_vertex_base_3<Traits,Triangulation_vertex_base_with_info_3>

Maybe with the above mentioned approach to extract the convex hull
you don't need the info anymore...

best

Manuel






Archive powered by MHonArc 2.6.16.

Top of Page