% tkz-tools-modules
% 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.

\def\fileversion{4.21c}
\def\filedate{2024/01/16} 
\typeout{2024/01/16 4.21c  tkz-tools-modules.tex}  
\makeatletter
%<------------- % chargement des modules ---------------------------------->
\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
\def\tkz@obj@txt{all}
\def\usetkzobj{\pgfutil@ifnextchar[{\use@usetkzobj}{\use@@usetkzobj}}%}
\def\use@usetkzobj[#1]{\use@@usetkzobj{#1}}
\def\use@@usetkzobj#1{% 
  \def\tkz@list{#1}
  \ifx\tkz@obj@txt\tkz@list \edef\tkz@list{\tkz@obj@all}% 
      \else  
      \edef\tkz@list{#1}%
    \fi
  \pgfutil@for\tkz@temp:=\tkz@list\do{%
    \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
      \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
      \expandafter\edef\csname tkz@obj@#1@atcode\endcsname{\the\catcode`\@}
      \expandafter\edef\csname tkz@obj@#1@barcode\endcsname{\the\catcode`\|}
      \catcode`\@=11
      \catcode`\|=12   
      \input tkz-obj-\tkz@temp.tex 
      \catcode`\@=\csname tkz@obj@#1@atcode\endcsname
      \catcode`\|=\csname tkz@obj@#1@barcode\endcsname  
    \fi%
  }%
}%
%<---------------------------------------------------------–>
\def\tkz@tool@all{math-xfp}
\def\tkz@tool@txt{all}

\def\usetkztool{\pgfutil@ifnextchar[{\use@usetkztool}{\use@@usetkztool}}%}
\def\use@usetkztool[#1]{\use@@usetkztool{#1}}
\def\use@@usetkztool#1{% 
  \def\tkz@list{#1}
  \ifx\tkz@tool@txt\tkz@list \edef\tkz@list{\tkz@tool@all}%
      \else
      \edef\tkz@list{#1}%
    \fi
  \pgfutil@for\tkz@temp:=\tkz@list\do{%
    \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
      \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
      \expandafter\edef\csname tkz@tool@#1@atcode\endcsname{\the\catcode`\@}
      \expandafter\edef\csname tkz@tool@#1@barcode\endcsname{\the\catcode`\|}
      \catcode`\@=11
      \catcode`\|=12
      \input tkz-tools-\tkz@temp.tex
      \catcode`\@=\csname tkz@tool@#1@atcode\endcsname
      \catcode`\|=\csname tkz@tool@#1@barcode\endcsname
    \fi%
  }%
}%
\makeatother
\endinput