Synopsis
PDX_MSGT gdx_CompareCurveOnSurf(long option, MDA_PTR gdx_curve_ptr, MDA_PTR gdx_surf_ptr, double toler_geom, double toler_parm, long num_pnts, long max_iters, GDX_CURVE_ON_SURF *gdx_compare)
Purpose
Compare a curve against a surface for conformity and Iso status.
Description
Compares a curve with a surface for geometric conformity at sample points on the curve within a tolerance toler_geom. Also determines if the curve is an Iso-Curve on the surface. At every sample point, the curve is evaluated and projected on to the surface. The distance between the original evaluated point and projected point should be less than the toler_geom for all the sample points to indicate geometric conformity. The projected parameters on the surface should remain within parm_toler in either U or V directions to indicate Iso-Curve status of the curve. If the curve matches an Iso curve on the surface, the iso value itself along with two terminating (other) parameters on the iso curve and a sense flag will be returned in gdx_compare structure. If the surface and the curve are closed, and curve matches an Iso curve on the surface, the surface parametric bounds in that direction will be returned. Matching behavior of Curves around the surface poles is not defined.
.nf GDX_CURVE_ON_SURF members .fi .RS 3 .TP 17 match_flg Flag indicating the conformity status. .nf = PDX_TRUE if geometric conformity exists. = PDX_FALSE if geometric conformity does not exists. .fi .TP max_gdev Maximum geometric deviation between the two entities for sampled points. .TP max_pdev Maximum parametric deviation for the closer iso curve to the original curve. This value is valid only if conformity flag match_flg, is PDX_TRUE. .TP iso_u Flag indicating whether or not the curve matches an Iso-U curve on the surface. This flag is valid only if geometric conformity flag match_flg, is PDX_TRUE. .nf = PDX_FALSE : Curve does not match an iso U direction. = PDX_TRUE : Curve matches an iso U direction. .fi .TP iso_v Flag indicating whether or not the curve matches an Iso-V curve on the surface. This flag is valid only if geometric conformity flag match_flg, is PDX_TRUE. .nf = PDX_FALSE : Curve does not match an iso V direction. = PDX_TRUE : Curve matches an iso V direction. .fi .TP iso_parm Value of the iso, if the curve matches an Iso-Curve. .TP sense Sense of the curve with respect to surface, if the curve matches an Iso-Curve. This flag is valid only if the curve matches an Iso curve on the surface. .nf = PDX_FALSE : Curve opposes the iso direction. = PDX_TRUE : Curve agrees with the iso direction. .fi .TP parm1 Other parameter starting value on the Iso-Curve. .TP parm2 Other parameter ending value on the Iso-Curve. .LP .RE
Input
option
GDX_RANDOM_PNTS
Compare the curve interior at random points.
gdx_curve_ptr
Curve entity database pointer
gdx_surf_ptr
Surface entity database pointer
toler_geom
Tolerance within which curve is assumed to conform with the surface.
toler_parm
Tolerance within which curve is assumed to be a surface Iso-Curve.
num_pnts
Number of sample points on the curve.
max_iters
Maximum number of iterations when point projection is done numerically.
Output
gdx_compare
Comparison results structure.
Return
Low level error return
.fi