Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ generalized_drawing_primitive_3_-3(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

GENERALIZED DRAWING PRIMITIVE 3 -3(3P)  —  SUNPHIGS LIBRARY

NAME

GENERALIZED DRAWING PRIMITIVE 3 -3 − create 3D GDP circular arc 3

SYNOPSIS

C Syntax

void
pgdp3 ( num_points, points, gdp3_id, gdp_data )
Pintnum_points;number of points
Ppoint3∗points;array of points
Pintgdp3_id;gdp function identifier
Pgdprec3∗gdp_data;data record pointer

FORTRAN Syntax

SUBROUTINE pgdp3 ( N, PXA, PYA, PZA, PRIMID, LDR, DATREC )
INTEGERNnumber of points (>= 0)
REALPXA(∗), PYA(∗), PZA(∗) coordinates of points (MC)
INTEGERPRIMIDGDP 3 identifier
INTEGERLDRdimension of data record array
CHARACTER∗80DATREC(LDR) data record

Required PHIGS Operating States

(PHOP, ∗, STOP, ∗)

DESCRIPTION

Purpose

GENERALIZED DRAWING PRIMITIVE 3 -3 creates the 3D circular arc 3 GDP structure element. 

C Input Parameters

num_points
Number of points passed in the points parameter. 

pointsA pointer to a list num_points long of Ppoint3 structures containing x, y, and z values in Modelling Coordinates (MC).  Ppoint3 is defined in phigs.h as:

typedef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ y coordinate ∗/
Pfloatz;/∗ z coordinate ∗/
} Ppoint3;

gdp3_id
The function identifier for this generalized drawing primitive is PUGDP_CIRC_ARC3, which is defined in phigs.h to be -3. 

gdp_data
A pointer to a Pgdprec3 union, ugdp3_datarec, containing the information needed to perform the function specified by gdp_id.  Pugdp0003rec3 is defined in phigs.h as:

typedef struct {
Ppoint3center;/∗ center point ∗/
Pvector3dir[2];/∗ direction vectors ∗/
Pfloatradius;/∗ radius ∗/
Pfloatst_ang;/∗ start angle in radians ∗/
Pfloatend_ang;/∗ end angle in radians ∗/
} Pugdp0003rec3;           /∗ circular arc 3 ∗/

The center component specifies the center of the circular arc 3.  It is a structure containing x, y, and z coordinates specified in MC.  The dir component is an array of two Pvector3 structures containing direction vectors.  The radius component specifies the radius of the circular arc 3 in MC.  The st_ang component specifies the start angle of the circular arc 3 in radians.  The end_ang component specifies the end angle of the circular arc 3 in radians.  The start and end angles are specified in a counter-clockwise direction with the MC positive x axis as the origin. 

FORTRAN Input Parameters

NNumber of points passed in the PXA, PYA, and PZA arrays. 

PXAAn array of N real values containing x coordinates in MC. 

PYAAn array of N real values containing y coordinates in MC. 

PZAAn array of N real values containing z coordinates in MC. 

PRIMID
The function identifier for this generalized drawing primitive is PUGDPCIRCARC3, which is defined in phigs77.h to be -3. 

LDRThe dimension of DATREC (returned by the PACK DATA RECORD subroutine). 

DATREC
A  GDP 3 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 = PUGDPCIRCARC3 should be as follows:

ILThe number of integers = 0. 

RLThe number of real values = 12. 

RAContains array of RL real values.  Element 1 is the x coordinate of the center of the circular arc 3 in MC.  Element 2 is the y coordinate of the center of the circular arc 3 in MC.  Element 3 is the z coordinate of the center of the circular arc 3 in MC.  Element 4 is the x component of the first direction vector in MC.  Element 5 is the y component of the first direction vector in MC.  Element 6 is the z component of the first direction vector in MC.  Element 7 is the x component of the second direction vector in MC.  Element 8 is the y component of the second direction vector in MC.  Element 9 is the z component of the second direction vector in MC.  Element 10 is the radius of the circular arc 3 in MC.  Element 11 is the start angle of the circular arc 3 in radians.  Element 12 is the end angle of the circular arc 3 in radians. 

SLThe number of strings = 0. 

Execution

A circular arc 3 is a curve defined by a center point, a radius, a start angle, and an end angle.  Let P be the center point defined in the MC, and U and V be the direction vectors repectively. The plane which the circular arc 3 lies on is a plane the contains P and is perpendicular to U x V.  The Circle Local Coordinate (CLC) system is located at the center point.  The horizontal and vertical axes of CLC are parallel to the x and y axes of the MC.  The current values of all polyline attributes will be applied to the circular arc 3 when it is drawn.  The circular arc 3 is rendered according to the current curve approximation criteria. 

The center point and radius are specified in MC.  The start and end angles are specified in radians in the counter-clockwise direction with the CLC positive x axis as the origin.  At traversal, the circular arc 3 in MC is transformed by the current local and global modelling transformations, the view representation selected by the current view index, and the workstation transformation current on the workstation to which the structure is posted.  A circular arc 3 greater than 360 degrees is drawn as a hollow circle 3. 

The array of points passed to this subroutine in addition to the GDP data record is not used by the circular arc 3 GDP. 

Attributes Applied

The attributes listed below are used to display the GENERALIZED DRAWING PRIMITIVE 3 -3 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
polyline shading methodpolyline shading method 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 3 (3P)
SET CURVE APPROXIMATION CRITERIA (3P+)
See Line Attributes in Index

Sun Release 4.0  —  Last change: 27 July 1989

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026