% encoding : utf8 
% tkz-elements.sty v1.82c
% Copyright 2024  Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.

\ProvidesPackage{tkz-elements}[2024/01/16 v1.82c Graphic Object Library]
\RequirePackage{luacode}
\directlua{require "tkz_elements_main"}

\newenvironment{tkzelements}
  {   \directlua{scale=1}
      \directlua{indirect = true}
      \directlua{for k,v in pairs(z) do z[k] = nil end}
      \directlua{for k,v in pairs(C) do C[k] = nil end}
      \directlua{for k,v in pairs(E) do E[k] = nil end}
      \directlua{for k,v in pairs(L) do L[k] = nil end}
      \directlua{for k,v in pairs(P) do C[k] = nil end}
      \directlua{for k,v in pairs(S) do E[k] = nil end}
      \directlua{for k,v in pairs(R) do C[k] = nil end}
      \directlua{for k,v in pairs(Q) do T[k] = nil end}
      \directlua{for k,v in pairs(T) do T[k] = nil end}
      \luacode}
  {\endluacode}
 
\def\tkzGetNodes{\directlua{%
   for K,V in pairs(z) do
      local n,sd,ft
      n = string.len(K)
      if n >1 then
      _,_,ft, sd = string.find( K , "(.+)(.)" )  
     if sd == "p" then   K=ft.."'" end 
     _,_,xft, xsd = string.find( ft , "(.+)(.)" ) 
     if xsd == "p" then  K=xft.."'".."'" end 
       end    
  tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
end}
}

\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}} 
\endinput
