CGAL 4.6.1 - Planar Parameterization of Triangulated Surface Meshes
|
ParameterizationPatchableMesh_3
inherits from concept ParameterizationMesh_3
, thus is a concept of a 3D surface mesh.
ParameterizationPatchableMesh_3
adds the ability to support patches and virtual seams. Patches are a subset of a 3D mesh. Virtual seams are the ability to behave exactly as if the surface was cut following a certain path.
This mainly means that: vertices can be tagged as inside or outside the patch to parameterize. the fields specific to parameterizations (index, u, v, is_parameterized
) can be set per corner (aka half-edge).
The main purpose of this feature is to allow the Surface_mesh_parameterization
package to parameterize any 3D surface by decomposing it as a list of topological disks.
ParameterizationPatchableMesh_3
is an Adaptor [6] : it changes the interface of a 3D mesh to match the interface expected by class Parameterization_mesh_patch_3
.
Construction and destruction are undefined.
Polyhedron_3
is provided: CGAL::Parameterization_polyhedron_adaptor_3<Polyhedron_3_>
ParameterizationMesh_3
Operations | |
int | get_vertex_seaming (Vertex_const_handle vertex) const |
Get vertex seaming flag. More... | |
void | set_vertex_seaming (Vertex_handle vertex, int seaming) |
Set vertex seaming flag. More... | |
int | get_halfedge_seaming (Vertex_const_handle source, Vertex_const_handle target) const |
Get oriented edge's seaming flag, i.e. position of the oriented edge w.r.t. to the UNIQUE main border. | |
void | set_halfedge_seaming (Vertex_handle source, Vertex_handle target, int seaming) |
Set oriented edge's seaming flag, i.e. position of the oriented edge w.r.t. to the UNIQUE main border. | |
Point_2 | get_corners_uv (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const |
Get the 2D position (= (u, v) pair) of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
void | set_corners_uv (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, const Point_2 &uv) |
Set the 2D position (= (u, v) pair) of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
bool | are_corners_parameterized (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const |
Get is parameterized field of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
void | set_corners_parameterized (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, bool parameterized) |
Set is parameterized field of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
int | get_corners_index (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const |
Get index of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
void | set_corners_index (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, int index) |
Set index of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
int | get_corners_tag (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const |
Get all purpose tag of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
void | set_corners_tag (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, int tag) |
Set all purpose tag of corners at the right of the prev_vertex -> vertex -> next_vertex line. More... | |
bool ParameterizationPatchableMesh_3::are_corners_parameterized | ( | Vertex_const_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex | ||
) | const |
Get is parameterized field of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
int ParameterizationPatchableMesh_3::get_corners_index | ( | Vertex_const_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex | ||
) | const |
Get index of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
int ParameterizationPatchableMesh_3::get_corners_tag | ( | Vertex_const_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex | ||
) | const |
Get all purpose tag of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
Point_2 ParameterizationPatchableMesh_3::get_corners_uv | ( | Vertex_const_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex | ||
) | const |
Get the 2D position (= (u, v) pair) of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
int ParameterizationPatchableMesh_3::get_vertex_seaming | ( | Vertex_const_handle | vertex) | const |
Get vertex seaming flag.
Default value is undefined.
void ParameterizationPatchableMesh_3::set_corners_index | ( | Vertex_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex, | ||
int | index | ||
) |
Set index of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
void ParameterizationPatchableMesh_3::set_corners_parameterized | ( | Vertex_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex, | ||
bool | parameterized | ||
) |
Set is parameterized field of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
void ParameterizationPatchableMesh_3::set_corners_tag | ( | Vertex_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex, | ||
int | tag | ||
) |
Set all purpose tag of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
void ParameterizationPatchableMesh_3::set_corners_uv | ( | Vertex_handle | vertex, |
Vertex_const_handle | prev_vertex, | ||
Vertex_const_handle | next_vertex, | ||
const Point_2 & | uv | ||
) |
Set the 2D position (= (u, v) pair) of corners at the right of the prev_vertex -> vertex -> next_vertex
line.
Default value is undefined.
void ParameterizationPatchableMesh_3::set_vertex_seaming | ( | Vertex_handle | vertex, |
int | seaming | ||
) |
Set vertex seaming flag.
Default value is undefined.