CGAL 6.2 - 3D Skin Surface Meshing: Skin_surface_3/union_of_balls_subdiv.cpp

CGAL 6.2 - 3D Skin Surface Meshing

Loading...
Searching...
No Matches
Skin_surface_3/union_of_balls_subdiv.cpp
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Union_of_balls_3.h>
#include <CGAL/Polyhedron_3.h>
#include <CGAL/mesh_union_of_balls_3.h>
#include <CGAL/subdivide_union_of_balls_mesh_3.h>
#include <list>
#include "skin_surface_writer.h"
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Skin_surface_traits_3<K> Traits;
typedef CGAL::Union_of_balls_3<Traits> Union_of_balls_3;
typedef Union_of_balls_3::Bare_point Bare_point;
typedef Union_of_balls_3::Weighted_point Weighted_point;
typedef CGAL::Polyhedron_3<K,
CGAL::Skin_surface_polyhedral_items_3<Union_of_balls_3> > Polyhedron;
int main()
{
std::list<Weighted_point> l;
l.push_front(Weighted_point(Bare_point( 1,-1,-1), 1.25));
l.push_front(Weighted_point(Bare_point( 1, 1, 1), 1.25));
l.push_front(Weighted_point(Bare_point(-1, 1,-1), 1.25));
l.push_front(Weighted_point(Bare_point(-1,-1, 1), 1.25));
Polyhedron p;
Union_of_balls_3 union_of_balls(l.begin(), l.end(), Traits(), true);
CGAL::mesh_union_of_balls_3(union_of_balls, p);
CGAL::subdivide_union_of_balls_mesh_3(union_of_balls, p);
std::ofstream out("output.off");
out << p;
return 0;
}
CGAL::Exact_predicates_inexact_constructions_kernel
CGAL::Polyhedron_3
CGAL::Skin_surface_traits_3
The class Skin_surface_traits_3 is designed as a default traits class for the class Skin_surface_3<Sk...
Definition: Skin_surface_traits_3.h:17
CGAL::Union_of_balls_3
The Union_of_balls_3 is used to represent a skin surface with shrink factor equal to one,...
Definition: Union_of_balls_3.h:21
CGAL::Skin_surface_polyhedral_items_3
An items class for the Polyhedron_3 that stores information in faces instead of an auxiliary data str...
Definition: Skin_surface_polyhedral_items_3.h:12