Synopsis

PDX_MSGT gdx_ProjectPointSurface(long option, MDA_PTR db_ptr_srf, MTH_3DPNT point, double u0, double v0, int max_iters, MTH_3DPNT proj_point, double *u1, double *v1)

Purpose

Project a point to a GDX surface

Description

Projects a model space point to a GDX surface. If the option is set to GDX_GLOBAL than a global search is made to try to find an initial starting parameter values, otherwise the u0 and v0 values are assumed to be initial starting parameter values to use for projection. The max_iters value is the maximium iterations made if the projection does not converge to PNT_PROJ_TOL. The surface must be a valid GDX surface definition. Note: The GDX_NOCONVERGE error is returned, but not set on the error stack.

Input

option

GDX_GLOBAL

Perform a global search for the starting parameter value, otherwise use u0 and v0

GDX_UNNORM

Unnormalize the parameter values and return the parameter values normalized

GDX_OPENCLOSED

Treat the surface as open in U and V even though the surface may be closed.

GDX_INCREASE_SEG_PTS

Increase the number grid points generated for point projection

db_ptr_srf

The database pointer for the GDX surface

point

The model space point to project

u0

The initial surface U parameter value

v0

The initial surface V parameter value

max_iters

The maximium iterations for convergence

Output

proj_point

The model space point on the surface

u1

The U parameter value of the point on the surface

v1

The V parameter value of the point on the surface

Tolerances

      PNT_PROJ_TOL
      MODEL_SPACE_PNT_TOL
      ANGLE_TOL
      ZERO_TOL
      .fi

Return

      GDX_NOERR
      GDX_NOMEMORY
      GDX_NOCONVERGE
      Low level error return
      .fi