\NeedsTeXFormat{LaTeX2e}%
\def\PackageName{luamesh}%
-\def\fileversion{v0.1}%
-\def\filedate{2016/11/20}%
+\def\fileversion{v0.2}%
+\def\filedate{2016/11/29}%
\ProvidesPackage{luamesh}[\filedate\space\fileversion]%
%
% package to load
%% the scale
\define@key{buildMeshInc}{scale}[1cm]{\def\luameshval@bmi@scale{#1}}%
%% print ponits ?
-\define@choicekey*{buildMeshInc}{print}[\val\nr]{none, points}{%
+\define@choicekey*{buildMeshInc}{print}[\val\nr]{none, points,dotpoints}{%
\ifcase\nr\relax%
\def\luameshval@bmi@print{none}%
\or%
\def\luameshval@bmi@print{points}%
+ \or%
+ \def\luameshval@bmi@print{dotpoints}%
\fi%
}%
%% the name of the point
%% the scale
\define@key{buildMesh}{scale}[1cm]{\def\luameshval@bm@scale{#1}}%
%% print points
-\define@choicekey*{buildMesh}{print}[\val\nr]{none, points}{%
+\define@choicekey*{buildMesh}{print}[\val\nr]{none, points, dotpoints}{%
\ifcase\nr\relax%
\def\luameshval@bm@print{none}%
\or%
\def\luameshval@bm@print{points}%
+ \or%
+ \def\luameshval@bm@print{dotpoints}%
\fi%
}%
%% the name of the point
\def\luameshval@bvi@print{points}%
\fi%
}%
+%% style dashed Delaunay
+\define@choicekey*{buildVoronoiInc}{styleDelaunay}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@bvi@styleDelaunay{none}%
+ \or%
+ \def\luameshval@bvi@styleDelaunay{dashed}%
+ \fi%
+}%
+%% style dashed Voronoi
+\define@choicekey*{buildVoronoiInc}{styleVoronoi}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@bvi@styleVoronoi{none}%
+ \or%
+ \def\luameshval@bvi@styleVoronoi{dashed}%
+ \fi%
+}%
%% the name of the point
\define@key{buildVoronoiInc}{meshpoint}[P]{\def\luameshval@bvi@meshpoint{#1}}%
%% the name of the circum point
%% the name of the color of drawing the bbox
\define@key{buildVoronoiInc}{colorBbox}[black]{\def\luameshval@bvi@colorbbox{#1}}%
%
-\presetkeys{buildVoronoiInc}{tikz=false,bbox=none,scale, meshpoint,circumpoint,mode=int,print=none,color,colorVoronoi,colorBbox,delaunay=none}{}%
+\presetkeys{buildVoronoiInc}{tikz=false,bbox=none,scale, meshpoint,circumpoint,mode=int,print=none,color,colorVoronoi,colorBbox,delaunay=none,styleDelaunay=none,styleVoronoi=none}{}%
%
\newcommand*{\buildVoronoiBWinc}[4][]{%
% #1 : optionnal arguments
\def\CircumPoint{\luameshval@bvi@circumpoint}%
\ifKV@buildVoronoiInc@tikz% if we are using tikz
\directlua{%
- buildVoronoiTikZBWinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@bvi@mode","\luameshval@bvi@print","\luameshval@bvi@bbox","\luameshval@bvi@scale","\luameshval@bvi@delaunay","\luameshval@bvi@color","\luameshval@bvi@colorbbox","\luameshval@bvi@colorvoronoi")%
+ buildVoronoiTikZBWinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@bvi@mode","\luameshval@bvi@print","\luameshval@bvi@bbox","\luameshval@bvi@scale","\luameshval@bvi@delaunay","\luameshval@bvi@color","\luameshval@bvi@colorbbox","\luameshval@bvi@colorvoronoi","\luameshval@bvi@styleDelaunay","\luameshval@bvi@styleVoronoi")%
}%
\else % we are using MP
\mplibcolor{\luameshmpcolor}{\luameshval@bvi@color}%
\mplibcolor{\luameshmpcolorBbox}{\luameshval@bvi@colorbbox}%
\mplibcolor{\luameshmpcolorVoronoi}{\luameshval@bvi@colorvoronoi}%
\directlua{%
- buildVoronoiMPBWinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@bvi@mode","\luameshval@bvi@print","\luameshval@bvi@bbox","\luameshval@bvi@scale","\luameshval@bvi@delaunay")%
+ buildVoronoiMPBWinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@bvi@mode","\luameshval@bvi@print","\luameshval@bvi@bbox","\luameshval@bvi@scale","\luameshval@bvi@delaunay","\luameshval@bvi@styleDelaunay","\luameshval@bvi@styleVoronoi")%
}%
%
\fi%
\def\luameshval@bv@mode{ext}%
\fi%
}%
+%% style dashed Delaunay
+\define@choicekey*{buildVoronoi}{styleDelaunay}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@bv@styleDelaunay{none}%
+ \or%
+ \def\luameshval@bv@styleDelaunay{dashed}%
+ \fi%
+}%
+%% style dashed Voronoi
+\define@choicekey*{buildVoronoi}{styleVoronoi}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@bv@styleVoronoi{none}%
+ \or%
+ \def\luameshval@bv@styleVoronoi{dashed}%
+ \fi%
+}%
%% the mode for reading the points
\define@choicekey*{buildVoronoi}{delaunay}[\val\nr]{none, show}{%
\ifcase\nr\relax%
%% the name of the color of drawing the bbox
\define@key{buildVoronoi}{colorBbox}[black]{\def\luameshval@bv@colorbbox{#1}}%
%
-\presetkeys{buildVoronoi}{tikz=false,bbox=none,scale, meshpoint,circumpoint,mode=int,print=none,color,colorVoronoi,colorBbox,delaunay=none}{}%
+\presetkeys{buildVoronoi}{tikz=false,bbox=none,scale,
+ meshpoint,circumpoint,mode=int,print=none,color,colorVoronoi,colorBbox,delaunay=none,styleDelaunay=none, styleVoronoi=none}{}%
%
\newcommand{\buildVoronoiBW}[2][]{%
% #1 : optionnal arguments
\def\CircumPoint{\luameshval@bv@circumpoint}%
\ifKV@buildVoronoi@tikz% if we are using tikz
\directlua{%
- buildVoronoiTikZBW("#2","\luameshval@bv@mode","\luameshval@bv@print","\luameshval@bv@bbox","\luameshval@bv@scale","\luameshval@bv@delaunay","\luameshval@bv@color","\luameshval@bv@colorbbox","\luameshval@bv@colorVoronoi")%
+ buildVoronoiTikZBW("#2","\luameshval@bv@mode","\luameshval@bv@print","\luameshval@bv@bbox","\luameshval@bv@scale","\luameshval@bv@delaunay","\luameshval@bv@color","\luameshval@bv@colorbbox","\luameshval@bv@colorVoronoi","\luameshval@bv@styleDelaunay","\luameshval@bv@styleVoronoi")%
}%
\else % we are using MP
\mplibcolor{\luameshmpcolor}{\luameshval@bv@color}%
\mplibcolor{\luameshmpcolorBbox}{\luameshval@bv@colorbbox}%
\mplibcolor{\luameshmpcolorVoronoi}{\luameshval@bv@colorVoronoi}%
\directlua{%
- buildVoronoiMPBW("#2","\luameshval@bv@mode","\luameshval@bv@print","\luameshval@bv@bbox","\luameshval@bv@scale","\luameshval@bv@delaunay")%
+ buildVoronoiMPBW("#2","\luameshval@bv@mode","\luameshval@bv@print","\luameshval@bv@bbox","\luameshval@bv@scale","\luameshval@bv@delaunay","\luameshval@bv@styleDelaunay","\luameshval@bv@styleVoronoi")%
}%
%
\fi%
\def\luameshval@gvi@delaunay{show}%
\fi%
}%
+%% style dashed Delaunay
+\define@choicekey*{gmshVoronoiInc}{styleDelaunay}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@gvi@styleDelaunay{none}%
+ \or%
+ \def\luameshval@gvi@styleDelaunay{dashed}%
+ \fi%
+}%
+%% style dashed Voronoi
+\define@choicekey*{gmshVoronoiInc}{styleVoronoi}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@gvi@styleVoronoi{none}%
+ \or%
+ \def\luameshval@gvi@styleVoronoi{dashed}%
+ \fi%
+}%
%% the name of the color of drawing
\define@key{gmshVoronoiInc}{color}[black]{\def\luameshval@gvi@color{#1}}%
%% the name of the color of drawing Voronoi
\define@key{gmshVoronoiInc}{colorVoronoi}[red]{\def\luameshval@gvi@colorvoronoi{#1}}%
%
-\presetkeys{gmshVoronoiInc}{tikz=false,scale, meshpoint,circumpoint,print=none,color,colorVoronoi,delaunay=none}{}%
+\presetkeys{gmshVoronoiInc}{tikz=false,scale,
+ meshpoint,circumpoint,print=none,color,colorVoronoi,delaunay=none,styleVoronoi=none, styleDelaunay=none}{}%
%
-\newcommand*{\gmshVoronoiBWinc}[4][]{%
+\newcommand*{\gmshVoronoiinc}[4][]{%
% #1 : optionnal arguments
% #2 : the gmsh file
% #3 : the code to place before the generated one
\def\CircumPoint{\luameshval@gvi@circumpoint}%
\ifKV@gmshVoronoiInc@tikz% if we are using tikz
\directlua{%
- gmshVoronoiTikZinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@gvi@print","\luameshval@gvi@scale","\luameshval@gvi@delaunay","\luameshval@gvi@color","\luameshval@gvi@colorvoronoi")%
+ gmshVoronoiTikZinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@gvi@print","\luameshval@gvi@scale","\luameshval@gvi@delaunay","\luameshval@gvi@color","\luameshval@gvi@colorvoronoi","\luameshval@gvi@styleDelaunay","\luameshval@gvi@styleVoronoi")%
}%
\else % we are using MP
\mplibcolor{\luameshmpcolor}{\luameshval@gvi@color}%
\mplibcolor{\luameshmpcolorVoronoi}{\luameshval@gvi@colorvoronoi}%
\directlua{%
- gmshVoronoiMPinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@gvi@print","\luameshval@gvi@scale","\luameshval@gvi@delaunay")%
+ gmshVoronoiMPinc("#2","\luaescapestring{\unexpanded{#3}}","\luaescapestring{\unexpanded{#4}}","\luameshval@gvi@print","\luameshval@gvi@scale","\luameshval@gvi@delaunay","\luameshval@gvi@styleDelaunay","\luameshval@gvi@styleVoronoi")%
}%
%
\fi%
\def\luameshval@gv@delaunay{show}%
\fi%
}%
+%% style dashed Delaunay
+\define@choicekey*{gmshVoronoi}{styleDelaunay}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@gv@styleDelaunay{none}%
+ \or%
+ \def\luameshval@gv@styleDelaunay{dashed}%
+ \fi%
+}%
+%% style dashed Voronoi
+\define@choicekey*{gmshVoronoi}{styleVoronoi}[\val\nr]{none, dashed}{%
+ \ifcase\nr\relax%
+ \def\luameshval@gv@styleVoronoi{none}%
+ \or%
+ \def\luameshval@gv@styleVoronoi{dashed}%
+ \fi%
+}%
%% the name of the color of drawing
\define@key{gmshVoronoi}{color}[black]{\def\luameshval@gv@color{#1}}%
%% the name of the color of drawing Voronoi
\define@key{gmshVoronoi}{colorVoronoi}[red]{\def\luameshval@gv@colorVoronoi{#1}}%
%
-\presetkeys{gmshVoronoi}{tikz=false,scale, meshpoint,circumpoint,print=none,color,colorVoronoi,delaunay=none}{}%
+\presetkeys{gmshVoronoi}{tikz=false,scale, meshpoint,circumpoint,print=none,color,colorVoronoi,delaunay=none,styleVoronoi=none, styleDelaunay=none}{}%
%
\newcommand{\gmshVoronoi}[2][]{%
% #1 : optionnal arguments
\def\CircumPoint{\luameshval@gv@circumpoint}%
\ifKV@gmshVoronoi@tikz% if we are using tikz
\directlua{%
- gmshVoronoiTikZ("#2","\luameshval@gv@print","\luameshval@gv@scale","\luameshval@gv@delaunay","\luameshval@gv@color","\luameshval@gv@colorVoronoi")%
+ gmshVoronoiTikZ("#2","\luameshval@gv@print","\luameshval@gv@scale","\luameshval@gv@delaunay","\luameshval@gv@color","\luameshval@gv@colorVoronoi","\luameshval@gv@styleDelaunay","\luameshval@gv@styleVoronoi")%
}%
\else % we are using MP
\mplibcolor{\luameshmpcolor}{\luameshval@gv@color}%
\mplibcolor{\luameshmpcolorVoronoi}{\luameshval@gv@colorVoronoi}%
\directlua{%
- gmshVoronoiMP("#2","\luameshval@gv@print","\luameshval@gv@scale","\luameshval@gv@delaunay")%
+ gmshVoronoiMP("#2","\luameshval@gv@print","\luameshval@gv@scale","\luameshval@gv@delaunay","\luameshval@gv@styleDelaunay","\luameshval@gv@styleVoronoi")%
+ }%
+ %
+ \fi%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%% the meshPolygon command
+%%
+\define@boolkey{meshPolygon}{tikz}[true]{}%
+
+%% the scale
+\define@key{meshPolygon}{scale}[1cm]{\def\luameshval@mp@scale{#1}}%
+%% print points
+\define@choicekey*{meshPolygon}{print}[\val\nr]{none, points,dotpoints}{%
+ \ifcase\nr\relax%
+ \def\luameshval@mp@print{none}%
+ \or%
+ \def\luameshval@mp@print{points}%
+ \or%
+ \def\luameshval@mp@print{dotpoints}%
+ \fi%
+}%
+%% the name of the point
+\define@key{meshPolygon}{meshpoint}[P]{\def\luameshval@mp@meshpoint{#1}}%
+%% the grid parameter
+\define@key{meshPolygon}{h}[0.2]{\def\luameshval@mp@h{#1}}%
+%% the mode for reading the points
+\define@choicekey*{meshPolygon}{mode}[\val\nr]{int, ext}{%
+ \ifcase\nr\relax%
+ \def\luameshval@mp@mode{int}%
+ \or%
+ \def\luameshval@mp@mode{ext}%
+ \fi%
+}%
+%% the different steps of the meshing
+\define@choicekey*{meshPolygon}{step}[\val\nr]{polygon, grid, points, mesh}{%
+ \ifcase\nr\relax%
+ \def\luameshval@mp@step{polygon}%
+ \or%
+ \def\luameshval@mp@step{grid}%
+ \or%
+ \def\luameshval@mp@step{points}%
+ \or%
+ \def\luameshval@mp@step{mesh}%
+ \fi%
+}%
+
+%% the name of the color of drawing
+\define@key{meshPolygon}{color}[black]{\def\luameshval@mp@color{#1}}%
+%% the name of the color of drawing Voronoi
+\define@key{meshPolygon}{colorPolygon}[red]{\def\luameshval@mp@colorPolygon{#1}}%
+%% the name of the color of drawing the bbox
+%
+\presetkeys{meshPolygon}{tikz=false,scale,mode=int,step=mesh,print=none,color,colorPolygon,h}{}%
+%
+\newcommand{\meshPolygon}[2][]{%
+ % #1 : optionnal arguments
+ % #2 : the string containing the list of points
+ % (x1,y1);(x2,y2);... or the name file containing the points
+ \setkeys{meshPolygon}{#1} %
+ \def\MeshPoint{\luameshval@mp@meshpoint}%
+ \ifKV@meshPolygon@tikz% if we are using tikz
+ \directlua{%
+ drawMeshPolygonTikZBW("#2","\luameshval@mp@mode","\luameshval@mp@print","\luameshval@mp@bbox","\luameshval@mp@scale","\luameshval@mp@delaunay","\luameshval@mp@color","\luameshval@mp@colorbbox","\luameshval@mp@colorVoronoi","\luameshval@mp@styleDelaunay","\luameshval@mp@styleVoronoi")%
+ }%
+ \else % we are using MP
+ \mplibcolor{\luameshmpcolor}{\luameshval@mp@color}%
+ \mplibcolor{\luameshmpcolorPoly}{\luameshval@mp@colorPolygon}%
+ \directlua{%
+ drawMeshPolygonMP("#2","\luameshval@mp@mode","\luameshval@mp@h","\luameshval@mp@step","\luameshval@mp@print","\luameshval@mp@scale")%
}%
%
\fi%