• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2\input{header}
3\begin{tikzpicture}[scale=0.93, transform shape]
4
5\begin{component}{20cm}{1}{0}{U1Component}
6\newcomponent{11}{4}{SomeType}
7\newcomponent{0}{4}{T1Component}
8\newcomponent{6}{4}{bind}
9\newcomponent{2.5}{0}{U1U2Component}
10\umlassemblyconnector[interface=SomeType, distance=7]{bind}{SomeType}
11\umlassemblyconnector[interface=T2, distance=7, arm2=1cm]{T1Component}{bind}
12\umlassemblyconnector[distance=7, geometry=|-]{U1U2Component}{bind}
13\umlassemblyconnector[interface=T1, distance=7, anchor1=120, anchor2=-90]{U1U2Component}{T1Component}
14\umlprovidedinterface[interface=U2, distance=3.5, padding=0.9cm]{U1U2Component}
15\umlrequiredinterface[interface=T3, distance=3, padding=0.9cm]{U1U2Component}
16\umlrequiredinterface[interface=T3, distance=2, padding=0.9cm]{SomeType}
17
18% Hack to draw something similar to:
19% \umlprovidedinterface[interface=U2, distance=3.5, padding=0.9cm]{U1U2Component}
20% But at a different angle.
21\node[inner sep=0] (U1U2Component-west-port) at (U1U2Component.west) {};
22\draw (U1U2Component)+(-3cm,1.5cm) node[inner sep=0, text width=1em, circle, draw, fill=white, name=U1U2Component-west-interface] {};
23\node[above] at (U1U2Component-west-interface.north) {U1};
24\umlrelation[style={tikzuml connector style}]{U1U2Component-west-port}{U1U2Component-west-interface}
25\draw (U1U2Component-west-interface)+(-1cm,0) node[name=U1U2Component-west-padding] {};
26
27\end{component}
28\umlprovidedinterface[interface=U1, distance=9.5, with port, padding=0cm]{U1Component}
29\umlrequiredinterface[interface=T3, distance=9.5, with port, padding=0cm]{U1Component}
30\umldep{SomeType-east-interface}{U1Component-east-port}
31\umldep{U1U2Component-east-interface}{U1Component-east-port}
32\umldep{U1Component-west-port}{U1U2Component-west-interface}
33
34\end{tikzpicture}
35\input{footer}
36