GINO Graphics Suite - GINO v9.0  

gEnqCurveAttribs

Syntax

[C/C++:]
void gEnqCurveAttribs2D(float dxbeg, float dybeg, float dxfin, float dyfin, GPOINT *begp2, GPOINT *finp2);
void gEnqCurveAttribs3D(float dxbeg, float dybeg, float dzbeg, float dxfin, float dyfin, float dzfin, GPOINT3 *begp3, GPOINT3 *finp3);
[F90:]
subroutine gEnqCurveAttribs2D(dxbeg, dybeg, dxfin, dyfin, begp2, finp2)
subroutine gEnqCurveAttribs3D(dxbeg, dybeg, dzbeg, dxfin, dyfin, dzfin, begp3, finp3)

real, intent(out) :: dxbeg,dybeg,dzbeg,dxfin,dyfin,dzfin
type (GPOINT), intent(out) :: begp2,finp2
type (GPOINT3), intent(out) :: begp3,finp3

Arguments

dxbeg,dybeg,dzbeg
Slope angle/derivative for start of the curve

dxfin,dyfin,dzfin
Slope angle/derivative for end of the curve

begp2,begp3
Extra point defining start angle of curve

finp2,finp3
Extra point defining end angle of curve

Description

The routine gEnqCurveAttribs2D() and gEnqCurveAttribs3D() return the curve end conditions which have either been set through calling gSetCurveAttribs2D() or gSetCurveAttribs3D() or have been set/updated as a result of the last curve drawing routine.

For the piecewise cubic curves, the slopes are measured in terms of the cosine and sine of the angles at each end, whereas for the spline curves, the slope is measured in terms of actual gradient and therefore will be scaled.

The curve end conditions define the direction of a curve at each end. They will be used in the next curve drawing routine if the curve is to be drawn with specified end conditions and then updated so that the start and end slopes match those of the curve that has been drawn. By enquiring and setting the curve end conditions in between curve drawing routines, it is possible to get curves to merge smoothly.

See Also

gEnqCurveAttribs Usage
gDrawAkimaBy2D
gDrawAkimaTo2D
gDrawCurveBy2D
gDrawCurveTo2D
gDrawSplineBy2D
gDrawSplineTo2D
gSetCurveAttribs2D
gSetCurveAttribs3D