-+-+-+-+-+-+-+-+ START OF PART 9 -+-+-+-+-+-+-+-+ X(using)f(archive)i(\256les)g(which)104 1942 y(are)f(external)f(to)g(PHIGS.)g X(2D)h(pictures)e(may)i(be)g(stored)f(on)g(meta\256les.)0 2111 Xy Fr(1.2)59 b(The)17 b(PHIGS)e(T)-5 b(oolkit)0 2232 y Fq(The)11 Xb(purpose)g(of)f(the)h(PHIGS)g(T)m(oolkit)e(is)i(to)f(help)g(application)g X(programmers)h(to)f(program)h(more)g(ef)o(fectively)g(and)g(securely)0 X2282 y(using)j(PHIGS.)h(The)h(functionality)c(provided)i(by)h(PHIGS)g(is)f X(low-level,)h(and)h(the)e(PHIGS)h(T)m(oolkit)f(provides)g(a)h(number)0 X2332 y(of)e(tools)f(of)h(various)g(levels)h(of)f(complexity)f(in)h(order)g X(to)g(make)h(programming)f(with)f(PHIGS)i(quicker)n(,)g(and)f(less)h X(painful.)0 2382 y(Figure)g(1.1)h(shows)g(how)g(the)f(PHIGS)h(T)m(oolkit)f X(\256ts)g(into)g(a)i(PHIGS)f(environment.)25 b(T)m(o)15 b(the)g(programmer)n X(,)i(it)d(is)g(as)i(if)e(the)0 2431 y(functions)7 b(provided)g(by)h(PHIGS)g X(have)h(been)g(supplemented)f(with)f(a)i(set)g(of)f(additional)e(functions,) Vi X(and)g(a)h(typical)f(application)0 2481 y(will)h(use)j(both)d(`60raw')i(PHIG VS)g X(functions)e(as)i(well)g(as)g(PHIGS)g(T)m(oolkit)e(functions.)14 Xb(A)d(convenient)f(way)h(to)f(view)g(the)h(T)m(oolkit)0 2531 Xy(is)g(as)h(a)g(layer)f(of)g(software)h(which)f(sits)f(`60on)h(top)g(of)r(') Vg X(PHIGS.)0 2610 y(The)k(components)f(of)h(the)f(PHIGS)h(T)m(oolkit)e(are)i X(illustrated)e(in)h(Figure)g(1.2.)25 b(In)14 b(the)g(diagram,)i(tools)d X(drawn)i(at)f(the)h(same)0 2660 y(vertical)c(level)g(are)h(functionally)d X(independent,)i(and)g(tools)f(higher)h(up)g(themselves)h(make)g(use)g(of)f X(the)g(tools)f(lower)h(down.)0 2739 y(For)i(convenience,)j(tools)c(in)h(the) Vh X(PHIGS)f(T)m(oolkit)g(are)h(divided)e(into)h(two)g(categories:)20 Xb Fp(pr)o(ogramming)12 b(tools)p Fq(,)i(and)g Fp(high-)0 2956 Xy Fq(13th)22 b(May)m(,)12 b(1992)636 b(10)839 b(2.01)p eop X%%Page: 11 12 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fp(level)12 b(tools)p Fq(.)19 b(Programming)12 Xb(tools)g(are)h(generally)f(quite)g(simple)g(single-purpose)g(procedures,)h X(and)g(are)g(designed)g(to)f(help)0 58 y(applications)7 b(programmers)j(to)e X(construct)g(PHIGS)g(programs)h(more)g(quickly)f(and)g(reliably)m(.)14 Xb(The)c(high-level)d(tools)g(are)j(more)0 108 y(powerful,)h(and)g(provide)f X(programmers)i(with)e(means)j(for)e(visualising)e(and)i(debugging)f X(structure)h(networks.)0 277 y Fr(1.3)59 b(Pr)o(ogramming)14 Xb(tools)0 398 y Fq(V)-5 b(ersion)10 b(2.0)f(of)h(the)f(PHIGS)h(T)m(oolkit)e X(comprises)j(the)e(following)e(programming)i(tools,)h(which)f(are)h X(described)g(in)g(Chapter)f(4:)64 519 y Fl(\267)21 b Fp(the)14 Xb(T)m(ransformations)f(Library)h Fq(\261)g(a)g(collection)f(of)h(functions)f X(for)g(constructing)g(and)h(manipulating)e(coordinate)104 569 Xy(transformations.)64 652 y Fl(\267)21 b Fp(the)9 b(HashStrings)g(Library)g XFq(This)g(is)f(a)i(collection)d(of)i(functions)e(which)i(enable)g(text)g X(strings)e(to)h(be)i(used)f(in)f(situations)104 701 y(where)k(integers)e X(would)h(normally)f(be)i(required.)64 784 y Fl(\267)21 b Fp(the)12 Xb(PHIGS)h(Utilities)e(Library)h Fq(\261)g(a)g(collection)f(of)h(utility)d X(functions,)i(providing)f(operations)h(\(such)h(as)g(`60copy)g(ele-)104 X834 y(ment'\))f(which)f(are)i(not)e(directly)g(provided)f(by)i(PHIGS,)g(as)h X(well)f(as)g(common)h(sequences)g(of)f(PHIGS)g(function)e(calls)104 X884 y(`60bundled)h(up')h(into)f(single)g(functions.)64 967 y XFl(\267)21 b Fp(the)12 b(PHIGS)h(T)m(raversal)f(State)g(List)g(Library)f XFq(\261)h(a)h(collection)d(of)i(functions)e(for)i(inquiring)d(information)h X(of)i(a)g(sim-)104 1017 y(ulated)f(structure)f(network)h(traversal.)64 X1100 y Fl(\267)21 b Fp(the)9 b(Colour)f(Library)h Fq(\261)f(a)h(collection)f X(of)g(functions)f(for)i(de\256ning)e(colour)h(values)h(using)f(English)f X(words)i(and)f(phrases,)104 1150 y(and)j(manipulating)f(colours)g(using)h X(various)f(colour)h(models.)0 1319 y Fr(1.4)59 b(High-level)14 Xb(tools)0 1440 y Fq(V)-5 b(ersion)11 b(2.0)h(of)f(the)g(PHIGS)g(T)m(oolkit)f X(comprises)i(the)f(following)e(high-level)g(tools:)64 1561 Xy Fl(\267)21 b Fp(the)14 b(PHIGS)i(T)l(extual)e(Interpr)o(eter)j(\(Phinter\) V) Xe Fq(\261)f(a)h(tool)e(for)g(reading)h(textual)g(PHIGS)g(scripts.)24 Xb(Phinter)13 b(may)i(be)104 1610 y(used)c(interactively)f(with)g(a)i(PHIGS)g X(string)e(device)h(or)g(standard)g(input)f(\(Chapter)h(5\).)64 X1694 y Fl(\267)21 b Fp(the)11 b(PHIGS)h(Structur)o(e)g(Content)f(Drawer)g XFq(\261)g(a)g(tool)e(to)h(generate)h(diagrams)g(showing)e(which)i(elements)g X(structures)104 1743 y(contain.)k(The)d(diagrams)f(are)h(themselves)g(PHIGS) Vf X(structures,)h(with)e(a)i(documented)f(format)g(\(Chapter)g(6\).)64 X1826 y Fl(\267)21 b Fp(the)14 b(PHIGS)h(T)l(opology)e(Library)g XFq(\261)h(a)g(collection)f(of)h(functions)e(for)i(automatically)f(generating V) Xg(diagrams)h(repre-)104 1876 y(senting)d(the)h(topology)e(of)h(PHIGS)i X(structure)e(networks.)17 b(The)c(diagrams)f(are)h(themselves)g(PHIGS)f X(structures,)g(with)104 1926 y(a)g(documented)f(format)g(\(Chapter)g(7\).)64 X2009 y Fl(\267)21 b Fp(the)15 b(PHIGS)h(Menus)g(Library)e Fq(\261)h(a)g X(collection)f(of)g(functions)g(for)g(constructing)f(and)i(manipulating)e X(menus)i(built)104 2059 y(using)10 b(PHIGS)h(structures)g(\(Chapter)g(8\).)6 V4 X2142 y Fl(\267)21 b Fp(the)14 b(PHIGS)i(W)o(indows)d(Library)h XFq(\261)g(a)h(collection)e(of)h(functions)f(for)g(displaying)g(and)h(viewing V) Xf(PHIGS)h(structure)104 2192 y(networks)c(in)h(windows)f(\(Chapter)h(9\).)64 X2275 y Fl(\267)21 b Fp(the)12 b(PHIGS)i(Debugger)f Fq(\261)f(a)h(tool)e X(\(modelled)g(after)i(conventional)d(programming)i(language)g(debuggers\))g X(for)f(sim-)104 2324 y(ulating)h(the)h(traversal)g(of)h(structure)e X(networks.)22 b(The)14 b(traversal)f(may)h(be)g(stepped)f(through)f X(incrementally)h(and)g(the)104 2374 y(state)e(of)g(the)g(traversal)h X(inquired)e(at)h(any)g(stage)h(\(Chapter)f(10\).)64 2457 y XFl(\267)21 b Fp(the)13 b(PHIGS)g(V)n(iew)g(Editor)f Fq(\261)g(a)h(utility)d X(for)i(interactively)f(editing)g(and)h(experimenting)f(with)h(viewing)f X(parameters)104 2507 y(for)g(a)g(scene)i(\(Chapter)e(1)n(1\).)0 X2956 y(13th)22 b(May)m(,)12 b(1992)637 b(1)n(1)840 b(2.01)p Xeop X%%Page: 12 13 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fr(1.5)59 b(Reporting)16 b(bugs)0 130 y Fq(If)10 Xb(you)h(\256nd)f(a)h(bug)f(in)g(the)h(PHIGS)g(T)m(oolkit,)e(or)i(in)f(this)f X(manual,)j(please)g(report)d(it)h(to)g Fi(phigstoolkit@uk.ac)q(.man.c)q(s)p XFq(,)k(or:)104 250 y(T)m(oby)d(Howard)104 300 y(Department)g(of)g(Computer)g X(Science)104 350 y(University)e(of)i(Manchester)104 400 y(Oxford)f(Road)104 X450 y(Manchester)i(M13)f(9PL)104 499 y(United)f(Kingdom)104 X549 y(T)m(el:)15 b(+44)c(61)g(275)g(6274)104 599 y(Fax:)k(+44)c(61)g(275)g X(6236)0 2956 y(13th)22 b(May)m(,)12 b(1992)636 b(12)839 b(2.01)p Xeop X%%Page: 13 14 Xbop 0 349 a Fj(Chapter)24 b(2)0 585 y Fs(Installation)k(Guide)0 X830 y Fq(This)11 b(chapter)h(describes)g(how)f(to)f(install)g(the)h(PHIGS)h X(T)m(oolkit)d(on)i(SunOS)g(and)h(V)-5 b(AX/VMS.)0 999 y Fr(2.1)59 Xb(Distribution)16 b(methods)0 1121 y Fq(The)e(PHIGS)g(T)m(oolkit)e(is)h X(distributed)e(by)i(Kent)h(Software)f(Distribution)d(Centre.)22 Xb(Both)12 b(SunOS)i(and)f(VMS)h(packages)g(are)0 1171 y(available)d(via)g X(Blue-book)f(ftp)h(\(Janet,)h(ni-ftp\))d(from)i(NETLIB.)0 1318 Xy Fu(2.1.1)50 b(PTK)15 b(via)e(NETLIB)i(and)e(NI-FTP)0 1425 Xy Fq(All)d(accesses)k(must)e(be)f(of)g(the)g(form:)144 1595 Xy Fi(path-of-file)58 b(from)c(uk.ac.ukc.harrier)144 X1695 y(user)19 b(guest)144 1745 y(password)h()0 X1934 y Fp(SunOS)0 2040 y Fq(The)12 b(relevant)f(command)h(is)144 X2153 y Fi(unix/phigstk)q(/Phigs)q(Toolki)q(t.tar.)q(Z)21 Xb(from)55 b(uk.ac.ukc.harrier)0 2265 y Fq(The)12 b(\256le)f(is)h(1.3Mb)e(and V) Xi(is)f(a)h(compressed)g(tar)f(\256le)h(\(use)f(uncompress)h(to)f(get)g(a)h X(normal)f(unix)f(tar)h(\256le\).)0 2404 y Fp(VMS)0 2511 y Fq(The)i(PHIGS)f(T V) Xm(oolkit)f(package)i(is)f(stored)g(in)g(a)h(hexi\256ed,)f(compressed)i(save) Vf X(set.)18 b(In)12 b(addition)f(to)h(the)g(save)h(set)f(two)g(utility)0 X2560 y(programs)f(are)i(required)d(to)h(`60dehex')h(and)f(uncompress)h(the)f X(software.)16 b(The)c(dehex)g(program)f(is)g(used)h(to)f(turn)f(it)h(from)g X(ascii)0 2610 y(to)g(binary)f(and)i(`60lzdcmp')f(is)g(used)g(to)g(uncompress V)h X(that.)0 2689 y(Instructions)d(on)i(how)g(to)g(proceed)h(may)g(be)f(found)g X(in)f(\256le)i(00README.)912 2956 y(13)p eop X%%Page: 14 15 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)144 8 y Fi(vms/phigstk/)q(00READ)q(ME)21 Xb(from)55 b(uk.ac.ukc.harrier)0 120 y Fq(Thus)11 b(three)h(ni-ftp)d(requests V) Xj(are)g(required.)j(For)c(the)g(dehex)h(program)f(use:)144 X232 y Fi(vms/hexify/d)q(ehex.m)q(ar)21 b(from)55 b(uk.ac.ukc.harrier V) X0 345 y Fq(then)144 457 y Fi(vms/lzw/lzdc)q(mp.exe)22 Xb(from)54 b(uk.ac.ukc.harrier)0 569 y Fq(to)11 b(get)g(the)g(uncompresser)h X(and)144 681 y Fi(vms/phigstk/)q(ptk.bc)q(k_z)21 b(from)55 Xb(uk.ac.ukc.harrier)0 793 y Fq(to)11 b(get)g(the)g(T)m(oolkit.)j(The)e(save) Vg X(set)g(is)f(1.7Mb.)0 872 y(Once)h(the)f(utilities)e(and)i(save)i(set)e(have) Vh X(been)g(received)g(the)f(dehex)g(program)h(must)f(be)g(compiled)g(and)h X(linked:)0 992 y Fi($)18 b(macro)h(dehex)0 1042 y($)f(link)h(dehex)0 X1092 y($)f(dehex)h(:==)g($disk:`5Bdirectory`5Ddehex)0 1212 y Fq(where)12 Xb(`60disk')e(and)h(`60directory')f(re\257ect)j(the)e(location)f(of)h(the)g X(executable.)0 1291 y(Then)h(dehex)f(the)g(`60lzdcmp')h(executable:)0 X1411 y Fi($)18 b(dehex)h(--)f(this)h(prompts)g(for)g(the)f(file,)h(use)g X(lzdcmp.hex)0 1461 y($)f(lzdcmp)h(:==)g($disk:`5Bdirectory`5Dlzdcm)q(p)0 X1582 y Fq(where)12 b(`60disk')e(and)h(`60directory')f(re\257ect)j(the)e(loca Vtion) Xf(of)h(the)g(executable.)0 1660 y(Now)g(dehex)h(and)f(uncompress)h X(`60ptk.hex':)0 1781 y Fi($)18 b(dehex)h(--)f(this)h(prompts)g(for)g(the)f X(file,)h(use)g(ptk.hex)0 1831 y($)f(lzdcmp)h(ptk.bck_z)h(ptk.bck)0 X1951 y Fq(Finally)m(,)11 b(to)f(extract)i(the)f(toolkit)e(sources)j(into)e X(the)h(current)g(directory:)0 2071 y Fi($)18 b(backup)h(ptk.bck/save_set)i X(`5B...`5D)e(/log)0 2219 y Fu(2.1.2)50 b(PTK)15 b(on)e(a)g(magnetic)h(tape)0 X2326 y Fq(Send)d(a)h(1/4)f(inch)g(cartridge)g(for)f(SunOS,)i(and)f(a)h(1/2)f X(inch)f(open)i(reel)f(magnetic)h(tape)f(for)g(VMS)h(to:)104 X2446 y(T)o(im)f(Hopkins)104 2496 y(Computing)e(Laboratory)104 X2546 y(University)g(of)i(Kent)104 2596 y(email:)k(trh@uk.ac.ukc)0 X2956 y(13th)22 b(May)m(,)12 b(1992)636 b(14)839 b(2.01)p eop X%%Page: 15 16 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fu(2.1.3)50 b(PTK)15 b(via)e(anonymous)g(ftp)0 X115 y Fq(The)k(PHIGS)f(T)m(oolkit)e(is)i(available)g(via)g(anonymous)f(ftp)g X(from)h Fi(hpb.mcc.ac.uk)j Fq(\(IP)c(address)i Fi(130.88.200.7)p XFq(\).)32 b(The)0 165 y(following)12 b(shows)j(how)f(to)h(obtain)e(a)j X(compressed)g(tar)e(\256le)h(of)g(the)g(T)m(oolkit)e(for)h(SunOS)h(using)f X(ftp)g(\(user)h(types)f(in)g Fp(bold)p Fq(,)0 215 y(system)e(in)e XFi(typewriter)p Fq(\).)54 335 y Fi($)i Fq(ftp)e(hpb.mcc.ac.uk)54 X385 y Fi(Connected)20 b(to)e(hpb.mcc.ac.uk.)54 435 y(220)h(mcchpb)g(FTP)f X(server)h(ready.)54 485 y(Name)g(\(hpb.mcc.ac.uk:toby\):)g XFq(anonymous)54 534 y Fi(331)g(Guest)f(login)h(ok,)g(send)g(ident)f(as)h X(password.)54 584 y(Password:)e Fq(\(type)11 b(your)f(email)i(address)g X(here\))54 634 y Fi(230)19 b(Guest)f(login)h(ok,)g(access)g(restrictions)h X(apply.)54 684 y(ftp>)f Fq(cd)11 b(pub/cgu/ptk)54 734 y Fi(200)19 Xb(CWD)f(command)h(okay.)54 783 y(ftp>)12 b Fq(binary)54 833 Xy Fi(200)19 b(Type)f(set)h(to)f(I.)54 883 y(ftp>)12 b Fq(get)f(ptk.tar)n(.Z) X54 933 y Fi(ftp>)h Fq(quit)54 983 y Fi(ftp>)19 b(221)f(Goodbye.)0 X1103 y Fq(Next,)11 b(uncompress)h(the)f(\256le,)h(and)g(extract)f(all)g(the) Vg X(\256les)h(from)f(the)g(archive,)h(as)g(follows:)54 1223 y XFi($)18 b(uncompress)i(ptk.tar.Z)54 1273 y($)e(tar)h(xvf)f(ptk.tar)0 X1394 y Fq(The)12 b(VMS)g(version)f(of)h(the)f(T)m(oolkit)g(is)g(also)h X(available)g(from)f(the)h(same)h(anonymous)e(ftp)g(account.)17 Xb(Instead)12 b(of)g(a)g(tar)g(\256le)g(or)0 1443 y(VMS)g(saveset)i(the)e(T)m X(oolkit)e(is)i(stored)g(as)h(a)g(collection)e(of)h(SHAR)g(\256les.)19 Xb(There)13 b(are)g(147)e(\256les)i(in)f(total,)f(each)j(15K)e(in)f(size.)0 X1493 y(They)h(are)g(called)f Fi(ptk.shar_X)i Fq(where)f(X)g(is)f(1)g(...)16 Xb(147.)54 1614 y Fi($)c Fq(ftp)e(hpb.mcc.ac.uk)54 1663 y Fi(Connected)20 Xb(to)e(hpb.mcc.ac.uk.)54 1713 y(220)h(mcchpb)g(FTP)f(server)h(ready.)54 X1763 y(Name)g(\(hpb.mcc.ac.uk:toby\):)g Fq(anonymous)54 1813 Xy Fi(331)g(Guest)f(login)h(ok,)g(send)g(ident)f(as)h(password.)54 X1863 y(Password:)e Fq(\(type)11 b(your)f(email)i(address)g(here\))54 X1912 y Fi(230)19 b(Guest)f(login)h(ok,)g(access)g(restrictions)h(apply.)54 X1962 y(ftp>)f Fq(cd)11 b(pub/cgu/ptk)54 2012 y Fi(200)19 b(CWD)f(command)h X(okay.)54 2062 y(ftp>)12 b Fq(binary)54 2112 y Fi(200)19 b(Type)f(set)h(to)f X(I.)54 2162 y(ftp>)12 b Fq(mget)g(ptk.shar*)54 2211 y Fi(ftp>)g XFq(quit)54 2261 y Fi(ftp>)19 b(221)f(Goodbye.)0 2382 y Fq(T)m(o)12 Xb(rebuild)e(the)h(T)m(oolkit)f(directory)g(structure)g(the)i(\256les)f(must) Vg X(be)h(concatenated)g(together)f(and)g(run)g(as)h(a)f(command)i(\256le.)54 X2502 y Fi($)18 b(copy)h(ptk.shar_\045,)h(ptk.shar_\045\045,)g X(ptk.shar_\045\045\045)g(ptk.shar)54 2552 y($)e(@ptk.shar)0 X2672 y Fq(This)11 b(will)f(rebuild)g(the)h(directory)f(structure)g(in)h(the) Vf X(current)h(directory)m(.)k(It)10 b(is)h(advisable)g(to)g(delete)g(all)g(the) Vg X(SHAR)g(\256les)g(after)0 2722 y(the)g(directory)f(structure)h(has)h(been)g X(rebuilt.)0 2956 y(13th)22 b(May)m(,)12 b(1992)636 b(15)839 Xb(2.01)p eop X%%Page: 16 17 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fr(2.2)59 b(Building)16 b(the)g(libraries)0 X129 y Fq(Once)9 b(the)f(PHIGS)g(T)m(oolkit)f(directory)g(structure)g(has)i X(been)f(successfully)g(installed)f(there)i(will)d(be)j(eight)e(top-level)g X(directories)0 179 y(called)k(source,)g(library)m(,)f(include,)h(fortran,)f X(demo,)h(data,)h(scripts)e(and)g(docs.)15 b(The)d(source)f(directory)e X(contains)h(all)g(the)h(.c)g(\256les)0 228 y(for)d(the)h(PHIGS)g(T)m(oolkit) Ve X(library)h(and)h(demos.)15 b(The)10 b(include)e(directory)g(contains)g(all)h X(the)f(.h)i(\256les.)15 b(A)8 b(compressed)i(PostScript)0 278 Xy(\256le)h(of)f(the)g(user)h(manual)g(is)f(found)g(in)g(the)g(docs)h X(directory)m(.)k(PHIGS)10 b(scripts)g(for)g(use)h(with)f(phinter)f(are)i X(stored)f(in)g(the)h(scripts)0 328 y(directory)m(.)j(The)d(libraries)e(do)g X(not)g(take)h(long)f(to)g(compile)h(and)f(it)g(is)h(possible)f(to)g(build)f +-+-+-+-+-+-+-+- END OF PART 9 +-+-+-+-+-+-+-+-