# glupartialdisk(3g) [xfree86 man page]

```GLUPARTIALDISK(3G)														GLUPARTIALDISK(3G)

NAME
gluPartialDisk - draw an arc of a disk

C SPECIFICATION
GLdouble inner,
GLdouble outer,
GLint slices,
GLint loops,
GLdouble start,
GLdouble sweep )

PARAMETERS

inner   Specifies the inner radius of the partial disk (can be 0).

outer   Specifies the outer radius of the partial disk.

slices  Specifies the number of subdivisions around the z axis.

loops   Specifies the number of concentric rings about the origin into which the partial disk is subdivided.

start   Specifies the starting angle, in degrees, of the disk portion.

sweep   Specifies the sweep angle, in degrees, of the disk portion.

DESCRIPTION
gluPartialDisk  renders	a partial disk on the z=0 plane. A partial disk is similar to a full disk, except that only the subset of the disk
from start through start + sweep is included (where 0 degrees is along the +yaxis, 90 degrees along the +x axis, 180 degrees along  the	-y
axis, and 270 degrees along the -x axis).

The partial disk has a radius of outer, and contains a concentric circular hole with a radius of inner. If inner is 0, then no hole is gen-
erated. The partial disk is subdivided around the z axis into slices (like pizza slices), and also about the z axis into rings  (as  speci-
fied by slices and loops, respectively).

With  respect  to orientation, the +z side of the partial disk is considered to be outside (see gluQuadricOrientation).	This means that if
the orientation is set to GLU_OUTSIDE, then any normals generated point along the +z axis. Otherwise, they point along the -z axis.

If texturing is turned on (with gluQuadricTexture), texture coordinates are generated linearly such that where r=outer, the value at (r, 0,
0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at (-r, 0, 0) it is (0.0, 0.5), and at (0, -r, 0) it is (0.5, 0.0).

GLUPARTIALDISK(3G)```

## Check Out this Related Man Page

```CAIRO_ARC(3)								 1							      CAIRO_ARC(3)

CairoContext::arc - Adds a circular arc

Object oriented style (method):

SYNOPSIS
public void CairoContext::arc (float  \$x, float	\$y, float  \$radius, float  \$angle1, float  \$angle2)

DESCRIPTION
Procedural style:
void cairo_arc (CairoContext  \$context, float  \$x, float  \$y, float  \$radius, float  \$angle1, float  \$angle2)

Adds a circular arc of the given radius to the current path. The arc is centered at (\$x, \$y), begins at \$angle1 and proceeds in the direc-
tion of increasing angles to end at \$angle2. If \$angle2 is less than \$angle1 it will be progressively  increased  by  2*M_PI  until  it	is
greater	than  \$angle1.	If there is a current point, an initial line segment will be added to the path to connect the current point to the
beginning of the arc.  If  this	initial  line  is  undesired,  it  can	be  avoided  by  calling  CairoContext::newSubPath  or	procedural
cairo_new_sub_path(3) before calling CairoContext::arc or cairo_arc(3). Angles are measured in radians. An angle of 0.0 is in the direction
of the positive X axis (in user space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of  the  positive	Y  axis  (in  user
space).	Angles	increase  in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix,
angles increase in a clockwise direction. (To convert from degrees to radians, use degrees * (M_PI / 180.).) This function gives the arc in
the  direction  of  increasing angles; see CairoContext::arcNegative or cairo_arc_negative(3) to get the arc in the direction of decreasing
angles.

PARAMETERS
o \$context
- A valid CairoContext object

o \$x
- x position

o \$y
- y position

o \$angle1
- start angle

o \$angle2
- end angle

RETURN VALUES
No value is returned.

EXAMPLES
Example #1

Object oriented style

<?php

\$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
\$c = new CairoContext(\$s);

\$c->setSourceRgb(0, 0, 0);
\$c->paint();

\$c->setLineWidth(1);
\$c->setSourceRgb(1, 1, 1);

for (\$r = 50; \$r > 0; \$r -= 10) {
\$c->arc(50, 50, \$r, 0, 2 * M_PI);
\$c->stroke();
\$c->fill();
}

\$s->writeToPng(dirname(__FILE__) . '/CairoContext__arc.png');
?>

Example #2

Procedural style

<?php

\$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
\$c = cairo_create(\$s);

cairo_set_source_rgb(\$c, 0, 0, 0);
cairo_paint(\$c);

cairo_set_source_rgb(\$c, 1, 1, 1);
cairo_set_line_width(\$c, 1);

for (\$r = 50; \$r > 0; \$r -= 10) {
cairo_arc(\$c, 50, 50, \$r, 0, 2 * M_PI);
cairo_stroke(\$c);
cairo_fill(\$c);
}

cairo_surface_write_to_png(\$s, dirname(__FILE__) . '/cairo_arc.png');
?>