class-tree.tex 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. \documentclass{article}
  2. \usepackage[pdftex,active,tightpage]{preview}
  3. \setlength\PreviewBorder{2mm}
  4. \usepackage{tikz}
  5. \usetikzlibrary{patterns,snakes,shapes, calc}
  6. \usetikzlibrary{decorations.pathreplacing}
  7. \tikzstyle{clf}=[draw,outer sep=0pt, rounded rectangle, minimum height=0.8cm,
  8. align=center]
  9. \def \leveldist {-1.9}
  10. \begin{document}
  11. \begin{preview}
  12. \begin{tikzpicture}
  13. \node[clf] (root) at ( 0, 0) {$C_0$};
  14. % level 1
  15. \node[clf] (ped) at (-5.0,1*\leveldist) {pedestrian};
  16. \node[clf] (wheel4) at (-3.0,1*\leveldist) {four$^+$-\\wheelers};
  17. \node[clf] (sign) at (-1.0,1*\leveldist) {traffic\\sign};
  18. \node[clf] (wheel2) at ( 1.0,1*\leveldist) {two-\\wheelers};
  19. \node[inner sep=0pt] (street) at (3.0,1*\leveldist) {\includegraphics[height=0.8cm]{road.jpg}};
  20. \node[inner sep=0pt] (other) at ( 5.0,1*\leveldist) {\includegraphics[height=0.8cm]{water.jpg}};
  21. \draw (root) -- (ped);
  22. \draw (root) -- (wheel4);
  23. \draw (root) -- (sign);
  24. \draw (root) -- (wheel2);
  25. \draw (root) -- (other);
  26. \draw (root) -- (street);
  27. % level 2
  28. \node[inner sep=0pt] (child) at (-5.3,1.7*\leveldist) {\includegraphics[width=0.5cm]{child.jpg}};
  29. \node[inner sep=0pt] (adult) at (-4.6,1.6*\leveldist) {\includegraphics[width=0.5cm]{adult.jpg}};
  30. \node[clf] (limit) at (-2.0,2*\leveldist) {speed\\limit};
  31. \node[clf] (danger) at (-0.5,2*\leveldist) {danger};
  32. \node[clf] (other) at ( 0.8,2*\leveldist) {other};
  33. \node[inner sep=0pt] (bike) at (0.5,1.5*\leveldist) {\includegraphics[height=0.6cm]{bike.jpg}};
  34. \node[inner sep=0pt] (motorcycle) at (1.3,1.5*\leveldist) {\includegraphics[height=0.6cm]{motorcycle.jpg}};
  35. \node[inner sep=0pt] (car) at (-3.5,1.5*\leveldist) {\includegraphics[height=0.6cm]{car.jpg}};
  36. \node[inner sep=0pt] (lkw) at (-2.5,1.5*\leveldist) {\includegraphics[height=0.6cm]{lkw.jpg}};
  37. \draw (sign) -- (limit);
  38. \draw (sign) -- (danger);
  39. \draw (sign) -- (other);
  40. \draw (wheel2) -- (bike);
  41. \draw (wheel2) -- (motorcycle);
  42. \draw (wheel4) -- (car);
  43. \draw (wheel4) -- (lkw);
  44. \draw (ped) -- (adult);
  45. \draw (ped) -- (child);
  46. % level 3
  47. \node[draw=red, text=black, line width=1.5pt, outer sep=1.5pt, circle,inner sep=0pt,minimum height=0.4cm] (speed30) at (-2.3,2.5*\leveldist) {\tiny 30};
  48. \node[draw=red, text=black, line width=1.5pt, outer sep=1.5pt, circle,inner sep=0pt,minimum height=0.4cm] (speed80) at (-1.7,2.5*\leveldist) {\tiny 80};
  49. \node[draw=red, text=black, line width=1.5pt, outer sep=1.5pt, circle,inner sep=0pt,minimum height=0.4cm] (speed120) at (-2.0,2.8*\leveldist) {\tiny 120};
  50. \node[inner sep=0pt] (dangera) at (-0.8,2.5*\leveldist) {\includegraphics[width=0.5cm]{danger.png}};
  51. \node[inner sep=0pt] (dangerb) at (-0.2,2.5*\leveldist) {\includegraphics[width=0.5cm]{danger-right.png}};
  52. \node[inner sep=0pt] (dangerc) at (-0.5,2.8*\leveldist) {\includegraphics[width=0.5cm]{slippery.png}};
  53. \node[inner sep=0pt] (bikea) at (0.5,2.5*\leveldist) {\includegraphics[width=0.5cm]{bike-sign.png}};
  54. \node[inner sep=0pt] (bikeb) at (1.1,2.5*\leveldist) {\includegraphics[width=0.5cm]{bike-sign-french.png}};
  55. \node[inner sep=0pt] (bikec) at (0.8,2.8*\leveldist) {\includegraphics[width=0.5cm]{bike-sign-ove.png}};
  56. \draw (limit) -- (speed30);
  57. \draw (limit) -- (speed80);
  58. \draw (limit) -- (speed120);
  59. \draw (danger) -- (dangera);
  60. \draw (danger) -- (dangerb);
  61. \draw (danger) -- (dangerc);
  62. \draw (other) -- (bikea);
  63. \draw (other) -- (bikeb);
  64. \draw (other) -- (bikec);
  65. \end{tikzpicture}
  66. \end{preview}
  67. \end{document}