summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex53
1 files changed, 46 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
index 9448b707a7b..fb1633937f1 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
@@ -13,9 +13,9 @@
% The Current Maintainer of this work is Alain Matthes.
% utf8 encoding
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-intersections.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
@@ -140,12 +140,15 @@
node/.code = \def\tkz@numlc{0},
R/.code = \def\tkz@numlc{1},
with nodes/.code = \def\tkz@numlc{2},
+ common/.store in = \tkz@common,
+ common = {},
node
}
%<--------------------------------------------------------------------------–>
\def\tkzInterLC{\pgfutil@ifnextchar[{\tkz@InterLC}{\tkz@InterLC[]}}
\def\tkz@InterLC[#1](#2,#3)(#4,#5){%
\begingroup
+\pgfkeys{linecircle/.cd}
\pgfqkeys{/linecircle}{#1}
\pgfinterruptboundingbox
\ifcase\tkz@numlc%
@@ -160,6 +163,23 @@
\tkzInterLCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}%
{tkzSecondPointResult}%
\fi
+ \ifx\tkz@common\tkzutil@empty
+ \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \else
+\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
+ \ifdim\tkz@mathLen pt<0.05pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \fi
\endpgfinterruptboundingbox
\endgroup
}
@@ -243,9 +263,11 @@
\def\tkz@numcc{0}
\pgfkeys{
/circlecircle/.cd,
- node/.code = {\global\def\tkz@numcc{0}},
- R/.code = {\global\def\tkz@numcc{1}},
-with nodes/.code = {\global\def\tkz@numcc{2}}
+ node/.code = {\global\def\tkz@numcc{0}},
+ R/.code = {\global\def\tkz@numcc{1}},
+ with nodes/.code = {\global\def\tkz@numcc{2}},
+ common/.store in = \tkz@common,
+ common = {},
}
%<--------------------------------------------------------------------------–>
\def\tkzInterCC{\pgfutil@ifnextchar[{\tkz@InterCC}{\tkz@InterCC[]}}
@@ -265,7 +287,24 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
\tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
\or%2
\tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}
-\fi
+\fi
+ \ifx\tkz@common\tkzutil@empty
+ \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \else
+\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
+ \ifdim\tkz@mathLen pt<0.05pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \fi
\endgroup
}
%<--------------------------------------------------------------------------–>