Synopsis
(macro) PDX_MSGT gcr_Cylinder(long option, MDA_PTR orig_db_ptr, MTH_3DPNT center, MTH_3DVEC axis_vec, MTH_3DVEC ref_vec, double radius, int gdx_model, MDA_PTR *gdx_cylinder_ptr)
Purpose
Create a GDX Cylinder.
Description
Given a point on the cylinder axis, a cylinder axis vector, the radius of the cylinder, and the U parametrization reference vector, create a GDX cylinder entity.
The top_parm field in the GDX Cylinder is for internal use only and will be set to -1.0. This signifies that the GDX Cylinder is unbounded.
The radius must be > the current GDX ZERO_TOL.
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 cylinder 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 cylinder axis vector is less than the current GDX NORMAL_MAG_TOL, the Z cylinder axis vector is assumed.
\fBRules\fR .IP • 3 radius > 0.0 .IP • 3 ref_vec magnitude > 0.0 (if ref_vec not NULL) .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
center
The cylinder point
axis_vec
The center axis of the cylinder
ref_vec
The U parametric axis reference vector, or NULL
radius
The radius of the cylinder
gdx_model
The GDX model for entity creation
Output
gdx_cylinder_ptr
Entity database pointer of the GDX Cylinder
Tolerances
NORMAL_MAG_TOL
ANGLE_TOL
ZERO_TOL
.fi
Return
GCR_NOERR
GCR_CYLINDER_RADIUS
GCR_CYLINDER_U_REF_VECTOR
Low level error return
.fi