Ajout fonctionnalité de dashed pour Voronoi, documentation
authorMaxime Chupin (escudo) <chupin@fougeriens.org>
Wed, 30 Nov 2016 19:16:41 +0000 (20:16 +0100)
committerMaxime Chupin (escudo) <chupin@fougeriens.org>
Wed, 30 Nov 2016 19:16:41 +0000 (20:16 +0100)
archives/luamesh-v0-2.zip
doc/luamesh-doc.listing
doc/luamesh-doc.out
doc/luamesh-doc.pdf
doc/luamesh-doc.tex
doc/luamesh-doc.toc
luamesh.lua
luamesh.sty

index b9b264c..0bd6309 100644 (file)
Binary files a/archives/luamesh-v0-2.zip and b/archives/luamesh-v0-2.zip differ
index 12eb637..e2c8906 100644 (file)
@@ -5,19 +5,10 @@
   \usepackage{fontspec}
   \usepackage{multido}
   \pagestyle{empty}
-
   \def\drawPath{draw (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle  withcolor 0.99white;}
   \def\clipPath{clip currentpicture to (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle;}
-
   \begin{document}
-
-  \drawPointsMeshinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \drawPointsMeshinc[mode=ext, bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
     \clipPath
     endfig;
   }
-  \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {meshInit.txt}%
+  \newpage\buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{meshInit.txt}%
   {%
     beginfig(0);
     \drawPath
     endfig;
   }
   \multido{\ii=5+1}{4}{%
-    \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=badtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \newpage\meshAddPointBWinc[mode=ext,step=badtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
       \clipPath
       endfig;
     }   \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=cavity,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=cavity,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
       \clipPath
       endfig;
     }  \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=newtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=newtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
     }
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
     endfig;
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
index 4a7328f..7407af4 100644 (file)
@@ -23,6 +23,7 @@
 \BOOKMARK [2][-]{subsection.4.2}{The inc variant}{section.4}% 23
 \BOOKMARK [1][-]{section.5}{With Gmsh}{}% 24
 \BOOKMARK [2][-]{subsection.5.1}{Gmsh and Voronoi Diagrams}{section.5}% 25
-\BOOKMARK [2][-]{subsection.5.2}{The inc variants}{section.5}% 26
-\BOOKMARK [1][-]{section.6}{Gallery}{}% 27
-\BOOKMARK [2][-]{subsection.6.1}{With Animate}{section.6}% 28
+\BOOKMARK [2][-]{subsection.5.2}{The Options}{section.5}% 26
+\BOOKMARK [2][-]{subsection.5.3}{The inc variants}{section.5}% 27
+\BOOKMARK [1][-]{section.6}{Gallery}{}% 28
+\BOOKMARK [2][-]{subsection.6.1}{With Animate}{section.6}% 29
index 33cdaaf..2060b52 100644 (file)
Binary files a/doc/luamesh-doc.pdf and b/doc/luamesh-doc.pdf differ
index 3e13204..e3408cc 100644 (file)
@@ -67,8 +67,9 @@
   breaklines=true,
   breakindent=30pt,
   defaultdialect=[LaTeX]TeX,
-  morekeywords={buildMeshBW,buildMeshBWinc,drawPointsMesh,
-    drawPointsMeshinc, meshAddPointBW, meshAddPointBWinc}% frame=tb
+  morekeywords={buildMeshBW,buildMeshBWinc,drawPointsMesh,buildVoronoiBW,buildVoronoiBWinc,
+    drawPointsMeshinc, meshAddPointBW,
+    meshAddPointBWinc,drawGmsh,drawGmshinc,gmshVoronoi,gmshVoronoiinc}% frame=tb
 }
 
 \lstdefinelanguage{lua}
@@ -835,8 +836,18 @@ xn yn
   the scale at which the picture is drawn (the same for both
   axes). It must contain the unit of length (cm,
   pt, etc.).
+\item[delaunay = none (default) \textme{or} show] This option
+  allows to draw the Delaunay triangulation under the Voronoi diagram.
+\item[styleDelaunay = none (default) \textme{or} dashed] This option
+  allows to draw dashed lines for the Delaunay triangulation.
+\item[styleVoronoi = none (default) \textme{or} dashed] This option
+  allows to draw dashed lines for the Voronoi edges.
 \end{optionsenum}
 
+\begin{Exemple}
+  \buildVoronoiBW[tikz,delaunay=show,styleDelaunay=dashed]
+  {(0.3,0.3);(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5);(0.1,2);(1.5,-0.3)}
+\end{Exemple}
 
 \subsection{The \emph{inc} variant}
 
@@ -916,7 +927,49 @@ Voronoi diagram associated. This is done by the following macro:\bigskip
   \gmshVoronoi{maillage.msh}
 \end{Exemple}
 
-We refer to the section~\ref{sec:voronoiOptions} for the list of the options.
+
+\subsection{The Options}\label{sec:voronoiOptions}
+
+
+There are several options to customize the drawing.
+\begin{optionsenum}
+\item[color = \meta{value} (default: black):] The color of the
+  drawing.
+\item[colorVoronoi = \meta{value} (default: black):] The color of the
+  drawing for the elements (points and polygons) belonging to the
+  Voronoi diagram.
+\item[print = none (default) \textme{or} points:] To label the vertices of the
+  triangulation. Contrary to the previous macros, where
+  \Verb+print=none+,  a \emph{dot} is produced at each vertex (of the
+  set of points and on the circumcircle center which are the nodes of
+  the Voronoi diagram).
+\item[meshpoint = \meta{value} (default: P):] The letter(s) used to
+  label the vertices of the triangulation. It is included in the math
+  mode delimiters \Verb+$...$+. The bounding box points are labeled
+  with numbers 1 to 4 and with a star exponent.
+\item[circumpoint = \meta{value} (default: P):] The letter(s) used to
+  label the vertices of the Voronoi diagram. It is included in the math
+  mode delimiters \Verb+$...$+.
+\item[tikz (boolean, default:false):] By default, this boolean is set
+  to \Verb+false+, and MetaPost (with \Verb+luamplib+) is used to draw
+  the picture. With this option, \Verb+tikz+ becomes the \textit{drawing
+    engine}.
+\item[scale = \meta{value} (default: 1cm):] The scale option defines
+  the scale at which the picture is drawn (the same for both
+  axes). It must contain the unit of length (cm,
+  pt, etc.).
+\item[delaunay = none (default) \textme{or} show] This option
+  allows to draw the Delaunay triangulation under the Voronoi diagram.
+\item[styleDelaunay = none (default) \textme{or} dashed] This option
+  allows to draw dashed lines for the Delaunay triangulation.
+\item[styleVoronoi = none (default) \textme{or} dashed] This option
+  allows to draw dashed lines for the Voronoi edges.
+\end{optionsenum}
+
+\begin{Exemple}
+  \gmshVoronoi[tikz,scale=1.5cm, delaunay=show,styleVoronoi=dashed]{maillage.msh}
+\end{Exemple}
+
 
 \subsection{The \emph{inc} variants}
 
@@ -944,19 +997,10 @@ For example, the following code (in a file name \Verb+animation.tex+):
   \usepackage{fontspec}
   \usepackage{multido}
   \pagestyle{empty}
-
   \def\drawPath{draw (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle  withcolor 0.99white;}
   \def\clipPath{clip currentpicture to (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle;}
-
   \begin{document}
-
-  \drawPointsMeshinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \drawPointsMeshinc[mode=ext, bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -965,14 +1009,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     \clipPath
     endfig;
   }
-  \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {meshInit.txt}%
+  \newpage\buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{meshInit.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -982,16 +1019,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
     endfig;
   }
   \multido{\ii=5+1}{4}{%
-    \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=badtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \newpage\meshAddPointBWinc[mode=ext,step=badtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1000,15 +1030,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
       \clipPath
       endfig;
     }   \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=cavity,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=cavity,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1017,14 +1041,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
       \clipPath
       endfig;
     }  \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=newtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=newtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1035,13 +1054,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     }
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -1051,11 +1064,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     endfig;
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
index 5b9e8cf..bd488c1 100644 (file)
@@ -23,7 +23,8 @@
 \contentsline {subsection}{\numberline {4.1}The Options}{16}{subsection.4.1}
 \contentsline {subsection}{\numberline {4.2}The \emph {inc} variant}{17}{subsection.4.2}
 \contentsline {section}{\numberline {5}With Gmsh}{17}{section.5}
-\contentsline {subsection}{\numberline {5.1}Gmsh and Voronoi Diagrams}{18}{subsection.5.1}
-\contentsline {subsection}{\numberline {5.2}The \emph {inc} variants}{19}{subsection.5.2}
-\contentsline {section}{\numberline {6}Gallery}{19}{section.6}
-\contentsline {subsection}{\numberline {6.1}With Animate}{19}{subsection.6.1}
+\contentsline {subsection}{\numberline {5.1}Gmsh and Voronoi Diagrams}{19}{subsection.5.1}
+\contentsline {subsection}{\numberline {5.2}The Options}{19}{subsection.5.2}
+\contentsline {subsection}{\numberline {5.3}The \emph {inc} variants}{20}{subsection.5.3}
+\contentsline {section}{\numberline {6}Gallery}{21}{section.6}
+\contentsline {subsection}{\numberline {6.1}With Animate}{21}{subsection.6.1}
index bc961b7..3ff737b 100644 (file)
@@ -329,7 +329,17 @@ end
 
 
 -- trace Voronoi with MP
-function traceVoronoiMP(listPoints, triangulation,listVoronoi, points, tri)
+function traceVoronoiMP(listPoints, triangulation,listVoronoi, points, tri,styleD,styleV)
+   if(styleD == "dashed") then
+      sDelaunay = "dashed evenly"
+   else
+      sDelaunay = ""
+   end
+   if(styleV == "dashed") then
+      sVoronoi = "dashed evenly"
+   else
+      sVoronoi = ""
+   end
    listCircumC = listCircumCenter(listPoints,triangulation)
    output = "";
    output = output .. " pair MeshPoints[];"
@@ -346,16 +356,16 @@ function traceVoronoiMP(listPoints, triangulation,listVoronoi, points, tri)
          PointJ = listPoints[triangulation[i][2]]
          PointK = listPoints[triangulation[i][3]]
          if(triangulation[i].type == "bbox") then
-            output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\luameshmpcolorBbox;"
+            output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle "..sDelaunay.." withcolor \\luameshmpcolorBbox;"
          else
-            output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\luameshmpcolor;"
+            output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle "..sDelaunay.." withcolor \\luameshmpcolor;"
          end
       end
    end
    for i=1,#listVoronoi do
       PointI = listCircumC[listVoronoi[i][1]]
       PointJ = listCircumC[listVoronoi[i][2]]
-      output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u withcolor \\luameshmpcolorVoronoi;"
+      output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u "..sVoronoi.." withcolor \\luameshmpcolorVoronoi;"
    end
    if(points=="points") then
       j=1
@@ -390,7 +400,17 @@ end
 
 
 -- trace Voronoi with TikZ
-function traceVoronoiTikZ(listPoints, triangulation,listVoronoi, points, tri,color,colorBbox,colorVoronoi)
+function traceVoronoiTikZ(listPoints, triangulation,listVoronoi, points, tri,color,colorBbox,colorVoronoi,styleD,styleV)
+   if(styleD == "dashed") then
+      sDelaunay = ",dashed"
+   else
+      sDelaunay = ""
+   end
+   if(styleV == "dashed") then
+      sVoronoi = ",dashed"
+   else
+      sVoronoi = ""
+   end
    listCircumC = listCircumCenter(listPoints,triangulation)
     output = ""
    for i=1,#listPoints do
@@ -405,16 +425,16 @@ function traceVoronoiTikZ(listPoints, triangulation,listVoronoi, points, tri,col
          PointJ = listPoints[triangulation[i][2]]
          PointK = listPoints[triangulation[i][3]]
          if(triangulation[i].type == "bbox") then
-            output = output .. "\\draw[color="..colorBbox.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..")--("..PointK.x..",".. PointK.y ..")--cycle;"
+            output = output .. "\\draw[color="..colorBbox..sDelaunay.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..")--("..PointK.x..",".. PointK.y ..")--cycle;"
          else
-            output = output .. "\\draw[color="..color.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..")--("..PointK.x..",".. PointK.y ..")--cycle;"
+            output = output .. "\\draw[color="..color..sDelaunay.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..")--("..PointK.x..",".. PointK.y ..")--cycle;"
          end
       end
    end
    for i=1,#listVoronoi do
       PointI = listCircumC[listVoronoi[i][1]]
       PointJ = listCircumC[listVoronoi[i][2]]
-      output = output .. "\\draw[color="..colorVoronoi.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..");"
+      output = output .. "\\draw[color="..colorVoronoi..sVoronoi.."] (".. PointI.x ..",".. PointI.y ..")--("..PointJ.x..",".. PointJ.y ..");"
    end
    if(points=="points") then
       j=1
@@ -449,32 +469,32 @@ end
 
 
 -- buildVoronoi with MP
-function buildVoronoiMPBW(chaine,mode,points,bbox,scale,tri)
+function buildVoronoiMPBW(chaine,mode,points,bbox,scale,tri,styleD,styleV)
    listPoints = buildList(chaine, mode)
    triangulation = BowyerWatson(listPoints,bbox)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri)
+   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV)
    output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}"
    tex.sprint(output)
 end
 
 
 -- buildVoronoi with TikZ
-function buildVoronoiTikZBW(chaine,mode,points,bbox,scale,tri,color,colorBbox,colorVoronoi)
+function buildVoronoiTikZBW(chaine,mode,points,bbox,scale,tri,color,colorBbox,colorVoronoi,styleD,styleV)
    listPoints = buildList(chaine, mode)
    triangulation = BowyerWatson(listPoints,bbox)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi)
+   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV)
    output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}"   tex.sprint(output)
 end
 
 
 -- buildVoronoi with MP
-function buildVoronoiMPBWinc(chaine,beginning, ending,mode,points,bbox,scale,tri)
+function buildVoronoiMPBWinc(chaine,beginning, ending,mode,points,bbox,scale,tri,styleD,styleV)
    listPoints = buildList(chaine, mode)
    triangulation = BowyerWatson(listPoints,bbox)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri)
+   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV)
    output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}"
    tex.sprint(output)
 end
@@ -482,10 +502,10 @@ end
 
 -- buildVoronoi with TikZ
 function buildVoronoiTikZBWinc(chaine,beginning, ending,mode,points,bbox,scale,tri,color,colorBbox,colorVoronoi)
-   listPoints = buildList(chaine, mode)
+   listPoints = buildList(chaine, mode,styleD,styleV)
    triangulation = BowyerWatson(listPoints,bbox)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi)
+   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV)
    output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}"
    tex.sprint(output)
 end
@@ -1184,39 +1204,39 @@ end
 
 
 -- buildVoronoi with MP
-function gmshVoronoiMP(file,points,scale,tri)
+function gmshVoronoiMP(file,points,scale,tri,styleD,styleV)
    listPoints,triangulation = readGmsh(file)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri)
+   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV)
    output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}"
    tex.sprint(output)
 end
 
 
 -- buildVoronoi with TikZ
-function gmshVoronoiTikZ(file,points,scale,tri,color,colorVoronoi)
+function gmshVoronoiTikZ(file,points,scale,tri,color,colorVoronoi,styleD,styleV)
    listPoints,triangulation = readGmsh(file)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi)
+   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV)
    output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}"   tex.sprint(output)
 end
 
 
 -- buildVoronoi with MP
-function gmshVoronoiMPinc(file,beginning, ending,points,scale,tri)
+function gmshVoronoiMPinc(file,beginning, ending,points,scale,tri,styleD,styleV)
    listPoints,triangulation = readGmsh(file)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri)
+   output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV)
    output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}"
    tex.sprint(output)
 end
 
 
 -- buildVoronoi with TikZ
-function gmshVoronoiTikZinc(file,beginning, ending,points,scale,tri,color,colorVoronoi)
+function gmshVoronoiTikZinc(file,beginning, ending,points,scale,tri,color,colorVoronoi,styleD,styleV)
    listPoints,triangulation = readGmsh(file)
    listVoronoi = buildVoronoi(listPoints, triangulation)
-   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi)
+   output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV)
    output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}"
    tex.sprint(output)
 end
index 1842370..9d7c06b 100644 (file)
   \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%

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.