Synopsis

(macro) PDX_MSGT gcr_Plane(long option, MDA_PTR orig_db_ptr, MTH_3DPNT center, MTH_3DVEC axis_vec, MTH_3DVEC ref_vec, int gdx_model, MDA_PTR *gdx_plane_ptr)

Purpose

Create a GDX Plane.

Description

Given a point on the plane and a vector normal to the plane, and the U axis reference vector, create a GDX parameterized or unparamterized plane entity.

The u_parm and v_parm fields in the GDX Plane are for internal use only and will be set to -1.0. This signifies that the GDX Plane is unbounded.

If ref_vec is not NULL, the corresponding magnitude of the given vector must be > the current GDX NORMAL_MAG_TOL. If the given vector is not perpendicular to the plane axis vector within the current GDX ANGLE_TOL, the closest perpendicular vector is used.

If the ref_vec is NULL, an arbitrary ref_vec (perpendicular to the given axis_vec) will be determined and stored in the entity.

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

\fBRules\fR .IP • 3 0.0 < rev_vec magnitude (if ref_vec not NULL) .LP

Input

option

GCR_NOVALIDATE

No validation will occur on the input data. It is assumed that input provided are according to the gdx_plane entity definition.

orig_db_ptr

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

center

The plane point

axis_vec

The normal to the plane

ref_vec

The U parametric axis reference vector to create a parametric Plane, or NULL to create an unparametrized Plane.

gdx_model

The GDX model for entity creation

Output

gdx_plane_ptr

Entity database pointer of the GDX Plane

Tolerances

      NORMAL_MAG_TOL
      ZERO_TOL
      .fi

Return

      GCR_NOERR
      GCR_PLANE_U_REF_VECTOR
      Low level error return
      .fi