# Synopsis

PDX_MSGT gdx_CompareSurfaces(long option, MDA_PTR gdx_surf1_ptr, MDA_PTR gdx_surf2_ptr, double toler_geom, double toler_parm, long num_u_pnts, long num_v_pnts, long max_iters, GDX_ENTITY_COMPARE *gdx_surfcompare)

# Purpose

Compare two surfaces for conformity.

# Description

Compare two surfaces for geometric conformity at sample points within a tolerance toler_geom and for parameterization conformity within toler_parm. If the option is GDX_SUB_ENTITY, the first surface could be unbounded, otherwise both surfaces should be bounded. At every sample point one surface is evaluated and then the evaluated point will be projected on to the other 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 of surfaces at those points.

# Input

## option

### GDX_SUB_ENTITY

Second surface is a sub-surface of the first surface.

### GDX_SAME_ENTITY

Compare the two surfaces for the same Point set.

### GDX_RANDOM_PNTS

Compare the two surfaces at random points.

## gdx_surf1_ptr

First surface entity database pointer

## gdx_surf2_ptr

Second surface entity database pointer

## toler_geom

Tolerance within which surfaces are assumed to conform.

## toler_parm

Tolerance within which parameterization of the surfaces is assumed to be the same.

## num_u_pnts

Number of sample points in u direction

## num_v_pnts

Number of sample points in v direction. In case if the option is GDX_RANDOM_PNTS, the number of sample points would be num_u_pnts * num_v_pnts

## max_iters

Maximum number of iterations when point projection is done numerically.

# Output

## gdx_surfcompare

Comparison results structure.

# Return

          Low level error return
          .fi