+\define@choicekey*{MeshAddOneBW}{mode}[\val\nr]{int, ext}{%
+ \ifcase\nr\relax%
+ \def\luameshval@ap@mode{int}%
+ \or%
+ \def\luameshval@ap@mode{ext}%
+ \fi%
+}%
+\define@choicekey*{MeshAddOneBW}{bbox}[\val\nr]{none, show}{%
+ \ifcase\nr\relax%
+ \def\luameshval@ap@bbox{none}%
+ \or%
+ \def\luameshval@ap@bbox{bbox}%
+ \fi%
+}%
+\presetkeys{MeshAddOneBW}{tikz=false,scale, meshpoint,newpoint,color,colorBack,colorNew,colorCircle,step=badtriangles,mode=int,bbox=none,colorBbox}{}%
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand*{\meshAddPointBW}[3][]{%
+ % #1 : optionnal arguments
+ % #2 : the string containing the list of points
+ % (x1,y1);(x2,y2);... or the name file containing the points
+ \setkeys{MeshAddOneBW}{#1} %
+ \def\MeshPoint{\luameshval@ap@meshpoint}%
+ \def\NewPoint{\luameshval@ap@newpoint}%
+ \ifKV@MeshAddOneBW@tikz% if we are using tikz
+ \directlua{%
+ TeXOnePointTikZBW("#2","#3","\luameshval@ap@step","\luameshval@ap@scale","\luameshval@ap@mode","\luameshval@ap@bbox","\luameshval@ap@color","\luameshval@ap@colorback","\luameshval@ap@colornew","\luameshval@ap@colorcircle","\luameshval@ap@colorbbox")%
+ }%
+ \else % we are using MP
+ \mplibcolor{\luameshmpcolor}{\luameshval@ap@color}
+ \mplibcolor{\luameshmpcolorBack}{\luameshval@ap@colorback}
+ \mplibcolor{\luameshmpcolorNew}{\luameshval@ap@colornew}
+ \mplibcolor{\luameshmpcolorCircle}{\luameshval@ap@colorcircle}
+ \mplibcolor{\luameshmpcolorBbox}{\luameshval@ap@colorbbox}
+ \directlua{%
+ TeXOnePointMPBW("#2","#3","\luameshval@ap@step","\luameshval@ap@scale","\luameshval@ap@mode","\luameshval@ap@bbox")%
+ }%
+ %
+ \fi%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% the meshAddPointBWinc commande with callbacks
+%% engine of drawing
+\define@boolkey{MeshAddOneBWinc}{tikz}[true]{}%
+%% the scale
+\define@key{MeshAddOneBWinc}{scale}[1cm]{\def\luameshval@api@scale{#1}}%
+%% the name of the points
+\define@key{MeshAddOneBWinc}{meshpoint}[P]{\def\luameshval@api@meshpoint{#1}}%
+%% the name of the new point
+\define@key{MeshAddOneBWinc}{newpoint}[P]{\def\luameshval@api@newpoint{#1}}%
+%% a complete picture or some code of the engine
+\define@choicekey*{MeshAddOneBWinc}{step}[\val\nr]{badtriangles, cavity, newtriangles}{%