X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=delaunay.git;a=blobdiff_plain;f=luamesh.sty;h=363d085bceb7c1896a1329fb1c69a090588351b8;hp=9d7c06bcc7c7985372b9150eccb251a06584cddf;hb=fe3a5df51411d6ea20f72115641db9bc7d19a466;hpb=7bc85345ad42b4b24478accec113804862650422 diff --git a/luamesh.sty b/luamesh.sty index 9d7c06b..363d085 100644 --- a/luamesh.sty +++ b/luamesh.sty @@ -50,11 +50,13 @@ %% 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 @@ -110,11 +112,13 @@ %% 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 @@ -821,3 +825,74 @@ % \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% +}%