PEXtCircle(3PEXt)

NAME
PEXtCircle2, PEXtCircle — create a circle using a POLYLINE structure element

SYNOPSIS
#include <PEXt/PEXt.h>
#include <PEXt/Primitive.h>

void PEXtCircle2 (x, y, radius, num_segments)
    Pfloat    x, y;
    Pfloat    radius;
    Pint    num_segments;

void PEXtCircle (x, y, z, radius, num_segments)
    Pfloat    x, y, z;
    Pfloat    radius;
    Pint    num_segments;

  Required PHIGS Operating States
(PHOP, *, STOP, *)

DESCRIPTION
PEXtCircle2 and PEXtCircle create approximations to a circle of the given radius in the XY plane with its center at (x, y) or (x, y, z), respectively. The approximation uses num_segments segments in a POLYLINE or POLYLINE3 structure element to approximate the circle. If the current edit mode is set to PINSERT, then the structure element is inserted at the current element pointer position; otherwise the structure element replaces the element at the current element pointer position.

RETURN VALUE
None

BUGS
A plane normal should be introduced to specify the plane of the circle.

The error tolerance should be specified using a curvature metric instead of a subdivision metric.

The routine should detect the condition when the subdivision count causes the structure element to become too large for the protocol transmission packet size and either break the circle into multiple structure elements and/or generate a warning message.

AUTHOR
Rich Thomson <rthomson@dsd.es.com>
Design Systems Division
Evans & Sutherland Computer Corporation