+\define@choicekey*{MeshAddOne}{bbox}[\val\nr]{none, show}{%
+ \ifcase\nr\relax%
+ \def\luameshval@bbox{none}%
+ \or%
+ \def\luameshval@bbox{bbox}%
+ \fi%
+}%
+\presetkeys{MeshAddOne}{tikz=false,scale, meshpoint,newpoint,color,colorBack,colorNew,colorCircle,step=badtriangles,mode=int,bbox=none}{}%
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the difinition BW Bowyer and Watson algo
+\newcommand*{\meshAddPointBW}[3][]{%
+ % #1 : the string containing the list of points
+ % (x1,y1);(x2,y2);... or the name file containing the points
+ \setkeys{MeshAddOne}{#1} %
+ \def\MeshPoint{\luameshval@meshpoint}%
+ \def\NewPoint{\luameshval@newpoint}%
+ \ifKV@MeshAddOne@tikz% if we are using tikz
+ \directlua{%
+ buildMeshTikZ("#2","\luameshval@mode","\luameshval@print","\luameshval@bbox","full","\luameshval@scale","\luameshval@color")%
+ }%
+ \else % we are using MP
+ \mplibcolor{\luameshmpcolor}{\luameshval@color}
+ \mplibcolor{\luameshmpcolorBack}{\luameshval@colorback}
+ \mplibcolor{\luameshmpcolorNew}{\luameshval@colornew}
+ \mplibcolor{\luameshmpcolorCircle}{\luameshval@colorcircle}
+ \directlua{%
+ TeXOnePointMPBW("#2","#3","\luameshval@step","\luameshval@scale","\luameshval@mode","\luameshval@bbox")%
+ }%
+ %
+ \fi%
+}%
+%%% the meshAddPointBWinc commande
+%% engine of drawing
+\newif\ifluameshengineMP%
+\define@boolkey{MeshAddOneBWinc}{tikz}[true]{}%
+%% the scale
+\define@key{MeshAddOneBWinc}{scale}[1cm]{\def\luameshval@scale{#1}}%
+%% the name of the points
+\define@key{MeshAddOneBWinc}{meshpoint}[P]{\def\luameshval@meshpoint{#1}}%
+%% the name of the new point
+\define@key{MeshAddOneBWinc}{newpoint}[P]{\def\luameshval@newpoint{#1}}%