% +------------------------------------------------------------------------+
% | Reference manual page: ParameterizerTraits_3.tex
% +------------------------------------------------------------------------+
% | 21.09.2005   Laurent Saboret, Pierre Alliez
% | Package: Parameterization
% |
\RCSdef{\RCSParameterizerTraitsRev}{$Id$}
\RCSdefDate{\RCSParameterizerTraitsDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefConcept}{ParameterizerTraits_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)

ParameterizerTraits\_3 is a concept of parameterization object for a given type of mesh, 'Adaptor', which is a model of the ParameterizationMesh\_3 concept.

%END-AUTO(\ccDefinition)


\ccTypes

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)

\ccNestedType{Adaptor}
{
Export the type of mesh to parameterize.
}
\ccGlue

%END-AUTO(\ccTypes)


\ccConstants

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccConstants)

\ccEnum{enum Error_code { OK, ERROR_EMPTY_MESH, ERROR_NON_TRIANGULAR_MESH, ERROR_NO_SURFACE_MESH,  ERROR_INVALID_BORDER, ERROR_BAD_MATRIX_CONDITIONING, ERROR_CANNOT_SOLVE_LINEAR_SYSTEM, ERROR_NO_1_TO_1_MAPPING,  ERROR_NOT_ENOUGH_MEMORY, ERROR_WRONG_PARAMETER  };}
{
List of errors detected by this package.
}
\ccGlue
\begin{description}
\item[Enumeration values: ]
\begin{description}
\item[OK
]Success. \item[ERROR\_EMPTY\_MESH
]Error: input mesh is empty. \item[ERROR\_NON\_TRIANGULAR\_MESH
]Error: input mesh is not triangular. \item[ERROR\_NO\_SURFACE\_MESH
]Error: input mesh is not a surface. \item[ERROR\_INVALID\_BORDER
]Error: parameterization requires a convex border. \item[ERROR\_BAD\_MATRIX\_CONDITIONING
]Error: result is mathematically unstable. \item[ERROR\_CANNOT\_SOLVE\_LINEAR\_SYSTEM
]Error: cannot solve linear system. \item[ERROR\_NO\_1\_TO\_1\_MAPPING
]Error: parameterization does not ensure 1 to 1 mapping. \item[ERROR\_NOT\_ENOUGH\_MEMORY
]Error: not enough memory. \item[ERROR\_WRONG\_PARAMETER
]Error: a method received an unexpected parameter. \end{description}
\end{description}
\ccGlue

%END-AUTO(\ccConstants)


\ccCreation
\ccCreationVariable{param}  %% variable name for \ccMethod

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{Error_code parameterize (Adaptor * mesh);}
{
Compute a 1 to 1 mapping from a triangular 3D surface 'mesh' to a piece of the 2D space. The mapping is linear by pieces (linear in each triangle). The result is the (u,v) pair image of each vertex of the 3D surface.
Preconditions:\begin{itemize}
\item 'mesh' must be a surface with 1 connected component and no hole.\item 'mesh' must be a triangular mesh. \end{itemize}
}
\ccGlue

%END-AUTO(\ccOperations)


\ccHasModels

\ccRefIdfierPage{CGAL::Parameterizer_traits_3}  \\
\ccRefIdfierPage{CGAL::Fixed_border_parameterizer_3}  \\
\ccRefIdfierPage{CGAL::Barycentric_mapping_parameterizer_3}  \\
\ccRefIdfierPage{CGAL::Discrete_authalic_parameterizer_3}  \\
\ccRefIdfierPage{CGAL::Discrete_conformal_map_parameterizer_3}  \\
\ccRefIdfierPage{CGAL::LSCM_parameterizer_3}  \\
\ccRefIdfierPage{CGAL::Mean_value_coordinates_parameterizer_3}  \\


\ccSeeAlso

\ccRefIdfierPage{ParameterizationMesh_3}  \\


\end{ccRefConcept}

% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

