CRFGCU   

Equivalent PK functions: PK_FCURVE_create

CRFGCU ( keylen, key, nspace, nints, ivals, nreals, rvals, curve, ifail )
=========================================================================

  Creates a Foreign Geometry curve.

Receives:
  KI_int_nchars            *keylen         --- Length of curve key
  KI_chr_key                key[keylen]    --- curve key
  KI_int_nitems            *nspace         --- Space required by foreign curve
                                           --- (specified in doubles)
 <KI_int_nitems>           *nints          --- Number of integer values
  int                       ivals[nints]   --- Array of integer values
 <KI_int_nitems>           *nreals         --- Number of real values
  double                    rvals[nreals]  --- Array of real values

Returns:
  KI_tag_curve             *curve          --- curve.
  KI_cod_error             *ifail          --- Failure indicator

Specific errors:
  KI_FG_evaluator_error     Curve evaluator failure
  KI_FG_modelling_error     Cannot model with this curve
  KI_FG_data_not_found      Curve evaluator data not found
  KI_FG_integer_data_error  Curve evaluator integer data error
  KI_FG_real_data_error     Curve evaluator real data error
  KI_FG_data_alloc_error    Curve evaluator data allocation fault
  KI_FG_evaluator_not_found Curve evaluator not found

Description:
  This function creates a foreign curve, i.e. one whose evaluator is external to
  Parasolid. This function call will only produce a curve if an appropriate
  curve evaluator has been linked to Parasolid. The curve is identified
  by its key. Any additional data required by the evaluator is supplied in
  arrays containing integer and real values.

  This KI call will result in the execution of the initialisation routines of
  the FG evaluator system. Function arguments are as follow:

  'keylen'  is the length or number of characters contained within the 'key'.

  'key'     to uniquely identify the curve evaluator.

  'nspace'  specifies the length of the block of data to be initialised by the
            foreign curve loader.

  'nints', 'ivals', 'nreals', 'rvals' specify the numerical data supplied to
            the curve evaluator.

  'curve'   is the returned tag of a foreign curve, if the operation succeeds.