pub fn check_requirements(
n_darts_face: usize,
n_darts_allocated: usize,
) -> Result<(), TriangulateError>Expand description
Checks if a face meets the requirements for triangulation.
This function performs several checks on a face before it can be triangulated:
- Ensures the face has at least 3 vertices.
- Verifies that the face is not already triangulated.
- Confirms that the correct number of darts have been allocated for triangulation.
§Arguments
n_darts_face- The number of darts in the face to be triangulated.n_darts_allocated- The number of darts allocated for the triangulation process.face_id- The identifier of the face being checked.
§Return / Errors
This function can return:
Ok(())if all checks pass and the face is ready for triangulation.Err(TriangulateError)if any check fails, with a specific error describing the issue.
A failed check can result in the following errors:
TriangulateError::UndefinedFace- If the face has fewer than 3 vertices.TriangulateError::AlreadyTriangulated- If the face already has exactly 3 vertices.TriangulateError::NotEnoughDarts- If there aren’t enough darts allocated for triangulation.TriangulateError::TooManyDarts- If there are too many darts allocated for triangulation.