GENERALIZED DRAWING PRIMITIVE -6(3P) — SUNPHIGS LIBRARY
NAME
GENERALIZED DRAWING PRIMITIVE -6 − create 2D GDP annotation circular arc
SYNOPSIS
C Syntax
void
pgdp ( num_points, points, gdp_id, gdp_data )
Pintnum_points;number of points
Ppoint∗points;array of points
Pintgdp_id;gdp function identifier
Pgdprec∗gdp_data;data record pointer
FORTRAN Syntax
SUBROUTINE pgdp ( N, PXA, PYA, PRIMID, LDR, DATREC )
INTEGERNnumber of points (>= 0)
REALPXA(∗), PYA(∗)coordinates of points (MC)
INTEGERPRIMIDGDP identifier
INTEGERLDRdimension of data record array
CHARACTER∗80DATREC(LDR) data record
Required PHIGS Operating States
(PHOP, ∗, STOP, ∗)
DESCRIPTION
Purpose
GENERALIZED DRAWING PRIMITIVE -6 creates the annotation circular arc structure element.
C Input Parameters
num_points
The number of points passed in the points parameter.
pointsA pointer to a list num_points long of Ppoint structures containing x and y values in Modelling Coordinates (MC). Ppoint is defined in phigs.h as follows:
typedef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ y coordinate ∗/
} Ppoint;
gdp_id
The function identifier for this generalized drawing primitive is PUGDP_ANNOT_CIRC_ARC, which is defined in phigs.h to be -6.
gdp_data
A pointer to a Pgdprec union, ugdp6_datarec, containing the information needed to perform the function specified by gdp_id. Pugdp0006rec is defined in phigs.h as:
typedef struct {
Ppointcenter;/∗ center point ∗/
Pfloatradius;/∗ radius ∗/
Pfloatst_ang;/∗ start angle in radians ∗/
Pfloatend_ang;/∗ end angle in radians ∗/
} Pugdp0006rec; /∗ annotation circular arc ∗/
The center component specifies the center of the annotation circular arc. It is a structure containing xand ycoordinates specified in MC. The radius component specifies the radius of the annotation circular arc in MC. The st_ang component specifies the start angle of the annotation circular arc in radians. The end_ang component specifies the end angle of the annotation circular arc in radians. The start and end angles are specified in a counter-clockwise direction with the MC positive xaxis as the origin.
FORTRAN Input Parameters
NNumber of points passed in the PXA and PYA arrays.
PXAAn array of N real values containing x coordinates in MC.
PYAAn array of N real values containing y coordinates in MC.
PRIMID
The function identifier for this generalized drawing primitive is PUGDPACIRCARC, which is defined in phigs77.h to be -6.
LDRThe dimension of DATREC (returned by the PACK DATA RECORD subroutine).
DATREC
A GDP data record packed by the PACK DATA RECORD subroutine containing the information needed to perform the function specified by PRIMID.
The arguments passed to PACK DATA RECORD when PRIMID = PUGDPACIRCARC should be as follows:
ILThe number of integers = 0.
RLThe number of real values = 5.
RAContains an array of RL real values. Element 1 is the xcoordinate of the center of the annotation circular arc in MC. Element 2 is the ycoordinate of the center of the annotation circular arc in MC. Element 3 is the radius of the annotation circular arc in MC. Element 4 is the start angle of the annotation circular arc in radians. Element 5 is the end angle of the annotation circular arc in radians.
SLThe number of strings = 0.
Execution
An annotation circular arc is a curve defined by a center point, a radius, and a start angle and end angle. The Circle Local Coordinate (CLC) system is located at the center point on the z = 0 plane. The horizontal and vertical axes of CLC are parallel to the xand yaxes of the MC. The current values of all polyline attributes will be applied to the annotation circular arc when it is drawn. Annotation circular arc is not affected by the current curve approximation criteria.
The center point of the annotation circular arc is specified in MC. The radius of the annotation circular arc is specified in CLC. At traversal, all transformations affect the center point, but only the workstation transformation affects the other parameters of the annotation circular arc. An annotation circular arc greater than 360 degrees is drawn as a hollow annotation circle.
The array of points passed to this subroutine in addition to the GDP data record is not used by the annotation circular arc GDP.
Attributes Applied
The attributes listed below are used to display the GENERALIZED DRAWING PRIMITIVE -6 structure element. The Aspect Source Flags (ASFs) tell where to access the output display attributes. These attributes can come directly from the traversal state list, or they can be accessed indirectly, using the appropriate index in the traversal state list and the corresponding bundled representation in the workstation state list.
polyline colourpolyline colour index ASF
linewidth scale factorlinewidth scale factor ASF
linetypelinetype ASF
curve approximation criteriacurve approximation criteria ASF
polyline index
depth cue index
name set
ERRORS
005Ignoring function, function requires state (PHOP, ∗, STOP, ∗)
SEE ALSO
GENERALIZED DRAWING PRIMITIVE (3P)
SET CURVE APPROXIMATION CRITERIA (3P+)
See Line Attributes in Index
Sun Release 4.0 — Last change: 27 July 1989