mirror of https://github.com/CGAL/cgal
doc
This commit is contained in:
parent
76662f75eb
commit
4ebd95c86a
|
|
@ -677,9 +677,10 @@ View of 3D meshes produced from a polyhedral domain with a nested surface.
|
|||
\subsubsection Mesh_3RemeshingPolyhedralSurface Remeshing a Polyhedral Surface
|
||||
|
||||
The following code creates a polyhedral domain, with only one polyhedron,
|
||||
and no "bounding polyhedron". Since the volumetric part of the domain may be empty,
|
||||
and should not be meshed,
|
||||
it is necessary to use the `CGAL::parameters::surface_only()` parameter to mesh the surface only.
|
||||
and no "bounding polyhedron". The volumetric part of the domain may be empty
|
||||
and should not be meshed.
|
||||
In this case, it is recommended to use the `CGAL::parameters::surface_only()` parameter
|
||||
to speedup the meshing of the surface only.
|
||||
This enables to remesh a surface, and is equivalent to the function `make_surface_mesh()`.
|
||||
|
||||
\cgalExample{Mesh_3/remesh_polyhedral_surface.cpp}
|
||||
|
|
|
|||
|
|
@ -121,6 +121,10 @@ several other components (closed or not)
|
|||
that will be represented in the final mesh.
|
||||
This class is a model of the concept `MeshDomain_3`.
|
||||
|
||||
\note When the given surface(s) are not closed, the surface only will be meshed.
|
||||
It is then recommended to use the parameter `parameters::surface_only()` to speedup
|
||||
the meshing process.
|
||||
|
||||
\tparam Polyhedron stands for the type of the input polyhedral surface(s),
|
||||
model of `FaceListGraph`.
|
||||
|
||||
|
|
@ -239,11 +243,11 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
Construction from a polyhedral surface which must and free of intersections.
|
||||
If `polyhedron` is closed, the inside of `bounding_polyhedron` will be meshed,
|
||||
Construction from a polyhedral surface which must be free of intersections.
|
||||
If `polyhedron` is closed, its inside will be meshed,
|
||||
otherwise there will be no interior and only the surface will be meshed.
|
||||
*/
|
||||
Polyhedral_mesh_domain_3(const Polyhedron& bounding_polyhedron
|
||||
Polyhedral_mesh_domain_3(const Polyhedron& polyhedron
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
, CGAL::Random* p_rng = nullptr
|
||||
#endif
|
||||
|
|
@ -252,14 +256,14 @@ public:
|
|||
, bounding_tree_(&tree_) // the bounding tree is tree_
|
||||
, p_rng_(p_rng)
|
||||
{
|
||||
this->add_primitives(bounding_polyhedron);
|
||||
if(! is_triangle_mesh(bounding_polyhedron)) {
|
||||
this->add_primitives(polyhedron);
|
||||
if(!is_triangle_mesh(polyhedron)) {
|
||||
std::cerr << "Your input polyhedron must be triangulated!\n";
|
||||
CGAL_error_msg("Your input polyhedron must be triangulated!");
|
||||
}
|
||||
this->build();
|
||||
|
||||
if(!is_closed(bounding_polyhedron))
|
||||
if(!is_closed(polyhedron))
|
||||
set_surface_only();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,6 +72,10 @@ It is a model of the concept `MeshDomainWithFeatures_3`. It also provides
|
|||
a member function to automatically detect sharp features and boundaries from
|
||||
the input polyhedral surface(s).
|
||||
|
||||
\note When the given surface(s) are not closed, the surface only will be meshed.
|
||||
It is then recommended to use the parameter `parameters::surface_only()` to speedup
|
||||
the meshing process.
|
||||
|
||||
\tparam IGT stands for a geometric traits class providing the types
|
||||
and functors required to implement the intersection tests and intersection computations
|
||||
for polyhedral boundary surfaces. This parameter has to be
|
||||
|
|
@ -162,11 +166,12 @@ public:
|
|||
|
||||
/*!
|
||||
Constructor from a polyhedral surface.
|
||||
No feature detection is done at this level. Note that a copy of `bounding_polyhedron` will be done.
|
||||
The polyhedron `bounding_polyhedron` has to be closed and free of intersections.
|
||||
The interior of `bounding_polyhedron` will be meshed.
|
||||
No feature detection is done at this level. Note that a copy of `polyhedron` will be done.
|
||||
The polyhedron `polyhedron` must be free of intersections.
|
||||
If `polyhedron` is closed, its inside will be meshed,
|
||||
otherwise there will be no interior and only the surface will be meshed.
|
||||
*/
|
||||
Polyhedral_mesh_domain_with_features_3(const Polyhedron& bounding_polyhedron
|
||||
Polyhedral_mesh_domain_with_features_3(const Polyhedron& polyhedron
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
, CGAL::Random* p_rng = nullptr
|
||||
#endif
|
||||
|
|
@ -174,10 +179,13 @@ public:
|
|||
: Base(p_rng) , borders_detected_(false)
|
||||
{
|
||||
stored_polyhedra.resize(1);
|
||||
stored_polyhedra[0] = bounding_polyhedron;
|
||||
stored_polyhedra[0] = polyhedron;
|
||||
get(face_patch_id_t<Patch_id>(), stored_polyhedra[0]);
|
||||
this->add_primitives(stored_polyhedra[0]);
|
||||
this->build();
|
||||
|
||||
if(!is_closed(polyhedron))
|
||||
set_surface_only();
|
||||
}
|
||||
|
||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||
|
|
|
|||
Loading…
Reference in New Issue