-+-+-+-+-+-+-+-+ START OF PART 8 -+-+-+-+-+-+-+-+ Xf(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) Vg X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)40 b Fq(141)0 X1204 y Fp(24)20 b(Debugger)13 b(functions)1393 b(161)0 1324 Xy(25)20 b(V)n(iewing)11 b(functions)1423 b(163)0 1496 y Fu(III)51 Xb(Fortran)13 b(Refer)o(ence)h(Manual)1108 b(165)0 1617 y Fp(26)20 Xb(T)m(ransformation)10 b(functions)1286 b(166)62 1696 y Fq(26.1)23 Xb(Datatypes)29 b Fk(.)21 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(. V) Xf(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) Vg X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)40 b Fq(166)62 X1775 y(26.2)23 b(Functions)30 b Fk(.)21 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) Vg X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f X(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)40 Xb Fq(166)0 1895 y Fp(27)20 b(Hashstrings)12 b(functions)1354 Xb(183)0 2015 y(28)20 b(PHIGS)13 b(Utilities)d(Library)h(functions)1135 Xb(186)0 2136 y(29)20 b(T)m(raversal)12 b(State)f(List)f(functions)1215 Xb(198)0 2256 y(30)20 b(Colour)11 b(functions)1442 b(202)0 2377 Xy(31)20 b(Miscellaneous)12 b(functions)1317 b(206)0 2497 y(32)20 Xb(Phinter)12 b(functions)1433 b(208)0 2617 y(33)20 b(Structur)o(e)14 Xb(content)d(functions)1254 b(210)0 2956 y Fq(13th)22 b(May)m(,)12 Xb(1992)647 b(6)849 b(2.01)p eop X%%Page: 7 8 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)0 8 y Fp(34)20 b(T)l(opology)10 b(Functions)1393 Xb(212)62 87 y Fq(34.1)23 b(Data)12 b(types)17 b Fk(.)k(.)g(.)g(.)g(.)h(.)f(. V) Xg(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) Vg X(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g X(.)40 b Fq(212)62 166 y(34.2)23 b(Functions)30 b Fk(.)21 b(.)g(.)g(.)g(.)h(. V) Xf(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) Vg X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f X(.)g(.)40 b Fq(212)0 286 y Fp(35)20 b(Menu)12 b(functions)1463 Xb(218)62 365 y Fq(35.1)23 b(Data)12 b(types)17 b Fk(.)k(.)g(.)g(.)g(.)h(.)f X(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f X(.)g(.)40 b Fq(218)62 444 y(35.2)23 b(Functions)30 b Fk(.)21 Xb(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) Vg X(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g X(.)g(.)g(.)g(.)h(.)f(.)g(.)40 b Fq(218)0 565 y Fp(36)20 b(W)o(indow)11 Xb(functions)1417 b(227)62 643 y Fq(36.1)23 b(Data)12 b(types)17 Xb Fk(.)k(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f X(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)40 b Fq(227)62 722 y(36.2)23 Xb(Functions)30 b Fk(.)21 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(. V) Xf(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) Vg X(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)40 b Fq(228)0 X843 y Fp(37)20 b(Debugger)13 b(functions)1393 b(247)0 963 y(38)20 Xb(V)n(iewing)11 b(functions)1423 b(249)0 1083 y(Concept)12 Xb(Index)1544 b(252)0 1204 y(C)11 b(Function)h(Index)1491 b(254)0 X1324 y(Fortran)12 b(Function)g(Index)1380 b(258)0 2956 y Fq(13th)22 Xb(May)m(,)12 b(1992)647 b(7)849 b(2.01)p eop X%%Page: 8 9 Xbop 823 931 a Fj(Part)23 b(I)681 1167 y Fs(User)28 b(Guide)923 X2956 y Fq(8)p eop X%%Page: 9 10 Xbop 0 349 a Fj(Chapter)24 b(1)0 585 y Fs(Intr)n(oduction)0 X830 y Fq(The)12 b(PHIGS)f(T)m(oolkit)f(provides)g(a)h(set)h(of)f(high-level) Ve X(tools)h(for)h(PHIGS)g(application)f(programmers.)16 b(The)c(implementation) V0 X880 y(is)e(written)f(in)h(C,)g(for)g(both)f(the)h(V)-5 b(AX/VMS)10 Xb(and)g(SunOS)g(operating)f(systems,)j(and)e(a)h(Fortran)e(binding)f(is)j X(also)f(provided)f(for)0 930 y(both)h(environments.)15 b(This)c(manual)h X(describes)g(version)e(2.01)h(of)g(the)g(PHIGS)h(T)m(oolkit.)0 X1099 y Fr(1.1)59 b(What)17 b(is)f(PHIGS?)0 1220 y Fq(The)c(Programmer)r(')n X(s)g(Hierarchical)g(Interactive)f(Graphics)h(System)g(\(PHIGS\))f(`5B2`5D)h( Vis)f X(an)h(International)e(Standard)i(for)f(com-)0 1270 y(puter)h(graphics)g(and) Vg X(application)f(modelling.)18 b(Implementations)11 b(of)h(PHIGS)h(for)e(a)i X(variety)f(of)g(systems)h(have)g(been)g(com-)0 1320 y(mercially)f(available) Vg X(for)f(a)h(number)g(of)g(years,)h(and)f(it)f(is)g(rapidly)g(increasing)h(in) Vf X(popularity)e(as)k(an)f(applications)f(platform,)0 1370 y(both)i(in)h X(industry)e(and)i(academia.)26 b(PHIGS)14 b(is)g(a)h(comprehensive)f(system, V) Xi(and)e(for)g(a)h(detailed)e(coverage,)k(the)c(reader)i(is)0 X1420 y(referred)d(to)e(`5B3`5D.)0 1498 y(In)15 b(order)g(to)f(describe)i(how V)f X(the)f(PHIGS)i(T)m(oolkit)d(supplements)i(PHIGS,)h(it)e(is)h(useful)g(to)f X(list)g(the)h(principal)f(features)i(of)0 1548 y(PHIGS,)c(which)f(are)h(as)g X(follows:)64 1669 y Fl(\267)21 b Fp(Graphical)9 b(output)p XFq(:)14 b(PHIGS)9 b(provides)f(a)i(small)g(number)f(of)g(basic)h(types)f(of) Vg X(graphical)g(output)f(primitive:)k(polyline,)104 1718 y(polymarker)n(,)f X(text,)g(\256ll)g(area,)i(cell)e(array)h(and)f(generalized)h(drawing)e X(primitive.)64 1802 y Fl(\267)21 b Fp(Attributes)p Fq(:)14 Xb(Each)c(type)f(of)g(output)f(primitive)f(has)j(a)g(number)f(of)g X(attributes,)g(which)g(are)h(used)f(to)g(determine)h(the)f(style)104 X1851 y(in)i(which)h(it)f(is)h(drawn.)18 b(For)12 b(example,)i(there)e(are)h X(attributes)e(to)g(control)g(the)h(thickness)g(of)g(lines,)g(and)g(the)h X(height)e(of)104 1901 y(text.)64 1984 y Fl(\267)21 b Fp(Structuring)16 Xb(the)h(model)p Fq(:)23 b(Structure)15 b(elements)h(are)h(grouped)e(into)f X(named)j(lists)e(called)h(structures,)h(and)f(a)g(spe-)104 X2034 y(cial)f(structure)f(element)h(\(the)g(execute)g(element\))g(may)h(be)f X(used)g(to)f(de\256ne)h(links)f(between)h(structures)g(to)f(create)i(a)104 X2084 y(hierarchical)11 b(network)g(of)g(structures.)64 2167 Xy Fl(\267)21 b Fp(Editing)15 b(the)i(model)p Fq(:)25 b(Once)17 Xb(a)g(model)g(has)g(been)g(de\256ned,)i(it)d(may)h(be)g(interactively)e X(edited,)j(by)e(inserting)f(and)104 2217 y(deleting)d(structure)h(elements,) Vj X(and)d(deleting)g(entire)g(structures.)22 b(Changes)14 b(made)g(to)f(the)h X(de\256nition)e(of)h(the)g(model)104 2266 y(are)f(automatically)e X(re\257ected)j(in)d(the)h(displayed)g(picture.)64 2349 y Fl(\267)21 Xb Fp(T)m(ransformations)13 b(and)h(viewing)p Fq(:)20 b(Complex)13 Xb(models)h(are)h(built)e(up)h(from)g(simpler)f(components)h(which)g(may)h(be V) X104 2399 y(de\256ned)8 b(independently)m(,)g(using)f(the)h(most)f X(appropriate)g(coordinate)h(systems.)15 b(These)9 b(individual)c(coordinate) Vj X(systems)104 2449 y(are)j(known)e(as)i(modelling)d(coordinates,)j(and)f(are) Vh X(combined)f(together)f(using)g(modelling)g(transformations)g(to)g(create)104 X2499 y(the)e(overall)h(scene)h(in)e(world)g(coordinates.)14 Xb(T)m(o)8 b(display)f(a)h(3D)g(picture)f(on)h(a)g(workstation,)f(PHIGS)h X(provides)f(a)h(general-)104 2549 y(purpose)i(mechanism)j(for)d(creating)h X(parallel)g(and)g(perspective)g(views,)h(including)d(all)h(the)h(views)g(in) Vg X(common)g(use)h(in)104 2599 y(CAD.)64 2682 y Fl(\267)21 b Fp(Graphical)13 Xb(input)p Fq(:)18 b(PHIGS)13 b(provides)f(a)i(number)f(of)g(facilities)f(for V) Xg(operators)h(to)f(provide)g(graphical)h(input)f(to)g(ap-)104 X2731 y(plication)g(programs,)i(using)e(essentially)h(the)g(same)i(model)f(of V) Xf(logical)f(input)g(developed)h(for)g(GKS.)h(There)g(are)h(six)923 X2956 y(9)p eop X%%Page: 10 11 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)628 -33 y X 9621736 11188078 0 0 18682019 21642199 startTexFig X628 -33 a X%%BeginDocument: phigsrole.ps X/$F2psDict 32 dict def`20 X$F2psDict begin X`09$F2psDict /mtrx matrix put X X`09end X`09/$F2psBegin `7B$F2psDict begin /$F2psEnteredState save def`7D def X`09/$F2psEnd `7B$F2psEnteredState restore end`7D def X`09%%EndProlog X X$F2psBegin X1 setlinecap 1 setlinejoin X-175 193 translate X0.000000 329.000000 translate 0.900 -0.900 scale X1.000 setlinewidth Xnewpath 219 269 moveto 219 444 lineto stroke Xnewpath 221.000 436.000 moveto 219.000 444.000 lineto 217.000 436.000 lineto V stroke Xnewpath 344 269 moveto 344 389 lineto stroke Xnewpath 346.000 381.000 moveto 344.000 389.000 lineto 342.000 381.000 lineto V stroke Xnewpath 194 579 moveto 194 509 lineto 504 509 lineto 504 579 lineto closepat Vh stroke Xnewpath 194 509 moveto 194 444 lineto 504 444 lineto 504 509 lineto closepat Vh stroke Xnewpath 244 389 moveto 464 389 lineto 464 444 lineto 244 444 lineto closepat Vh stroke Xnewpath 194 214 moveto 194 269 lineto 509 269 lineto 509 214 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X269 484 moveto`20 X1 -1 scale X(PHIGS Language Binding) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X279 249 moveto`20 X1 -1 scale X(Application Program) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X307 424 moveto`20 X1 -1 scale X(PHIGS Toolkit) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X304 549 moveto`20 X1 -1 scale X(PHIGS Kernel) gsave 0.000 rotate show grestore 1 -1 scale X$F2psEnd X%%EndDocument X 628 -33 a X endTexFig X578 767 a Fq(Figure)11 b(1.1:)k(The)d(role)f(of)g(the)g(PHIGS)g(T)m(oolkit) X256 826 y X 21369221 11188078 0 0 32233062 16840130 startTexFig X256 826 a X%%BeginDocument: player.ps X/$F2psDict 32 dict def`20 X$F2psDict begin X`09$F2psDict /mtrx matrix put X X`09end X`09/$F2psBegin `7B$F2psDict begin /$F2psEnteredState save def`7D def X`09/$F2psEnd `7B$F2psEnteredState restore end`7D def X`09%%EndProlog X X$F2psBegin X1 setlinecap 1 setlinejoin X-72 225 translate X0.000000 256.000000 translate 0.900 -0.900 scale X1.000 setlinewidth Xnewpath 483 404 moveto 568 404 lineto 568 459 lineto 483 459 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X503 436 moveto`20 X1 -1 scale X(Phinter) gsave 0.000 rotate show grestore 1 -1 scale Xnewpath 375 249 moveto 460 249 lineto 460 304 lineto 375 304 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X402 294 moveto`20 X1 -1 scale X(Editor) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X401 274 moveto`20 X1 -1 scale X(View) gsave 0.000 rotate show grestore 1 -1 scale Xnewpath 262 249 moveto 347 249 lineto 347 304 lineto 262 304 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X274 284 moveto`20 X1 -1 scale X(Debugger) gsave 0.000 rotate show grestore 1 -1 scale Xnewpath 373 479 moveto 458 479 lineto 458 534 lineto 373 534 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X384 509 moveto`20 X1 -1 scale X(Transforms) gsave 0.000 rotate show grestore 1 -1 scale Xnewpath 264 479 moveto 349 479 lineto 349 534 lineto 264 534 lineto closepat Vh stroke X/Times-Roman findfont 14.000 scalefont setfont X269 512 moveto`20 X1 -1 scale X(Hashstrings) gsave 0.000 rotate show grestore 1 -1 scale Xnewpath 481 329 moveto 566 329 lineto 566 384 lineto 481 384 lineto closepat Vh stroke Xnewpath 373 329 moveto 458 329 lineto 458 384 lineto 373 384 lineto closepat Vh stroke Xnewpath 262 329 moveto 347 329 lineto 347 384 lineto 262 384 lineto closepat Vh stroke Xnewpath 156 329 moveto 241 329 lineto 241 384 lineto 156 384 lineto closepat Vh stroke Xnewpath 375 404 moveto 460 404 lineto 460 459 lineto 375 459 lineto closepat Vh stroke Xnewpath 263 404 moveto 348 404 lineto 348 459 lineto 263 459 lineto closepat Vh stroke Xnewpath 156 404 moveto 241 404 lineto 241 459 lineto 156 459 lineto closepat Vh stroke Xnewpath 79 394 moveto 624 394 lineto 619 394 lineto stroke X/Times-Roman findfont 14.000 scalefont setfont X389 364 moveto`20 X1 -1 scale X(Menus) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X494 364 moveto`20 X1 -1 scale X(Windows) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X274 346 moveto`20 X1 -1 scale X(Structure) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X274 361 moveto`20 X1 -1 scale X(Content) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X274 376 moveto`20 X1 -1 scale X(Drawer) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X404 437 moveto`20 X1 -1 scale X(TSL) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X170 352 moveto`20 X1 -1 scale X(Topology) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X170 372 moveto`20 X1 -1 scale X(Drawer) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X174 437 moveto`20 X1 -1 scale X(Utility) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X174 452 moveto`20 X1 -1 scale X(Library) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X174 422 moveto`20 X1 -1 scale X(PHIGS) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X284 439 moveto`20 X1 -1 scale X(Colour) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X99 309 moveto`20 X1 -1 scale X(Tools) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X94 284 moveto`20 X1 -1 scale X(High-level) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X89 489 moveto`20 X1 -1 scale X(Programming) gsave 0.000 rotate show grestore 1 -1 scale X/Times-Roman findfont 14.000 scalefont setfont X94 514 moveto`20 X1 -1 scale X(Tools) gsave 0.000 rotate show grestore 1 -1 scale X$F2psEnd X%%EndDocument X 256 826 a X endTexFig X544 1626 a Fq(Figure)g(1.2:)j(Components)d(of)g(the)g(PHIGS)g(T)m(oolkit)104 X1759 y(types)f(of)g(logical)g(input)f(device:)15 b(locator)n(,)c(stroke,)g X(choice,)g(valuator)n(,)g(pick)f(and)h(string,)f(each)h(of)g(which)f(may)h X(be)g(used)104 1809 y(in)f(request,)i(sample)g(and)g(event)f(modes.)64 X1892 y Fl(\267)21 b Fp(Model)12 b(and)h(pictur)o(e)h(storage)p XFq(:)j(Structure)12 b(networks)f(may)i(be)g(stored)f(\(and)h(retrieved\))f +-+-+-+-+-+-+-+- END OF PART 8 +-+-+-+-+-+-+-+-