% +------------------------------------------------------------------------+ % | Reference manual page: ParameterizationPatchableMesh_3.tex % +------------------------------------------------------------------------+ % | 29.08.2005 Laurent Saboret, Pierre Alliez, Bruno Levy % | Package: Parameterization % | \RCSdef{\RCSPatchableMeshAdaptorRev}{$Id$} \RCSdefDate{\RCSPatchableMeshAdaptorDate}{$Date$} % | %%RefPage: end of header, begin of main body % +------------------------------------------------------------------------+ \begin{ccRefConcept}{ParameterizationPatchableMesh_3} %% \ccHtmlCrossLink{} %% add further rules for cross referencing links %% \ccHtmlIndexC[concept]{} %% add further index entries \ccDefinition % The section below is automatically generated. Do not edit! %START-AUTO(\ccDefinition) 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 {\em cut} following a certain path. This mainly means that:\begin{itemize} \item vertices can be tagged as inside or outside the patch to parameterize.\item the fields specific to parameterizations (index, u, v, is\_parameterized) can be set per {\em corner} (aka half-edge).\end{itemize} The main purpose of this feature is to allow the parameterization package to parameterize any 3D surface by decomposing it as a list of topological disks. %END-AUTO(\ccDefinition) \ccHeading{Design Pattern} % The section below is automatically generated. Do not edit! %START-AUTO(\ccHeading{Design Pattern}) ParameterizationPatchableMesh\_3 is an Adaptor \cite{cgal:ghjv-dpero-95}: it changes the interface of a 3D mesh to match the interface expected by class Parameterization\_mesh\_patch\_3. %END-AUTO(\ccHeading{Design Pattern}) \ccRefines % The section below is automatically generated. Do not edit! %START-AUTO(\ccRefines) ParameterizationPatchableMesh\_3 inherits from concept ParameterizationMesh\_3. %END-AUTO(\ccRefines) In addition to the requirements described in the concept MeshAdaptor\_3, PatchableMeshAdaptor\_3 provides the following: \ccTypes % The section below is automatically generated. Do not edit! %START-AUTO(\ccTypes) %END-AUTO(\ccTypes) \ccCreation \ccCreationVariable{mesh} %% define variable name used by \ccMethod below Construction and destruction are undefined. % The section below is automatically generated. Do not edit! %START-AUTO(\ccCreation) %END-AUTO(\ccCreation) \ccOperations % The section below is automatically generated. Do not edit! %START-AUTO(\ccOperations) \ccMethod{int get_vertex_seaming (Vertex_const_handle vertex) const;} { Get/set vertex seaming flag. Default value is undefined. } \ccGlue \ccMethod{void set_vertex_seaming (Vertex_handle vertex, int seaming);} { } \ccGlue \ccMethod{int get_halfedge_seaming (Vertex_const_handle source, Vertex_const_handle target) const;} { Get/set oriented edge's seaming flag, ie position of the oriented edge wrt to the UNIQUE main border. } \ccGlue \ccMethod{void set_halfedge_seaming (Vertex_handle source, Vertex_handle target, int seaming);} { } \ccGlue \ccMethod{Point_2 get_corners_uv (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const;} { Get/set the 2D position (= (u,v) pair) of corners at the {\em right} of the prev\_vertex -$>$ vertex -$>$ next\_vertex line. Default value is undefined. } \ccGlue \ccMethod{void set_corners_uv (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, const Point_2 & uv);} { } \ccGlue \ccMethod{bool are_corners_parameterized (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const;} { Get/set {\em is parameterized} field of corners at the {\em right} of the prev\_vertex -$>$ vertex -$>$ next\_vertex line. Default value is undefined. } \ccGlue \ccMethod{void set_corners_parameterized (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, bool parameterized);} { } \ccGlue \ccMethod{int get_corners_index (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const;} { Get/set index of corners at the {\em right} of the prev\_vertex -$>$ vertex -$>$ next\_vertex line. Default value is undefined. } \ccGlue \ccMethod{void set_corners_index (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, int index);} { } \ccGlue \ccMethod{int get_corners_tag (Vertex_const_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex) const;} { Get/set all purpose tag of corners at the {\em right} of the prev\_vertex -$>$ vertex -$>$ next\_vertex line. Default value is undefined. } \ccGlue \ccMethod{void set_corners_tag (Vertex_handle vertex, Vertex_const_handle prev_vertex, Vertex_const_handle next_vertex, int tag);} { } \ccGlue %END-AUTO(\ccOperations) \ccHasModels % The section below is automatically generated. Do not edit! %START-AUTO(\ccHasModels) Adaptators for Polyhedron\_3 and TDS\_2 with 3D points are provided. %END-AUTO(\ccHasModels) \ccRefIdfierPage{CGAL::Parameterization_polyhedron_adaptor_3} \\ \ccSeeAlso \ccRefIdfierPage{ParameterizationMesh_3} \end{ccRefConcept} % +------------------------------------------------------------------------+ %%RefPage: end of main body, begin of footer % EOF % +------------------------------------------------------------------------+