# Synopsis

PDX_MSGT gcr_CurveBoundedSurf2(long option, MDA_PTR orig_db_ptr, MDA_PTR surface_ptr, PDX_BOOL implicit_outer, PDX_BOOL first_is_outer, MDA_COUNT num_of_bounds, MDA_PTR cec_ptrs[], int gdx_model, MDA_PTR *gdx_cbs_ptr)

# Purpose

Create a GDX Curve Bounded Surface

# Description

This function, given a surface, its boundaries, and appropriate flags, creates a GDX Curve Bounded Surface entity.

If the base surface is an unparameterized analytical surface (i.e., GDX_PLANE, GDX_CYLINDER, GDX_CONE w/ ref_vec magnitude = 0.0), gdx__UpdateSurfPBounds will be called to set the ref_vec and local bounds (*_parm fields).

If the base surface is a parameterized (ref_vec not 0. magnitude) but unbounded analytical surface (GDX_PLANE w/ u_parm or v_parm < 0., GDX_CYLINDER or GDX_CONE w/ top_parm < 0.) or an unbounded GDX_EXT_SURF, will create a GDX_RECT_TRIM_SURF (that references the analytical or extruded surface) and then call gdx__UpdateSurfPBounds to set the parametric bounds of the new GDX_RECT_TRIM_SURF.

If base surface is a GDX_RECT_TRIM_SURF and the parameter bounds are unlimited, will call gdx__UpdateSurfPBounds to determine the necessary bounds for the GDX_RECT_TRIM_SURF.

If the base surface referenced by surface_ptr is closed, within the GDX_MODEL_SPACE_PNT_TOL, in either the u or v direction, then the open_surf field is set to PDX_FALSE. Otherwise this field is set to PDX_TRUE.

The orig_db_ptr argument should contain the database pointer of the entity that the new entity was created from (usually this should be obtained by the calling routine via mda_GetOrigDbptr) or MDA_NULL_PTR. See the mda_intro man page for more information about predecessor entities.

# 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 call or MDA_NULL_PTR

## surface_ptr

The database pointer of the surface to be bounded

## num_of_bounds

The number of GDX Composite Edge Curves corresponding to the boundary and islands.

## cec_ptrs

The database pointers of the GDX Composite Edge Curves forming the boundary and island curves.

## implicit_outer

### PDX_TRUE

outer boundary is the natural surface boundary

### PDX_FALSE

outer boundary is not the natural surface boundary

## first_is_outer

### PDX_TRUE

the first boundary is the outer boundary

### PDX_FALSE

the first boundary is not the outer boundary (all boundaries in the list are islands)

## gdx_model

The GDX model for entity creation

# Output

## gdx_cbs_ptr

The database pointer of the GDX Curve Bounded Surface

# Tolerances

          GDX COPLANAR_TOL
          .fi

# Return

          GCR_NOERR
          GCR_INVALIDMODEL
          Low level error return
          .fi