% \iffalse % -------------------------------------------------------------------- %<*natoapp6c> % \fi % \subsubsection{`Hostile' node shapes} % % % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile air} % % The hostile air command % % % Macro for hostile air shape % % % \begin{macrocode} \def\n@to@hostile@@ir{% \southeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y% \cntrl \wg@tmpc=\pgf@y% \north \wg@tmpd=\pgf@y% \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}% } % \end{macrocode} % % % The hostile air command. % % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile air}{% \inheritsavedanchors[from=natoapp6c base] \savedanchor\southeast{% \pgf@x=\n@to@pp@r% \pgf@y=-\n@to@pp@r} \savedanchor\cntrl{% \pgf@x=\n@to@pp@r% \pgf@y=0.414\n@to@pp@r% (sqrt(2)-1) } \savedanchor\north{\pgf@x=0cm\pgf@y=1.414\n@to@pp@r} \anchor{south east}{\southeast} \anchor{south west}{\southeast\pgf@x=-\pgf@x} \anchor{north east}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=\wg@tmpa} \anchor{north west}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=-\wg@tmpa} \anchor{north}{\north} \anchor{east}{% \north\wg@tmpb\pgf@y% \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x% \advance\wg@tmpb-\wg@tmpc \divide\wg@tmpb2% \advance\wg@tmpb\wg@tmpc% \pgf@x=\wg@tmpa% \pgf@y=\wg@tmpb} \anchor{west}{% \north\wg@tmpb\pgf@y% \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x% \advance\wg@tmpb-\wg@tmpc \divide\wg@tmpb2% \advance\wg@tmpb\wg@tmpc% \pgf@x=-\wg@tmpa% \pgf@y=\wg@tmpb} \anchor{south}{\southeast\pgf@x=0cm} \inheritanchor[from=natoapp6c base]{upper} \inheritanchor[from=natoapp6c base]{lower} \inheritanchor[from=natoapp6c base]{left} \inheritanchor[from=natoapp6c base]{right} \inheritanchor[from=natoapp6c base]{center} \backgroundpath{% \n@to@hostile@@ir% } \behindforegroundpath{% \n@to@hostile@@ir% \pgfusepath{stroke}% } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile land} % % Macro for hostile land command % % \begin{macrocode} \def\n@to@hostile@l@nd{% \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y% \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{ 0cm}}% \pgfpathlineto{\pgfqpoint{ 0cm}{ \wg@tmpb}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{ 0cm}}% \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpb}}% \pgfclosepath} % \end{macrocode} % % The hostile land command. % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile land}{% \inheritsavedanchors[from=natoapp6c base] \savedanchor\northeast{% \pgf@x=1.414\n@to@pp@r% \pgf@y=1.414\n@to@pp@r} \anchor{north east}{\northeast} \anchor{north west}{\northeast\pgf@x=-\pgf@x} \anchor{south east}{\northeast\pgf@y=-\pgf@y} \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y} \anchor{north}{\northeast\pgf@x=0cm} \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y} \anchor{east}{\northeast\pgf@y=0cm} \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm} \inheritanchor[from=natoapp6c base]{upper} \inheritanchor[from=natoapp6c base]{lower} \inheritanchor[from=natoapp6c base]{left} \inheritanchor[from=natoapp6c base]{right} \inheritanchor[from=natoapp6c base]{center} \backgroundpath{% \n@to@hostile@l@nd% } \behindforegroundpath{% \n@to@hostile@l@nd% \pgfusepath{stroke}% } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile activity} % % The hostile activity command. Similar to land command, but with % boxes in the corners. % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile activity}{% \inheritsavedanchors[from=natoapp6c hostile land] \inheritanchor[from=natoapp6c hostile land]{center} \inheritanchor[from=natoapp6c hostile land]{inner north east} \inheritanchor[from=natoapp6c hostile land]{inner north west} \inheritanchor[from=natoapp6c hostile land]{inner south west} \inheritanchor[from=natoapp6c hostile land]{inner south east} \inheritanchor[from=natoapp6c hostile land]{north east} \inheritanchor[from=natoapp6c hostile land]{north west} \inheritanchor[from=natoapp6c hostile land]{south east} \inheritanchor[from=natoapp6c hostile land]{south west} \inheritanchor[from=natoapp6c hostile land]{north} \inheritanchor[from=natoapp6c hostile land]{west} \inheritanchor[from=natoapp6c hostile land]{east} \inheritanchor[from=natoapp6c hostile land]{south} \inheritanchor[from=natoapp6c hostile land]{upper} \inheritanchor[from=natoapp6c hostile land]{lower} \inheritanchor[from=natoapp6c hostile land]{left} \inheritanchor[from=natoapp6c hostile land]{right} \inheritanchor[from=natoapp6c hostile land]{center} \inheritbackgroundpath[from=natoapp6c hostile land] \behindforegroundpath{ \begin{n@to@pp@stroketofill} \n@to@hostile@l@nd% \pgfusepath{stroke} % \northeast \wg@tmpb=\pgf@y% \wg@tmpa=0.707\n@to@pp@act@w \wg@tmpc=\wg@tmpb\advance\wg@tmpc-1.414\n@to@pp@act@w \wg@tmpd=\wg@tmpb\advance\wg@tmpd-\wg@tmpa % \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpb}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpc}}% \pgfclosepath \pgfusepath{fill}% % \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{0cm}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpd}{\wg@tmpa}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpb}{0cm}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpd}{-\wg@tmpa}}% \pgfclosepath \pgfusepath{fill}% % \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpb}}% \pgfclosepath \pgfusepath{fill}% % \pgfpathmoveto{\pgfqpoint{\wg@tmpb}{0cm}}% \pgfpathlineto{\pgfqpoint{\wg@tmpd}{\wg@tmpa}}% \pgfpathlineto{\pgfqpoint{\wg@tmpc}{0cm}}% \pgfpathlineto{\pgfqpoint{\wg@tmpd}{-\wg@tmpa}}% \pgfclosepath \pgfusepath{fill}% \end{n@to@pp@stroketofill} } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile equipment} % % The hostile equipment command. Same as land command. % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile equipment}{% \inheritsavedanchors[from=natoapp6c hostile land] \inheritanchor[from=natoapp6c hostile land]{inner north east} \inheritanchor[from=natoapp6c hostile land]{inner north west} \inheritanchor[from=natoapp6c hostile land]{inner south west} \inheritanchor[from=natoapp6c hostile land]{inner south east} \inheritanchor[from=natoapp6c hostile land]{north east} \inheritanchor[from=natoapp6c hostile land]{north west} \inheritanchor[from=natoapp6c hostile land]{south east} \inheritanchor[from=natoapp6c hostile land]{south west} \inheritanchor[from=natoapp6c hostile land]{north} \inheritanchor[from=natoapp6c hostile land]{west} \inheritanchor[from=natoapp6c hostile land]{east} \inheritanchor[from=natoapp6c hostile land]{south} \inheritanchor[from=natoapp6c hostile land]{upper} \inheritanchor[from=natoapp6c hostile land]{lower} \inheritanchor[from=natoapp6c hostile land]{left} \inheritanchor[from=natoapp6c hostile land]{right} \inheritanchor[from=natoapp6c hostile land]{center} \inheritbackgroundpath[from=natoapp6c hostile land] \inheritbehindforegroundpath[from=natoapp6c hostile land] } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile installation} % % The hostile installation command. Similar to land command, but % with a `hat' on top. % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile installation}{% \inheritsavedanchors[from=natoapp6c hostile land] \inheritanchor[from=natoapp6c hostile land]{center} \inheritanchor[from=natoapp6c hostile land]{inner north east} \inheritanchor[from=natoapp6c hostile land]{inner north west} \inheritanchor[from=natoapp6c hostile land]{inner south west} \inheritanchor[from=natoapp6c hostile land]{inner south east} \inheritanchor[from=natoapp6c hostile land]{north east} \inheritanchor[from=natoapp6c hostile land]{north west} \inheritanchor[from=natoapp6c hostile land]{south east} \inheritanchor[from=natoapp6c hostile land]{south west} \inheritanchor[from=natoapp6c hostile land]{north} \inheritanchor[from=natoapp6c hostile land]{west} \inheritanchor[from=natoapp6c hostile land]{east} \inheritanchor[from=natoapp6c hostile land]{south} \inheritanchor[from=natoapp6c hostile land]{upper} \inheritanchor[from=natoapp6c hostile land]{lower} \inheritanchor[from=natoapp6c hostile land]{left} \inheritanchor[from=natoapp6c hostile land]{right} \inheritanchor[from=natoapp6c hostile land]{center} \inheritbackgroundpath[from=natoapp6c hostile land] \behindforegroundpath{ \begin{n@to@pp@stroketofill} \n@to@hostile@l@nd% \pgfusepath{stroke} % \northeast \wg@tmpa=\pgf@x\wg@tmpb\pgf@y% \wg@tmpc=\wg@tmpb \advance\wg@tmpc\n@to@pp@inst@h% \advance\wg@tmpc-0.05cm% % \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{0cm}} \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{\wg@tmpc}} \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}} \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{0cm}} \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpb}} \pgfclosepath% \pgfusepath{clip} % \wg@tmpd=\wg@tmpb% \advance\wg@tmpd-\n@to@pp@inst@h% % \pgfpathmoveto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpd}}% \pgfclosepath \pgfusepath{fill}% \end{n@to@pp@stroketofill} } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile sea surface} % % The hostile sea surface command. Same as land command % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile sea surface}{% \inheritsavedanchors[from=natoapp6c hostile equipment] \inheritanchor[from=natoapp6c hostile equipment]{inner north east} \inheritanchor[from=natoapp6c hostile equipment]{inner north west} \inheritanchor[from=natoapp6c hostile equipment]{inner south west} \inheritanchor[from=natoapp6c hostile equipment]{inner south east} \inheritanchor[from=natoapp6c hostile equipment]{north east} \inheritanchor[from=natoapp6c hostile equipment]{north west} \inheritanchor[from=natoapp6c hostile equipment]{south east} \inheritanchor[from=natoapp6c hostile equipment]{south west} \inheritanchor[from=natoapp6c hostile equipment]{north} \inheritanchor[from=natoapp6c hostile equipment]{west} \inheritanchor[from=natoapp6c hostile equipment]{east} \inheritanchor[from=natoapp6c hostile equipment]{south} \inheritanchor[from=natoapp6c hostile equipment]{upper} \inheritanchor[from=natoapp6c hostile equipment]{lower} \inheritanchor[from=natoapp6c hostile equipment]{left} \inheritanchor[from=natoapp6c hostile equipment]{right} \inheritanchor[from=natoapp6c hostile equipment]{center} \inheritbackgroundpath[from=natoapp6c hostile equipment] \inheritbehindforegroundpath[from=natoapp6c hostile equipment] } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile space} % % The hostile space command. Similar to air command, but with bar on % top. % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile space}{% \inheritsavedanchors[from=natoapp6c hostile air] \inheritanchor[from=natoapp6c hostile air]{north east} \inheritanchor[from=natoapp6c hostile air]{north west} \inheritanchor[from=natoapp6c hostile air]{south east} \inheritanchor[from=natoapp6c hostile air]{south west} \inheritanchor[from=natoapp6c hostile air]{north} \inheritanchor[from=natoapp6c hostile air]{west} \inheritanchor[from=natoapp6c hostile air]{east} \inheritanchor[from=natoapp6c hostile air]{south} \inheritanchor[from=natoapp6c hostile air]{upper} \inheritanchor[from=natoapp6c hostile air]{lower} \inheritanchor[from=natoapp6c hostile air]{left} \inheritanchor[from=natoapp6c hostile air]{right} \inheritanchor[from=natoapp6c hostile air]{center} \inheritbackgroundpath[from=natoapp6c hostile air] \behindforegroundpath{% \begin{n@to@pp@stroketofill} \n@to@hostile@@ir% \pgfusepath{stroke,clip}% % \north\wg@tmpa=\pgf@y\wg@tmpb=\pgf@y \advance\wg@tmpb-\n@to@pp@space@h % \pgfpathmoveto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpa}}% \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpa}}% \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpb}}% \pgfpathlineto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpb}}% \pgfclosepath% \pgfusepath{fill}% \end{n@to@pp@stroketofill} } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % .................................................................... % \fi % \begin{NatoAppFrame}{natoapp6c hostile sub surface} % % Macro for hostile sub surface command % % \begin{macrocode} \def\n@to@hostile@sub{% \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y% \cntrl \wg@tmpc=\pgf@y% \south \wg@tmpd=\pgf@y% \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}% \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpd}}% \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpc}}% \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}% } % \end{macrocode} % % The hostile sub surface command % % \begin{macrocode} \pgfdeclareshape{natoapp6c hostile sub surface}{% \inheritsavedanchors[from=natoapp6c base] \savedanchor\northeast{% \pgf@x=\n@to@pp@r% \pgf@y=\n@to@pp@r} \savedanchor\cntrl{\pgf@x=\n@to@pp@r\pgf@y=-0.414\n@to@pp@r} \savedanchor\south{\pgf@x=0cm\pgf@y=-1.414\n@to@pp@r} \anchor{north east}{\northeast} \anchor{north west}{\northeast\pgf@x=-\pgf@x} \anchor{south east}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=\wg@tmpa} \anchor{south west}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=-\wg@tmpa} \anchor{south}{\south} \anchor{east}{ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x% \south\wg@tmpc\pgf@y% \advance\wg@tmpb-\wg@tmpc \divide\wg@tmpb2% \advance\wg@tmpb\wg@tmpc% \pgf@x=\wg@tmpa% \pgf@y=\wg@tmpb} \anchor{west}{ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x% \south\wg@tmpc\pgf@y% \advance\wg@tmpb-\wg@tmpc \divide\wg@tmpb2% \advance\wg@tmpb\wg@tmpc% \pgf@x=-\wg@tmpa% \pgf@y=\wg@tmpb} \anchor{north}{\northeast\pgf@x=0cm} \inheritanchor[from=natoapp6c base]{upper} \inheritanchor[from=natoapp6c base]{lower} \inheritanchor[from=natoapp6c base]{left} \inheritanchor[from=natoapp6c base]{right} \inheritanchor[from=natoapp6c base]{center} \backgroundpath{% \n@to@hostile@sub% } \behindforegroundpath{% \n@to@hostile@sub% \pgfusepath{stroke}% } } % \end{macrocode} % \end{NatoAppFrame} % % \iffalse % % -------------------------------------------------------------------- % \fi