Synopsis

PDX_MSGT gcr_HyperbolicConic(long option, MDA_PTR orig_db_ptr, MTH_2DPNT xy_trans, double z_depth, double semi_axis, double semi_imag_axis, double t0, double t1, GDX_MATRIX gdx_matrix, int gdx_model, MDA_PTR *gdx_conic_ptr)

Purpose

Create a GDX Conic (hyperbola).

Description

This function given a 2D xy translation point, a z depth, semi_axis and semi_imag_axis radii, a parametric start value (t0), and a parametric end value (t1) creates a hyperbolic GDX Conic entity.

The orig_db_ptr argument should contain the database pointer of the entity that the new entity was created from (usually this should be obtained by the calling routine via mda_GetOrigDbptr) or MDA_NULL_PTR. See the mda_intro man page for more information about predecessor entities.

\fBRules\fR .IP • 3 0.0 < semi_axis .IP • 3 0.0 < semi_imag_axis .IP • 3 -MTH_HALF_PI < t0 < MTH_HALF_PI. .IP • 3 -MTH_HALF_PI < t1 < MTH_HALF_PI. .IP • 3 t0 != t1 .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 call, or MDA_NULL_PTR

xy_trans

The 2D XY translation, or NULL.

z_depth

The depth of the ellipse along the Z axis.

semi_axis

The length of the semi axis of the hyperbola

semi_imag_axis

The length of the semi imaginary axis of the hyperbola

t0

Start angle in radians such that: semi_axis / cos (t0) = x start point, and semi_imag_axis * sin (t0) / cos (t0) = y start point.

t1

End angle in radians such that: semi_axis / cos (t1) = x end point, and semi_imag_axis * sin (t1) / cos (t1) = y end point.

gdx_matrix

GDX rotation matrix, or NULL.

gdx_model

The GDX model for entity creation

Output

gdx_conic_ptr

Entity database pointer of the GDX Conic (hyperbola)

Tolerances

      GDX ZERO_TOL
      GDX PARM_SPACE_PNT_TOL
      .fi

Return

      GCR_NOERR
      GCR_INVALID_MODEL
      GCR_HYPER_SEMI_AXIS
      GCR_HYPER_SEMI_IMAG_AXIS
      GCR_HYPER_T0
      GCR_HYPER_T1
      Low level error return
      .fi