FLofPLEL

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - VLFL/Surfaces
Introduced first in SolidGeometry 1.1, Creation date: 2013-08-12, Last change: 2025-09-14

returns tessellation of a 2D points list and contour edge list

Description

Uses Delaunay triangulation to tessellate a contour including additional contours.
Checks whether DelaunayTri changes the point order. Uses outdated DelaunayTri

See Also: PLFLofVLELdelaunay , FLofCPL , PLFLofCPLpoly , PLFLofCPLdelaunay , PLELofCPL

Example Illustration

 missing image of FLofPLEL(PL,EL)

Syntax

[FLin,VL,EL,FLout]=FLofPLEL(PL,EL)

Input Parameter

PL: 2D Point list
EL: Contour edge list

Output Parameter

FLin: Facet list inside
VL: Vertex list could be longer
EL: Edge List all
FLout: Facet list outside

Examples


CPL=[PLcircle(10); NaN NaN; PLcircle(4)];
[PL,EL]=PLELofCPL(CPL);
FLofPLEL(PL,EL);




Copyright 2013-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Algorithm (Workflow)

This function, FLofPLEL, performs a Delaunay triangulation on a set of 2D points and a contour edge list. It is designed to tessellate a contour, including additional contours, and checks if the Delaunay triangulation changes the point order. The function uses an outdated version of DelaunayTri as of 2017-08-23.

Input Parameters

Output Results

Algorithm Steps

  1. Check if the edge list EL is empty. If it is, return empty lists for FLin, VL, and EL.
  2. Suppress warnings temporarily using warning('off').
  3. Perform Delaunay triangulation on the point list PL and edge list EL using DelaunayTri.
  4. Re-enable warnings with warning('on').
  5. Determine the in-out status of the triangulation using inOutStatus(dt).
  6. Assign the inside facets to FLin and the outside facets to FLout.
  7. Extract the vertex list VL and the edge list EL from the triangulation object.
  8. Check if the vertex list VL is not equal to the original point list PL. If they differ, issue a warning that points were added or removed by DelaunayTri.
  9. If no output arguments are specified, plot the inside facets in red and the edges in black using SGfigure, VLFLplot, and VLELplots.
Algorithm explaination created using ChatGPT on 2025-08-19 07:33. (Please note: No guarantee for the correctness of this explanation)

Last html export of this page out of FM database by TL: 2025-09-21