CGO Shapes: Difference between revisions
Jump to navigation
Jump to search
Jaredsampson (talk | contribs) (→EXAMPLES: add image for the above examples) |
Jaredsampson (talk | contribs) (Add category:CGO) |
||
Line 23: | Line 23: | ||
SPHERE, x, y, z, radius # uses the current color | SPHERE, x, y, z, radius # uses the current color | ||
[[Category:CGO]] | |||
CYLINDER, x1, y1, z1, x2, y2, z2, radius, | CYLINDER, x1, y1, z1, x2, y2, z2, radius, |
Revision as of 21:33, 13 February 2022
In PyMOL, a Compiled Graphics Object, or CGO, is a Python list of floating point numbers, which is compiled by PyMOL into a CGO object and associated with a given state. CGOs can be created in the PyMOL scene with the Load_CGO command.
CGO Commands
Based on an old version of the User Manual:
Lowercase names below should be replaced with floating-point numbers. Generally, the TRIANGLE primitive should only be used only as a last restore since it is much less effective to render than using a series of vertices with a BEGIN/END group. BEGIN, { POINTS | LINES | LINE_LOOP | LINE_STRIP | TRIANGLES | TRIANGLE_STRIP | TRIANGLE_FAN }, VERTEX, x, y, z, COLOR, red, green, blue, NORMAL, normal-x, normal-y, normal-z, END, LINEWIDTH, line-width, WIDTHSCALE, width-scale, # for ray-tracing SPHERE, x, y, z, radius # uses the current color [[Category:CGO]] CYLINDER, x1, y1, z1, x2, y2, z2, radius, red1, green1, blue1, red2, green2, blue2, TRIANGLE, x1, y1, z1, x2, y2, z2, x3, y3, z3, normal-x1, normal-y1, normal-z1, normal-x2, normal-y2, normal-z2, normal-x3, normal-y3, normal-z3, red1, green1, blue1, red2, green2, blue2, red3, green3, blue3, CONE, x1, y1, z1, x2, y2, z2, r1, r2, red1, green1, blue1, red2, green2, blue2, cap1, cap2 # should the ends be solid (1) or open (0)?
EXAMPLES
from pymol import cgo
# Unit sphere at the origin
plain_sphere = [cgo.SPHERE, 0, 0, 0, 1]
cmd.load_cgo(plain_sphere, "plain_sphere")
# Red unit sphere at (3, 4, 5)
red_sphere = [cgo.COLOR, 1, 0, 0, cgo.SPHERE, 3, 4, 5, 1]
cmd.load_cgo(red_sphere, "red_sphere")
# Narrow yellow cylinder
pos0 = [-1, -1, -1]
pos1 = [-1, -1, 1]
r = 0.1
yellow = [1, 1, 0]
yellow_cyl = [cgo.CYLINDER, *pos0, *pos1, r, *yellow, *yellow]
cmd.load_cgo(yellow_cyl, "yellow_cylinder")
# Magenta and green cone, open on one endray
pos0 = [2, 2, 2]
pos1 = [3, 3, 3]
radii = [1, 0.5]
color0 = [1, 0, 1]
color1 = [0, 1, 0]
caps = [0, 1]
cone = [CONE] + pos0 + pos1 + radii + color0 + color1 + caps
cmd.load_cgo(cone, "cone")
# adjust the camera position
set_view (\
0.022470249, 0.398223877, -0.917012811,\
0.188309744, 0.899140060, 0.395077318,\
0.981853366, -0.181560174, -0.054785311,\
0.000002960, -0.000002829, -28.313688278,\
1.387665749, 1.797374249, 2.392468214,\
21.653684616, 34.973686218, -20.000000000 )
# force a black background and save a PNG image
set ray_opaque_background, 1
png cgo_examples.png, ray=1