From: Maxime Chupin (escudo) Date: Mon, 21 Nov 2016 22:21:08 +0000 (+0100) Subject: Changement de la gestion des couleurs avec mplib, déclaration avec \mplibcolor X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=delaunay.git;a=commitdiff_plain;h=5d563ad5ea0e2ca2074f5262b69f24f7fc91f211 Changement de la gestion des couleurs avec mplib, déclaration avec \mplibcolor --- diff --git a/luamesh.lua b/luamesh.lua index 945d9cc..0b3a385 100644 --- a/luamesh.lua +++ b/luamesh.lua @@ -464,15 +464,15 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointI = listPoints[triangulation[i][1]] PointJ = listPoints[triangulation[i][2]] PointK = listPoints[triangulation[i][3]] - output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolor{" .. color .."};" + output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolorcolor;" end -- draw and fill the bad triangle for i=1,#badTriangles do PointI = listPoints[triangulation[badTriangles[i]][1]] PointJ = listPoints[triangulation[badTriangles[i]][2]] PointK = listPoints[triangulation[badTriangles[i]][3]] - output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolor{" .. color .."};" - output = output .. "fill (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolor{" .. colorBack .."};" + output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolorcolor;" + output = output .. "fill (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolorcolorBack;" end -- draw the circoncircle for i=1,#badTriangles do @@ -480,14 +480,14 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointJ = listPoints[triangulation[badTriangles[i]][2]] PointK = listPoints[triangulation[badTriangles[i]][3]] center, radius = circoncircle(PointI, PointJ, PointK) - output = output .. "draw fullcircle scaled ("..radius .."*2u) shifted ("..center.x .. "*u," .. center.y .. "*u) dashed evenly withcolor \\mpcolor{" .. colorCircle .."};" + output = output .. "draw fullcircle scaled ("..radius .."*2u) shifted ("..center.x .. "*u," .. center.y .. "*u) dashed evenly withcolor \\mpcolorcolorCircle;" end -- mark the points for i=1,#listPoints do - output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolor{" .. color .."};" + output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolorcolor;" end -- mark the point to add - output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolor{" .. colorNew .."};" + output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolorcolorNew;" elseif(step == "cavity") then polygon = buildCavity(badTriangles, triangulation) polyNew = cleanPoly(polygon) @@ -500,7 +500,7 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointI = listPoints[triangulation[i][1]] PointJ = listPoints[triangulation[i][2]] PointK = listPoints[triangulation[i][3]] - output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolor{" .. color .."};" + output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolorcolor;" end -- fill and draw the cavity path = "" @@ -508,14 +508,14 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointI = listPoints[polyNew[i]] path = path .. "(".. PointI.x ..",".. PointI.y ..")*u--" end - output = output .. "fill " .. path .. "cycle withcolor \\mpcolor{" .. colorBack .."};" - output = output .. "draw " .. path .. "cycle withcolor \\mpcolor{" .. colorNew .."} withpen pencircle scaled 1pt;" + output = output .. "fill " .. path .. "cycle withcolor \\mpcolorcolorBack;" + output = output .. "draw " .. path .. "cycle withcolor \\mpcolorcolorNew withpen pencircle scaled 1pt;" -- mark the points of the mesh for i=1,#listPoints do - output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolor{" .. color .."};" + output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolorcolor ;" end -- mark the adding point - output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolor{" .. colorNew .."};" + output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolorcolorNew ;" elseif(step == "newT") then polygon = buildCavity(badTriangles, triangulation) polyNew = cleanPoly(polygon) @@ -528,7 +528,7 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointI = listPoints[triangulation[i][1]] PointJ = listPoints[triangulation[i][2]] PointK = listPoints[triangulation[i][3]] - output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolor{" .. color .."};" + output = output .. "draw (".. PointI.x ..",".. PointI.y ..")*u--("..PointJ.x..",".. PointJ.y ..")*u--("..PointK.x..",".. PointK.y ..")*u--cycle withcolor \\mpcolorcolor ;" end -- fill the cavity path = "" @@ -536,19 +536,19 @@ function TeXaddOnePointMP(listPoints,P,step,color,colorBack, colorNew, colorCirc PointI = listPoints[polyNew[i]] path = path .. "(".. PointI.x ..",".. PointI.y ..")*u--" end - output = output .. "fill " .. path .. "cycle withcolor \\mpcolor{" .. colorBack .."};" + output = output .. "fill " .. path .. "cycle withcolor \\mpcolorcolorBack;" -- draw the new triangles composed by the edges of the polygon and the added point for i=1,#polygon do - output = output .. "draw".."(".. listPoints[polygon[i][1]].x .. "," .. listPoints[polygon[i][1]].y .. ")*u -- (" .. listPoints[polygon[i][2]].x .. "," .. listPoints[polygon[i][2]].y ..")*u withcolor \\mpcolor{" .. colorNew .."} withpen pencircle scaled 1pt;" - output = output .. "draw".."(".. listPoints[polygon[i][1]].x .. "," .. listPoints[polygon[i][1]].y .. ")*u -- (" .. P.x .. "," .. P.y ..")*u withcolor \\mpcolor{" .. colorNew .."} withpen pencircle scaled 1pt;" - output = output .. "draw".."(".. listPoints[polygon[i][2]].x .. "," .. listPoints[polygon[i][2]].y .. ")*u -- (" .. P.x .. "," .. P.y ..")*u withcolor \\mpcolor{" .. colorNew .."} withpen pencircle scaled 1pt;" + output = output .. "draw".."(".. listPoints[polygon[i][1]].x .. "," .. listPoints[polygon[i][1]].y .. ")*u -- (" .. listPoints[polygon[i][2]].x .. "," .. listPoints[polygon[i][2]].y ..")*u withcolor \\mpcolorcolorNew withpen pencircle scaled 1pt;" + output = output .. "draw".."(".. listPoints[polygon[i][1]].x .. "," .. listPoints[polygon[i][1]].y .. ")*u -- (" .. P.x .. "," .. P.y ..")*u withcolor \\mpcolorcolorNew withpen pencircle scaled 1pt;" + output = output .. "draw".."(".. listPoints[polygon[i][2]].x .. "," .. listPoints[polygon[i][2]].y .. ")*u -- (" .. P.x .. "," .. P.y ..")*u withcolor \\mpcolorcolorNew withpen pencircle scaled 1pt;" end -- mark points for i=1,#listPoints do - output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolor{" .. color .."};" + output = output .. "dotlabel.llft (btex $\\MeshPoint_{" .. i .. "}$ etex, (" .. listPoints[i].x ..",".. listPoints[i].y .. ")*u ) withcolor \\mpcolorcolor ;" end -- mark the added point - output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolor{ " .. colorNew .."};" + output = output .. "dotlabel.llft (btex $\\NewPoint$ etex,(" .. P.x ..",".. P.y .. ")*u) withcolor \\mpcolorcolorNew ;" end return output end diff --git a/luamesh.sty b/luamesh.sty index af422c3..2860881 100644 --- a/luamesh.sty +++ b/luamesh.sty @@ -193,6 +193,10 @@ buildMeshTikZ("#2","\luameshval@mode","\luameshval@print","\luameshval@bbox","full","\luameshval@scale","\luameshval@color")% }% \else % we are using MP + \mplibcolor{\mpcolorcolor}{\luameshval@color} + \mplibcolor{\mpcolorcolorBack}{\luameshval@colorback} + \mplibcolor{\mpcolorcolorNew}{\luameshval@colornew} + \mplibcolor{\mpcolorcolorCircle}{\luameshval@colorcircle} \directlua{% TeXOnePointMP("#2","#3","\luameshval@step","\luameshval@color","\luameshval@colorback","\luameshval@colornew","\luameshval@colorcircle","\luameshval@scale","\luameshval@mode","\luameshval@picture","\luameshval@bbox")% }% diff --git a/test/delaunay.pdf b/test/delaunay.pdf index 24df700..d4ff7ab 100644 Binary files a/test/delaunay.pdf and b/test/delaunay.pdf differ diff --git a/test/delaunay.tex b/test/delaunay.tex index 2f03f2c..b7a5011 100644 --- a/test/delaunay.tex +++ b/test/delaunay.tex @@ -7,47 +7,47 @@ \pagestyle{empty} \begin{document} -\buildMesh[print=points, meshpoint = I, color=red]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)} - -\buildMesh[tikz, bbox = show]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)} - -\buildMesh[mode=ext]{mesh.txt} - -\meshAddOnePoint[ -meshpoint = x, -colorNew =green!20!red, -colorBack=red!10, -colorCircle = green!70, -scale=0.6cm] -{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} -\meshAddOnePoint[ -meshpoint = x, -colorBack=red!10, -colorNew = green!20!red, -scale=0.6cm, -step=cavity] -{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} +% \buildMesh[print=points, meshpoint = I, color=red]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)} + +% \buildMesh[tikz, bbox = show]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)} + +% \buildMesh[mode=ext]{mesh.txt} + +% \meshAddOnePoint[ +% meshpoint = x, +% colorNew =green!20!red, +% colorBack=red!10, +% colorCircle = green!70, +% scale=0.6cm] +% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} +% \meshAddOnePoint[ +% meshpoint = x, +% colorBack=red!10, +% colorNew = green!20!red, +% scale=0.6cm, +% step=cavity] +% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} \meshAddOnePoint[ meshpoint = x, colorBack=red!10, colorNew = green!20!red, scale=0.6cm, -step=newtriangles, +step=badtriangles, newpoint = y, bbox = show ] {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} +\mplibcolor\myclr{red} -% \newcommand\mpred{\mpcolor{red}} -% \newcommand\test{dotlabel(btex $x$ etex, (0,0));draw (0,0)--(2cm,0) withcolor red;} +\newcommand\test{draw (0,0) -- (2cm,0) withcolor \myclr;} -% \begin{mplibcode} -% beginfig(0); -% %\meshAddOnePoint[picture=embedded]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} -% \test -% endfig; -% \end{mplibcode} +\begin{mplibcode} + beginfig(0); + %\meshAddOnePoint[picture=embedded]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)} + \test + endfig; +\end{mplibcode} \end{document}