Next: Nastavitve barv izrisa
Up: Razlaga ukazov
Previous: Razlaga ukazov
- inicializacija knjižnice PHIGS
Definicija: - C
-
void
popen_phigs(err_file, mem_units)
const char *err_file;
size_t
mem_units; - For
- subroutine POPPH(errfil, bufa)
integer*4 errfil, bufa
Parametri - C:
- err_file
- - ime datoteke, v katero se izpisujejo
napake med delovanjem PHIGSa
- mem_units
- - velikost vmesnega spomina
Parametri - For:
- errfil
- - številka datoteke, ki jo PHIGS uporabi
za izpis napak pri delovanju
- bufa
- - velikost vmesnega spomina
Funkcija inicializira knjižnico. Poklicati jo je potrebno pred
katerimkoli drugim ukazom, drugače izpiše napako in
konča z delovanjem programa. Datoteka, podana z
err_file (oz. errfil v fortranu) se uporablja za
izpis napak, ki nastanejo pri delovanju knjižnice PHIGS. V
primeru, da datoteka ni podana (ime datoteke je enako ' ' ali
številka datoteke je enaka 0), se napake ne izpisujejo.
- zapre knjižnico PHIGS
Definicija: - C
-
void
pclose_phigs()
- For
- subroutine PCLPH()
Parametri - C: --
Parametri - For: --
Zapre datoteko v katero izpisujejo obvestila o napakah (če jih
izpisuje).
- poveže se s podano izhodno
enoto
Definicija: - C
-
void popen_ws(ws_id, conn_id, ws_type)
Pint ws_id;
const
void *conn_id;
Pint ws_type; - For
- subroutine POPWK(wkid, conid,
wtype)
integer*4 wkid, conid,wtype
Parametri - C:
- ws_id
- - številka izhodne enote
- conn_id
- - predstavlja povezavo med izhodno enoto in
fizično enoto
- ws_type
- - tip izhodne enote
Parametri - For:
- wkid
- - številka izhodne enote
- conid
- - predstavlja povezavo med izhodno enoto in
fizično enoto
- wtype
- - tip izhodne enoteštevilka povezave
Odpre podano izhodno enoto. V knjižnico je vgrajen le
grafični zaslon, katerega lastnosti se poda z ustrezno
oznako. Oznaka zaslona je sestavljena iz njegove velikosti in
vodoravne ločljivosto v točkah. Npr. oznaka za zaslon,
diagonale 17'' in ločljivosti 1024x768 je označba enaka:
WK171024. ws_id predstavlja številko izhodne
enote in je lahko največ 32. Če je izhodna enota s podano
številko že zasedena (že odprta), knjižnica
izpiše napako. Argument conid se ne uporablja in je
najbolje podati vrednost ' '.
- zapre povezavo z izhodno enoto
Definicija: - C
-
void
pclose_ws(ws_id)
Pint ws_id; - For
- subroutine PCLWK(wkid)
integer*4 wkid
Parametri - C:
- ws_id
- - številka izhodne enote
Parametri - For:
- wkid
- - številka izhodne enote
Zapre povezavo in vse interne strukture povezane s podano izhodno
enoto. Po ukazu se zapre grafično okno in risanje na izhodno
enoto ni več mogoče. Kakršnokoli risanje na izhodno
enoto ws_id generira napako.
- izbere trenutno izhodno enoto
Definicija: - C
-
void
pset_view_ind(view_ind)
Pint view_ind; - For
- subroutine
PSVWI(wkid)
integer*4 wkid
Parametri - C:
- view_ind
- - številka izhodne enote
Parametri - For:
- wkid
- - številka izhodne enote
Izbere izhodno enoto s številko view_ind kot
trenutno. Vsi nadaljni ukazi, pri katerih ni določene izhodne
enote, so povezani s trenutno izhodno enoto. Izhodna enota
view_ind ostane trenutna toliko časa, dokler se ne
določi nove trenutne izhodne enote ali odpre novo izhodno
enoto.
- izračuna matriko za
preslikavo med risalnimi prostori
Definicija: - C
-
void peval_view_map_matrix(
mapping, err_ind, result_tran)
const Pview_map *mapping;
Pint
*err_ind;
Pmatrix result_tran; - For
- subroutine PEVMM(vwwnlm, pjvplm,
errind, vwmpmt)
real*4 vwwnlm(4), pjvplm(4)
integer*4 errind
real*4 vwmpmt(3,3)
Parametri - C:
- mapping
- - definicija velikosti okna risanja
(win) in velikosti pogleda (proj_vp)
- err_ind
- - indikator napak
- result_tran
- - matrika za preslikavo
typedef struct {
Plimit win; /* window limits */
Plimit proj_vp; /* viewport limits */
} Pview_map;
typedef struct {
Pfloat x_min;
Pfloat x_max;
Pfloat y_min;
Pfloat y_max;
} Plimit;
typedef Pfloat Pmatrix[3][3];
Parametri - For:
- vwwnlm
- - definicija velikosti okna risanja
(win)
- pjvplm
- - definicija velikosti pogleda
- errind
- - indikator napak
- vwmpmt
- - matrika za preslikavo
Definicija velikosti okna se podaja v uporabniških koordinatah,
velikost pogleda je podana v normaliziranih koordinatah (od 0 do
1). Veljati mora:
Funkcija vrne rezultat, matriko za preslikavo, v parametru
result_tran (oz. vwmpmt). S to matriko, ki je
potrebna kot parameter v drugi funkciji, se celotno področje
risanja v uporabniških koordinatah preslika v področje
pogleda. Primer: narisati želimo sornik, premera 10mm in
dolžine 50mm. Dimenzije so podane v tabeli 1.
| | | | |
okno | 0 | 100 | 0 | 50 |
pogled | 0 | 1.0 | 0 | 1.0 |
Table 1: Dimenzije okna in pogleda za sornik
Figure 2: Predstavitev pojma okna in pogleda
- nastavi meje izrisa normaliziranega
pogleda
Definicija: - C
-
void pset_ws_win(ws_id, ws_win_limits)
Pint
ws_id;
const Plimit *ws_win_limits; - For
- subroutine PSWKW(wkid,
xmin, xmax, ymin, ymax)
integer*4 wkid
real*4 xmin, xmax, ymin,
ymax
Parametri - C:
Parametri - For:
- wkid
- - številka izhodne enote
- xmin
- - spodnja meja - vodoravno
- xmax
- - zgornja meja - vodoravno
- ymin
- - spodnja meja - navpično
- ymax
- - zgornja meja - navpično
S funkcijo se nastavi, kateri del pogleda v normaliziranih
koordinatah se prikaže na izhodni enoti. Na sliki
3 je prikazano, da se bo izrisal del pogleda
s koordinatami, kot kaze tabela 2.
| | | | |
pogled | 0.3 | 0.95 | 0.25 | 0.85 |
Table 2: Koordinate dela pogleda
Figure 3: Nastavitev dela, ki se izriše
Navadno se izriše celotem pogled in so meje od 0 do 1.
- nastavi okno izrisa na izhodni
enoti
Definicija: - C
-
void pset_ws_vp(ws_id, ws_vp_limits)
Pint ws_id;
const Plimit *ws_vp_limits; - For
- void pswkv(wkid, xmin, xmax, ymin,
ymax)
int wkid;
float xmin, xmax, ymin, ymax;
Parametri - C:
Parametri - For:
- wkid
- - številka izhodne enote
- xmin
- - spodnja meja - vodoravno
- xmax
- - zgornja meja - vodoravno
- ymin
- - spodnja meja - navpično
- ymax
- - zgornja meja - navpično
S funkcije se poda velikost okna, v katerega se izriše okno,
določeno s funkcijo pset_ws_win. Koordinate se
podajajo v metrih. Primer:
- koordinate risanja: 0 400
- pogled: 0 1
- meje norm. pogleda: 0 1
- velikost okna na zaslonu: 0 0.2 m
Glede na podane koordinate oken in pogledov sledi, da je črta,
dolga 400 enot risanja, na zaslonu dolga 0.2m.
Next: Nastavitve barv izrisa
Up: Razlaga ukazov
Previous: Razlaga ukazov
Janez Krek
Mon Apr 6 17:52:05 CEST 1998