mirror of https://github.com/CGAL/cgal
Add PMPSizingField concept to docs
This commit is contained in:
parent
e3727e4a88
commit
98a3f14c73
|
|
@ -0,0 +1,59 @@
|
||||||
|
/// \ingroup PkgPolygonMeshProcessingConcepts
|
||||||
|
/// \cgalConcept
|
||||||
|
///
|
||||||
|
/// The concept `PMPSizingField` defines the requirements for the sizing field
|
||||||
|
/// used in `CGAL::Polygon_mesh_processing::isotropic_remeshing()` to define
|
||||||
|
/// the target length for every individual edge during the remeshing process.
|
||||||
|
|
||||||
|
class PMPSizingField{
|
||||||
|
public:
|
||||||
|
|
||||||
|
/// @name Types
|
||||||
|
/// @{
|
||||||
|
|
||||||
|
/// Vertex descriptor type
|
||||||
|
typedef unspecified_type vertex_descriptor;
|
||||||
|
|
||||||
|
/// Halfedge descriptor type
|
||||||
|
typedef unspecified_type halfedge_descriptor;
|
||||||
|
|
||||||
|
/// 3D point type
|
||||||
|
typedef unspecified_type Point_3;
|
||||||
|
|
||||||
|
/// Polygon mesh type
|
||||||
|
typedef unspecified_type PolygonMesh;
|
||||||
|
|
||||||
|
/// Numerical type
|
||||||
|
typedef unspecified_type FT;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// @name Functions
|
||||||
|
/// @{
|
||||||
|
|
||||||
|
/// called to check whether the halfedge 'h' is longer than the target edge size
|
||||||
|
/// and as such should be split. If the halfedge is longer, it returns the squared
|
||||||
|
/// length of the edge.
|
||||||
|
boost::optional<FT> is_too_long(const halfedge_descriptor h,
|
||||||
|
const PolygonMesh& pmesh) const;
|
||||||
|
|
||||||
|
/// called to check whether the halfedge with end vertices 'va' and 'vb' is longer
|
||||||
|
/// than the target edge size and as such should be split. If the halfedge is longer,
|
||||||
|
/// it returns the squared length of the edge.
|
||||||
|
boost::optional<FT> is_too_long(const vertex_descriptor va,
|
||||||
|
const vertex_descriptor vb) const;
|
||||||
|
|
||||||
|
/// called to check whether the halfedge 'h' should be collapsed in case it is
|
||||||
|
/// shorter than the target edge size
|
||||||
|
boost::optional<FT> is_too_short(const halfedge_descriptor h,
|
||||||
|
const PolygonMesh& pmesh) const;
|
||||||
|
|
||||||
|
/// called to define the location of the halfedge 'h' split in case 'is_too_long'
|
||||||
|
/// returns a value
|
||||||
|
Point_3 split_placement(const halfedge_descriptor h,
|
||||||
|
const PolygonMesh& pmesh) const;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue