Synopsis

PDX_MSGT gcr_OffsetCurve(long option, MDA_PTR orig_db_ptr, double cont_toler[4], MDA_PTR gdx_curve_ptr, double offset_dist, double bounds[2], double plane_normal[3], int gdx_model, MDA_PTR *gdx_OC_ptr)

Purpose

Create a GDX Offset Curve.

Description

Given the GDX curve entity database pointers, the offset distance, and the offset plane, the bounds, creates the GDX offset curve entity.

The GDX curve entity (gdx_curve_ptr) must be a valid GDX curve entity. The GDX curve must also be tangent continuous at all points. Therefore, single point polylines and closed polylines are not valid curves to be offset.

If the bounds are NULL, the bounds will be obtained from the gdx_curve_ptr. The bounds must be less than the bounds of the gdx_curve_ptr.

If the magnitude of the plane_normal plane normal vector is less than the current GDX NORMAL_MAG_TOL, the Z plane normal is assumed.

The parametric range of the GDX offset is the parametric range of the subordinate GDX curve entity.

\fBRules\fR .IP • 3 bounds[0] >= t0 of the gdx_curve_ptr entity .IP • 3 bounds[1] <= t1 of the gdx_curve_ptr entity .IP • 3 bounds[0] < bounds[1]. .LP

Input

option

GCR_NOVALIDATE

No validation will occur on the input data.

orig_db_ptr

The original entities orig_db_ptr as obtained from the mda_GetOrigDbptr function call, or MDA_NULL_PTR.

cont_toler

The continuity tolerance. The distance between the derivatives must be less then or equal this value to have derivative continuity .nf [0] = Model Space Distance (G0) [1] = Radian angular difference (G1) [2] = Curvature difference (G2) [3] = Normalized derivative difference .fi

gdx_curve_ptr

The database pointer of the base GDX curve to offset.

offset_dist

The offset distance (+, -, or 0.0)

bounds

The start and end parameter for the offset, or NULL.

plane_normal

The normal to the offset plane

gdx_model

The GDX model for entity creation

Output

gdx_OC_ptr

Entity database pointer of the GDX Offset Curve

Tolerances

      GDX NORMAL_MAG_TOL
      GDX PARM_SPACE_PNT_TOL
      .fi

Return

      GCR_NOERR
      GCR_OFF_CURVE_BOUNDS
      Low level error return
      .fi