-+-+-+-+-+-+-+-+ START OF PART 131 -+-+-+-+-+-+-+-+ X1864 60 V 1503 62 364 2 v 0 136 a Fq(REAL)12 b(FUNCTION)f Fp(ptkf_r)o X(ead\257oat)g Fq(\(ws,)h(defreal,)g(prompt,)f(echoarea\))25 X225 y(IN)50 b(INTEGER)193 b Fa(ws)k Fq(workstation)9 b(identi\256er)n(.)25 X275 y(IN)50 b(REAL)262 b Fa(defreal)130 b Fq(default)11 b(\257oating)f(point V) Xg(number)n(.)25 324 y(IN)50 b(CHARACTER*\(*\))e Fa(prompt)129 Xb Fq(prompt)10 b(string.)25 374 y(IN)50 b(REAL)262 b Fa(echoarea\(4)o(\))47 Xb Fq(string)10 b(echo)i(area.)0 443 y(This)e(function)f(reads)i(and)g X(returns)e(a)i(real)g(number)f(from)g(string)f(device)i(1)f(on)g(workstation V) Xf Fi(ws)p Fq(,)i(using)f Fi(prompt)h Fq(as)g(a)g(prompt)0 493 Xy(string.)21 b(If)13 b(the)g(user)h(types)g(a)g(carriage-return)f(instead)g X(of)g(supplying)f(an)i(real)f(value,)i(the)e(function)f(returns)h(the)h X(speci\256ed)0 543 y(default)d(value)g Fi(defreal)p Fq(.)17 Xb Fi(echoarea)c Fq(speci\256es)f(the)f(echo)h(area)g(to)f(use)h(for)f(the)g X(string)f(device.)p 1546 640 321 2 v 1546 719 2 80 v 1560 694 Xa Fb(ptkf_readint)p 1864 719 V 1546 721 321 2 v 0 795 a Fq(INTEGER)i X(FUNCTION)f Fp(ptkf_r)o(eadint)h Fq(\(ws,)f(de\256nt,)h(prompt,)e(echoarea\) V) X25 884 y(IN)50 b(INTEGER)193 b Fa(ws)k Fq(workstation)9 b(identi\256er)n(.)2 V5 X934 y(IN)50 b(INTEGER)193 b Fa(de\256nt)152 b Fq(default)11 Xb(integer)n(.)25 984 y(IN)50 b(CHARACTER*\(*\))e Fa(prompt)129 Xb Fq(prompt)10 b(string.)25 1033 y(IN)50 b(REAL)262 b Fa(echoarea\(4)o(\))47 Xb Fq(string)10 b(echo)i(area.)0 1102 y(This)i(function)e(reads)j(and)f X(returns)f(an)h(integer)f(from)h(string)e(device)j(1)f(on)f(workstation)f XFi(ws)p Fq(,)j(using)e Fi(prompt)i Fq(as)g(a)f(prompt)0 1152 Xy(string.)f(If)c(the)g(user)h(types)f(a)h(carriage-return)f(instead)f(of)h X(supplying)e(an)j(integer)n(,)g(the)f(function)e(returns)i(the)g(speci\256ed V) Xh(default)0 1202 y(value)h Fi(defint)p Fq(.)17 b Fi(echoarea)c XFq(speci\256es)f(the)f(echo)h(area)h(to)d(use)i(for)f(the)g(string)f(device. V) Xp 1473 1299 394 2 v 1473 1378 2 80 v 1487 1353 a Fb(ptkf_readstring)p X1864 1378 V 1473 1380 394 2 v 11 1454 a Fq(SUBROUTINE)i Fp(ptkf_r)o X(eadstring)f Fq(\(ws,)h(defstring,)f(prompt,)f(echoarea,)k(len,)d(instr)n(,) Vg X(inlen\))25 1543 y(IN)91 b(INTEGER)193 b Fa(ws)k Fq(workstation)10 Xb(identi\256er)n(.)25 1593 y(IN)91 b(CHARACTER*\(*\))48 b Fa(defstring)102 Xb Fq(default)11 b(string.)25 1643 y(IN)91 b(CHARACTER*\(*\))48 Xb Fa(prompt)129 b Fq(prompt)11 b(string.)25 1692 y(IN)91 b(REAL)262 Xb Fa(echoarea\(4\))46 b Fq(string)10 b(echo)i(area.)25 1742 Xy(IN)91 b(INTEGER)193 b Fa(len)f Fq(number)12 b(of)f(characters)h(allocated) Vg X(for)e(input)g(string.)25 1792 y(OUT)50 b(CHARACTER*\(*\))e XFa(instr)172 b Fq(input)10 b(string.)25 1842 y(OUT)50 b(INTEGER)193 Xb Fa(inlen)164 b Fq(length)11 b(of)g(input)e(string.)0 1911 Xy(This)h(function)f(reads)i(and)g(returns)e(a)i(real)g(number)f(from)g X(string)f(device)i(1)f(on)g(workstation)f Fi(ws)p Fq(,)i(using)f XFi(prompt)h Fq(as)g(a)g(prompt)0 1961 y(string.)k(If)c(the)h(user)g(types)f X(a)h(carriage-return)g(instead)f(of)g(supplying)f(a)i(string,)f(the)g X(function)f(returns)h(the)h(speci\256ed)g(default)0 2010 y(value)f XFi(defstring)p Fq(.)17 b Fi(echoarea)c Fq(speci\256es)g(the)e(echo)h(area)g X(to)f(use)h(for)e(the)i(string)d(device.)p 1400 2108 467 2 Xv 1400 2187 2 80 v 1414 2161 a Fb(ptkf_removestruc)o(t)p 1864 X2187 V 1400 2189 467 2 v 0 2263 a Fq(LOGICAL)j(FUNCTION)f Fp(ptkf_r)o X(emovestruct)h Fq(\(stid\))25 2362 y(IN)50 b(INTEGER)g Fa(stid)f XFq(structure)10 b(identi\256er)n(.)0 2462 y(This)15 b(function)f(deletes)h X(structure)g Fi(stid)p Fq(,)i(if)e(it)f(already)i(exists,)g(returning)d(TRUE V) Xj(if)f(the)g(structure)f(was)i(deleted,)h(other)o(-)0 2512 Xy(wise)12 b(F)m(ALSE.)0 2956 y(13th)22 b(May)m(,)12 b(1992)626 Xb(195)828 b(2.01)p eop X%%Page: 196 197 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1436 -19 430 2 v 1436 60 2 80 v 1450 35 a Fb(ptkf_setallatt)o X(rasf)p 1864 60 V 1436 62 430 2 v 11 136 a Fq(SUBROUTINE)12 Xb Fp(ptkf_setallattrasf)d Fq(\(asf\))25 236 y(IN)50 b(INTEGER)g XFa(asf)f Fq(aspect)12 b(source)g(\257ag.)0 335 y(This)k(function)f(inserts)h X(a)h(structure)e(element)i(into)e(the)h(open)h(structure)e(to)h(set)h(the)f X(aspect)h(source)g(\257ags)g(for)e(all)h(primi-)0 385 y(tive)11 Xb(attribiutes,)f(according)h(to)f Fi(asf)p Fq(.)p 1496 482 X371 2 v 1496 561 2 80 v 1510 536 a Fb(ptkf_setattrasf)p 1864 X561 V 1496 563 371 2 v 11 637 a Fq(SUBROUTINE)i Fp(ptkf_setattrasf)f XFq(\(numattrs,)g(attrs,)g(asf\))25 726 y(IN)50 b(INTEGER)g XFa(numattrs)e Fq(length)10 b(of)h(attribute)f(list.)25 776 Xy(IN)50 b(INTEGER)g Fa(attrs\(*\))79 b Fq(attribute)10 b(list.)25 X826 y(IN)50 b(INTEGER)g Fa(asf)139 b Fq(aspect)12 b(source)g(\257ag.)0 X895 y(This)j(function)e(inserts)h(a)h(structure)f(element)h(into)e(the)i X(open)f(structure)g(to)g(set)h(the)g(aspect)g(source)g(\257ags)g(for)f(each) Vi X(of)e(the)0 945 y Fi(numattrs)f Fq(attributes)d(in)g(the)i(list)e XFi(attrs)p Fq(,)i(according)f(to)g Fi(asf)p Fq(.)p 1423 1042 X444 2 v 1423 1121 2 80 v 1437 1095 a Fb(ptkf_seteditmod)o(e)p X1864 1121 V 1423 1123 444 2 v 11 1197 a Fq(SUBROUTINE)h Fp(ptkf_seteditmode) Vf XFq(\(editmode\))25 1296 y(IN)50 b(INTEGER)g Fa(editmode)e Fq(edit)10 Xb(mode.)0 1396 y(This)h(function)f(stores)h(the)g(current)g(edit)g(mode)h(on V) Xf(the)g(editmode)g(stack)g(and)h(then)f(sets)g(the)g(edit)g(mode)h(to)f X(given)f(value.)p 1230 1493 636 2 v 1230 1572 2 80 v 1244 1547 Xa Fb(ptkf_setstandardviewpor)o(t)p 1864 1572 V 1230 1574 636 X2 v 11 1648 a Fq(SUBROUTINE)i Fp(ptkf_setstandardviewport)f XFq(\(vlimits,)28 b(vwormt,)g(vwmpmt,)h(vwcplm,)g(xyclpi,)f(bclipi,)756 X1698 y(fclipi\))25 1750 y(IN)91 b(REAL)119 b Fa(vlimits\(6\))j XFq(viewport)10 b(bounding)f(box.)25 1800 y(OUT)50 b(REAL)119 Xb Fa(vwormt\(4,)10 b(4\))67 b Fq(view)11 b(orientation)e(matrix.)25 X1850 y(OUT)50 b(REAL)119 b Fa(vwmpmt\(4,)11 b(4\))49 b Fq(view)11 Xb(mapping)g(matrix.)25 1900 y(OUT)50 b(REAL)119 b Fa(vwcplm\(6\))103 Xb Fq(view)11 b(clipping)e(limits.)25 1950 y(OUT)50 b(INTEGER)g XFa(xyclpi)175 b Fq(x-y)11 b(clipping)e(indicator)n(.)25 1999 Xy(OUT)50 b(INTEGER)g Fa(bclipi)183 b Fq(back)12 b(clipping)d(indicator)n(.)2 V5 X2049 y(OUT)50 b(INTEGER)g Fa(fclipi)193 b Fq(front)10 b(clipping)f(indicator V) Xn(.)0 2118 y(For)i(a)h(window)e(of)h(`5B0,1`5D,)g(this)g(function)f(creates) Vi(a)g X(view)f(representation)g(for)g(a)g(viewport)f(of)h Fi(vlimits)p XFq(.)p 1456 2215 411 2 v 1456 2294 2 80 v 1470 2269 a Fb(ptkf_stackstruct)p X1864 2294 V 1456 2296 411 2 v 11 2370 a Fq(SUBROUTINE)h Fp(ptkf_stackstruct) Vg XFq(\(\))0 2519 y(This)k(function)e(stores)h(the)h(name)h(of)e(the)h X(currently)e(open)i(structure)f(and)g(the)h(position)e(of)h(the)g(element)i X(pointer)d(on)h(the)0 2569 y(structure)c(stack,)h(and)f(closes)h(the)f X(structure.)0 2956 y(13th)22 b(May)m(,)12 b(1992)626 b(196)828 Xb(2.01)p eop X%%Page: 197 198 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1443 -19 424 2 v 1443 60 2 80 v 1457 35 a Fb(ptkf_structexists)p X1864 60 V 1443 62 424 2 v 0 136 a Fq(LOGICAL)12 b(FUNCTION)f XFp(ptkf_structexists)g Fq(\(stid\))25 236 y(IN)50 b(INTEGER)g XFa(stid)f Fq(structure)10 b(identi\256er)n(.)0 335 y(This)h(function)f X(checks)i(if)f(structure)g Fi(stid)h Fq(exists)f(in)g(the)g(CSS,)g(returning V) Xf(TRUE)i(if)f(it)f(exists,)h(otherwise)g(F)m(ALSE.)p 1356 432 X510 2 v 1356 512 2 80 v 1371 486 a Fb(ptkf_structsumma)o(ry)p X1864 512 V 1356 514 510 2 v 11 588 a Fq(SUBROUTINE)h Fp(ptkf_structsummary)f XFq(\(\256leptr\))25 687 y(IN)50 b(INTEGER)g Fa(\256leptr)e XFq(\256le)11 b(pointer)n(.)0 787 y(This)k(function)f(outputs)g(a)i(summary)h X(of)e(all)g(the)g(structures)g(in)g(the)h(CSS)f(to)g(\256le)h XFi(fileptr)p Fq(,)i(which)d(should)g(be)h(an)f(open)0 837 y(writeable)c X(\256le.)16 b(The)d(structure)e(identi\256er)f(of)h(each)i(structure)e(is)g X(printed,)g(together)g(with)f(its)h(hashed)h(string)e(name,)j(if)e(it)g(has) V0 X886 y(one.)16 b(The)c(format)f(of)g(the)g(list)f(is:)0 936 Xy Fi(List)19 b(of)f(structures)i(in)e(the)h(CSS)0 986 y X(---------------------)q(------)q(--)0 1086 y(structure)h(1)e("helicopter")0 X1135 y(structure)i(45)0 1185 y(structure)g(51)e("helicopter")0 X1235 y(etc.)34 b Fq(.)p 1363 1332 504 2 v 1363 1411 2 80 v X1377 1386 a Fb(ptkf_unseteditmod)o(e)p 1864 1411 V 1363 1413 X504 2 v 11 1487 a Fq(SUBROUTINE)12 b Fp(ptkf_unseteditmode)f XFq(\(\))0 1636 y(This)g(function)f(restores)i(the)f(current)g(edit)f(mode)i X(from)f(the)g(edit)g(mode)h(stack.)p 1396 1734 470 2 v 1396 X1813 2 80 v 1410 1787 a Fb(ptkf_unstackstruct)p 1864 1813 V X1396 1815 470 2 v 11 1888 a Fq(SUBROUTINE)g Fp(ptkf_unstackstruct)g XFq(\(\))0 2038 y(This)f(function)f(pops)h(the)g(structure)g(stack,)h(opens)f X(the)g(structure)g(and)g(sets)h(the)f(element)h(pointer)n(.)0 X2956 y(13th)22 b(May)m(,)12 b(1992)626 b(197)828 b(2.01)p eop X%%Page: 198 199 Xbop 0 349 a Fj(Chapter)24 b(29)0 585 y Fs(T)-8 b(raversal)27 Xb(State)i(List)g(functions)p 1396 800 470 2 v 1396 879 2 80 Xv 1410 854 a Fb(ptkf_boundingbox)p 1864 879 V 1396 881 470 X2 v 0 956 a Fq(LOGICAL)12 b(FUNCTION)f Fp(ptkf_boundingbox)f XFq(\(structid,)g(wcbounds,)h(descend\))25 1044 y(IN)91 b(INTEGER)55 Xb Fa(structid)136 b Fq(structure)10 b(network)h(identi\256er)n(.)25 X1094 y(OUT)50 b(REAL)124 b Fa(wcbounds\(6\))47 b Fq(bounding)9 Xb(box)i(in)f(world)h(coordinates.)25 1144 y(IN)91 b(LOGICAL)50 Xb Fa(descend)116 b Fq(\257ag)11 b(to)g(indicate)g(traversal.)0 X1213 y(This)e(function)e(evaluates)j(the)f(bounding)e(box)h(for)h(a)g X(structure)g(or)f(structure)h(network.)14 b(If)8 b Fi(descend)j XFq(is)e(set)g(to)f(TRUE)i(then)e(the)0 1263 y(bounding)i(box)h(for)g(the)g X(complete)h(structure)f(network)g(is)g(returned,)h(otherwise)f(just)g(for)g X(a)h(single)f(structure.)16 b(The)c(function)0 1313 y(returns)h(TRUE)h(if)f X(the)h(resulting)e(bounding)f(box)i(is)h(valid,)f(otherwise)h(F)m(ALSE.)g(A) Vg X(structure)f(with)g(no)g(output)f(primitives)0 1362 y(returns)f(an)g(invalid V) Xf(bounding)f(box.)p 1575 1459 291 2 v 1575 1539 2 80 v 1590 X1513 a Fb(ptkf_inittsl)p 1864 1539 V 1575 1541 291 2 v 11 1614 Xa Fq(SUBROUTINE)j Fp(ptkf_inittsl)d Fq(\(\))0 1764 y(This)15 Xb(function)e(initialises)g(the)i(current)g(TSL)g(values)g(to)g(the)f(default V) Xh(values)g(from)f(the)h(PHIGS)g(description)f(table.)26 b(The)0 X1813 y(default)11 b(ASF)g(value)h(for)e(each)j(attribute)d(is)h(assumed)h(to V) Xf(be)g(INDIVIDUAL.)p 1320 1911 547 2 v 1320 1990 2 80 v 1334 X1964 a Fb(ptkf_inqboundingbox)p 1864 1990 V 1320 1992 547 2 Xv 11 2066 a Fq(SUBROUTINE)h Fp(ptkf_inqboundingbox)d Fq(\(bbox\))25 X2165 y(OUT)50 b(REAL)g Fa(bbox\(6\))e Fq(bounding)9 b(box.)0 X2265 y(This)16 b(function)e(may)i(be)g(used)g(to)f(obtain)g(the)g(current)h X(TSL)g(bounding)e(box)h(value.)29 b(This)15 b(is)h(the)f(bounding)f(box)h(of V) Xg(the)0 2315 y(TSL)d(structure)f(network)f(at)i(the)f(current)g(point)f(of)h X(traversal.)902 2956 y(198)p eop X%%Page: 199 200 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1373 -19 494 2 v 1373 60 2 80 v 1387 35 a Fb(ptkf_inqtslannotex) Vo X(t)p 1864 60 V 1373 62 494 2 v 11 136 a Fq(SUBROUTINE)12 b XFp(ptkf_inqtslannotext)d Fq(\(style,)i(charheight,)g(charup,)h(textalign,)e X(textpath\))25 225 y(OUT)50 b(INTEGER)g Fa(style)141 b Fq(annotation)10 Xb(style.)25 275 y(OUT)50 b(REAL)119 b Fa(charheight)47 b Fq(annotation)10 Xb(character)i(height.)25 324 y(OUT)50 b(REAL)119 b Fa(charup\(2\))61 Xb Fq(annotation)10 b(character)i(up)f(vector)n(.)25 374 y(OUT)50 Xb(INTEGER)g Fa(textalign)81 b Fq(annotation)10 b(text)g(alignment.)25 X424 y(OUT)50 b(INTEGER)g Fa(textpath)87 b Fq(annotation)10 Xb(text)g(path.)0 493 y(This)h(function)f(may)i(be)f(used)h(to)f(obtain)f(the V) Xh(current)g(TSL)h(annotation)e(text)h(attributes.)p 1429 590 X437 2 v 1429 669 2 80 v 1444 644 a Fb(ptkf_inqtslatt)o(rasf)p X1864 669 V 1429 671 437 2 v 11 745 a Fq(SUBROUTINE)h Fp(ptkf_inqtslattrasf)d XFq(\(attr)n(,)j(asf\))25 834 y(IN)91 b(INTEGER)50 b Fa(attr)f XFq(attribute)10 b(type.)25 884 y(OUT)50 b(INTEGER)g Fa(asf)j XFq(attribute)10 b(aspect)i(source)g(\257ag.)0 959 y(This)f(function)f(may)i X(be)f(used)h(to)f(obtain)f(the)h(current)g(TSL)h(aspect)g(source)g(\257ag)g X(value)f(for)g(attribute)f(type)h Fi(attr)p Fq(.)p 1476 1056 X391 2 v 1476 1135 2 80 v 1490 1110 a Fb(ptkf_inqtslchar)p 1864 X1135 V 1476 1137 391 2 v 11 1211 a Fq(SUBROUTINE)h Fp(ptkf_inqtslchar)f XFq(\(exp,)g(spacing,)h(height,)e(charup\))25 1300 y(OUT)50 Xb(REAL)g Fa(exp)143 b Fq(character)13 b(expansion)d(factor)n(.)25 X1350 y(OUT)50 b(REAL)g Fa(spacing)77 b Fq(character)13 b(spacing.)25 X1400 y(OUT)50 b(REAL)g Fa(height)103 b Fq(character)13 b(height.)25 X1450 y(OUT)50 b(REAL)g Fa(charup\(2\))d Fq(character)13 b(up)d(vector)n(.)0 X1519 y(This)h(function)f(may)i(be)f(used)h(to)f(obtain)f(the)h(current)g(TSL V) Xh(character)h(attributes.)p 1489 1616 377 2 v 1489 1695 2 80 Xv 1503 1669 a Fb(ptkf_inqtslctm)p 1864 1695 V 1489 1697 377 X2 v 11 1771 a Fq(SUBROUTINE)f Fp(ptkf_inqtslctm)e Fq(\(globaltran,)g X(localtran\))25 1860 y(OUT)50 b(REAL)g Fa(globaltran\(4,)7 Xb(4\))49 b Fq(global)10 b(transformation)g(matrix.)25 1909 Xy(OUT)50 b(REAL)g Fa(localtran\(4,)8 b(4\))70 b Fq(local)11 Xb(transformation)f(matrix.)0 1985 y(This)h(function)f(may)i(be)f(used)h(to)f X(obtain)f(the)h(current)g(TSL)h(transformation)e(matrices.)p X1466 2082 401 2 v 1466 2161 2 80 v 1480 2135 a Fb(ptkf_inqtsledge)p X1864 2161 V 1466 2163 401 2 v 11 2237 a Fq(SUBROUTINE)i Fp(ptkf_inqtsledge)f XFq(\(edgeind,)g(edge\257ag,)h(edgetype,)g(edgewidth,)e(edgecolour\))25 X2326 y(OUT)50 b(INTEGER)g Fa(edgeind)97 b Fq(edge)12 b(index.)25 X2375 y(OUT)50 b(INTEGER)g Fa(edge\257ag)87 b Fq(edge)12 b(\257ag.)25 X2425 y(OUT)50 b(INTEGER)g Fa(edgetype)77 b Fq(edge)12 b(type.)25 X2475 y(OUT)50 b(REAL)119 b Fa(edgewidth)62 b Fq(edge)12 b(width.)25 X2525 y(OUT)50 b(INTEGER)g Fa(edgecolour)d Fq(edge)12 b(colour)n(.)0 X2594 y(This)f(function)f(may)i(be)f(used)h(to)f(obtain)f(the)h(current)g(TSL V) Xh(edge)g(attributes.)0 2956 y(13th)22 b(May)m(,)12 b(1992)626 Xb(199)828 b(2.01)p eop X%%Page: 200 201 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 1509 -19 358 2 v 1509 60 2 80 v 1523 35 a Fb(ptkf_inqtslids)p X1864 60 V 1509 62 358 2 v 11 136 a Fq(SUBROUTINE)12 b Fp(ptkf_inqtslids)e XFq(\(pickid,)g(hlhsrid,)g(viewind\))25 225 y(OUT)50 b(INTEGER)g XFa(pickid)76 b Fq(pick)11 b(identi\256er)n(.)25 275 y(OUT)50 Xb(INTEGER)g Fa(hlhsrid)62 b Fq(HLHSR)11 b(identi\256er)n(.)25 X324 y(OUT)50 b(INTEGER)g Fa(viewind)f Fq(view)11 b(index.)0 X393 y(This)16 b(function)f(may)h(be)h(used)f(to)g(obtain)f(the)h(current)g X(TSL)h(values)f(for)g(pick)g(identi\256er)n(,)h(HLHSR)f(identi\256er)f(and)h +-+-+-+-+-+-+-+- END OF PART 131 +-+-+-+-+-+-+-+-