Revision 1803

trunk/docs/uml/big-admb-component.tex (revision 1803)
1
% $Id$
2
% Author: John Sibert
3
% Copyright (c) 2014 ADMB Foundation
4

  
5
\documentclass[letterpaper,12pt]{article}
6

  
7
%\usepackage[T1]{fontenc}
8
%\usepackage[utf8x]{inputenc}
9
\usepackage[plain]{fullpage}
10
\usepackage[pdftex]{pict2e}
11
%\usepackage{calc}
12
\usepackage[nomessages]{fp} % for computing positions in picture boxes
13
%\usepackage[pdftex]{hyperref}
14
\usepackage{color}
15
\listfiles
16

  
17
\newcommand\includes{{\tt \#include}s}
18

  
19

  
20
% 1. height of callout dot
21
% 2,3 coordinates of Bezier control point
22
% 4 height of middle of oval
23
% 5 text to be displayed 
24
% 6 x position of dot
25
\newcommand\callout[6]{%
26
   {\small
27
   \put(#6,#1){\circle*{1.6}}
28
   \FPeval{\qX}{\mainX+3}%- #6}
29
   \qbezier{(#6,#1)(#2,#3)(\qX,#4)}
30
%  \put(#2,#3){\circle{1}}
31
   \FPeval{\oX}{\qX+15.0}
32
   \put(\oX,#4){\oval(30,12)}
33
%  \put(\oX,#4){\circle{1}}
34
   \FPeval{\tX}{\qX+2}
35
   \FPeval{\tY}{#4-3.5}
36
   \put(\tX,\tY){\shortstack[l]{#5}}
37
   }% small
38
}
39

  
40
\title{ADMB UML Diagrams}
41
\author{John Sibert}
42

  
43
\begin{document}
44
\pagenumbering{gobble}
45
\noindent
46
textwidth = \the\textwidth , textheigth = \the\textheight\\
47
paperwitdth = \the\paperwidth\\ % , papersize = \the\papersize \\
48
%\setlength{\unitlength}{0.01\textwidth}
49
\setlength{\unitlength}{0.01\textwidth}
50
unitlength = \the\unitlength\\
51
\FPeval{\globY}{\number\textheight / \number\unitlength}\\
52
\FPeval{\globX}{\number\textwidth / \number\unitlength}
53
globX = \FPprint{\globX} , globY = \FPprint{\globY}\\
54
\FPeval{\mainX}{0.65*\globX}
55
\FPeval{\mainY}{\globY-2}
56
mainX = \FPprint{\mainX} , mainY = \FPprint{\mainY}\\
57
\FPeval{\lineY}{1.2*\number\baselineskip/\number\unitlength}
58
lineY = \lineY
59

  
60
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61

  
62
\sffamily
63
%\FPeval{\result}{clip(5+6)}%
64

  
65
\begin{picture}(\globX,\globY)
66
%\put(50,102){\makebox(0,1){\large\bf ADMB Application}}
67
\linethickness{2.0pt}
68
% \put(0,0){\framebox(100.0,100.0){}} 
69
  \put(0,0){\framebox(\globX,\globY){}} 
70
  \thinlines
71
  \FPeval{\result}{\globY-\lineY}
72
  %result = \FPprint{\result}
73
% \callout{\result}{52}{\result}{125}{GLOBALS\_SECTION\\ User \includes\\ User methods}{0}
74
  \FPeval{\result}{\globY - 2*\lineY}
75
  \put(1,\result){\shortstack[l]{ADMB \includes\ and global methods}}
76

  
77
   \put(1,1){\begin{picture}(\mainX,\mainY)
78
     % main() box
79
     \linethickness{1pt}
80
     \put(0,0){\framebox(\mainX,122){%
81
     \thinlines
82
        \put(1,118){{\tt int main(int argc, char * argv[])}}
83
        \put(0,117){\line(1,0){\mainX}}
84
        \put(1,113){Set {\tt new} and {\tt exit} routines}
85
%       \callout{111}{52}{111}{110}{TOP\_OF\_MAIN\_SECTION\\~ \\User-specified buffer sizes}{1}
86
 
87
        \FPeval{\mpX}{\mainX-2}
88
        \put(1,58){\begin{picture}(\mpX, 50)
89
        %  \color{red}
90
           \put(0,0){\framebox(\mpX,50){%
91
           \put(1,44){{\tt model\_parameters(sz, argc, argv)}}
92
           \put(0,43){\line(1,0){\mpX}}
93
% 
94
        %  \put(1,15){\circle{2.2}}
95
           \FPeval{\mdX}{\mpX-2}
96
           \put(1,12){\begin{picture}(\mdX,30)
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff