Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Determining normals and Poisson surface reconstruction or: convert <Point, Vector> pair to Point_with_normal_3?

Subject: CGAL users discussion list

List archive

[cgal-discuss] Determining normals and Poisson surface reconstruction or: convert <Point, Vector> pair to Point_with_normal_3?


Chronological Thread 
  • From: "Oliver Arend" <>
  • To: <>
  • Subject: [cgal-discuss] Determining normals and Poisson surface reconstruction or: convert <Point, Vector> pair to Point_with_normal_3?
  • Date: Fri, 14 Jul 2017 15:36:42 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:EqbmVBSxI/M9CtY4Narn+lXn99psv+yvbD5Q0YIujvd0So/mwa69YxWN2/xhgRfzUJnB7Loc0qyN4v+mATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSijewZbF/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/mHJhMJtgqxVox2uqABwzYDTfIGYL+Z+c6HSfd8GW2ZNQthdWipcCY28dYsPCO8BMP5Wo4fko1sOrAW+Che2BOjy1jJInGH53asn3OgvDArL2wsgEMgUsHvKqtX6KbwfUf2zzKnJ1DnMdOlW1in46IfWdBAtu+yDUqxpfMfX1EIhGQTFjlCKpozkOTOYzvgCs2eB4OpkT+6vjHQnqw53rzOyxckskpHEip8bx13L7yl13Zo5KcOiREN7fdKoCoZcuz2CO4drTM4vTHtktDsmxrEYo5K3YicHxZU9yxLCdvCKcI6F6Q/5WumLOzd3nndldaq/hxms9UigzfXxVtKx0FZWtipJiMTMtnYM1xDK8ceHUOVy/kK/1jaJzQzc9/9LLVg1lardNZEh3qY9mocdvEnMBCP6hVn6gLGMekgk5uSk8fnrbqn+qp+ZLYB0iwX+Mqo0msy4BOQ1Kg8OUHKB+eui0r3s4Fb0QKhMjv03i6XWq4raKtoepqGnBQ9ZyJss5AinAze8zNsYhWUHLE5CeB+fk4fpNEvBIPThAfiiglSsiytkx+3dPr36GZjNNXjCkLL5fbln8UJcyQwzzcpe551OEL0BLujzCQfNs4mMBRAwN0m4wv3sFc5m/oIYQ2OGRKGDZvD8q1iNs6gIJ+iSaZVdkSzwLfRvr6rphGU0n1M1YK+omJENZXW1GLJqLhPKMjLXnt4dHDJS7UIFR+vwhQjaXA==

I have a file with a bunch of 3D points stored in binary. Now I want to both
estimate the normal and then use these to do a Poisson surface
reconstruction. Unfortunately the example for normal estimation at
http://doc.cgal.org/latest/Point_set_processing_3/Point_set_processing_3_2no
rmals_example_8cpp-example.html
uses

typedef std::pair<Point, Vector> PointVectorPair;
std::list<PointVectorPair> points;

to store the points, and accesses points and normals through

CGAL::First_of_pair_property_map<PointVectorPair>
CGAL::Second_of_pair_property_map<PointVectorPair>

respectively.

After I have successfully estimated the normals for all my points I would
like to reconstruct the surface using Poisson. The example at
http://doc.cgal.org/latest/Poisson_surface_reconstruction_3/Poisson_surface_
reconstruction_3_2poisson_reconstruction_example_8cpp-example.html
uses

typedef CGAL::Point_with_normal_3<Kernel> Point_with_normal;
typedef std::vector<Point_with_normal> PointList;
PointList points;

to store the points.

Now it seems I can't simply pass the <Point, Vector> pair like in the
example

Poisson_reconstruction_function function(points.begin(), points.end(),
CGAL::make_normal_of_point_with_normal_pmap(PointList::value_type()) );

(even if I define PointList to be std::list<PointVectorPair>)

Please excuse my ignorance, but I am at a complete loss as to how to
approach this.

So how can I either
- do the whole normal estimation and Poisson reconstruction using a single
set of points (one of the above) or
- convert from <Point, Vector> pairs to Point_with_normal_3?

Thanks in advance
Oliver




Archive powered by MHonArc 2.6.18.

Top of Page