FG Module Interface Functions   

<<< Geometric Restrictions Chapters

Contents

  • Index

    [back to top]


    B.1 Introduction

    This appendix provides details of the FG module interface functions designed for the management and evaluation of FG curves and surfaces. These functions are:

    [back to top]


    B.2 FGCRCU - Initialize a foreign curve

     

    void
    FGCRCU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    const char
    *key,
    /*
    Curve key
    */
    int
    *keylen,
    /*
    Curve key length
    */
    int
    *n_kii,
    /*
    Number of integers passed
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    int
    *n_kir,
    /*
    Number of reals passed
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    int
    *n_data,
    /*
    FG data length
    */
     
     
    /*
    returned arguments
    */
    double
    fg_data[],
    /*
    FG data array
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGGEOM
    Curve evaluator not available
    FGDATA
    Curve evaluator data not found
    FGFILE
    Curve evaluator data allocation fault
    FGIERR
    Curve evaluator integer data error
    FGRERR
    Curve evaluator real data error
    (FGOPOK
    Operation successful)

    This function is called when an FG curve is requested by the KI function CRFGCU. The purpose of this function is to initialize any FG data that is required by the evaluator and to check that the real and integer data items meet the requirements of the requested evaluator.

    A successful call to this function indicates to Parasolid that evaluations of this curve may now be requested.

    [back to top]


    B.3 FGCRSU - Initialize a foreign surface

     

    void
    FGCRSU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    const char
    *key,
    /*
    Surface key
    */
    int
    *keylen,
    /*
    Surface key length
    */
    int
    *n_kii,
    /*
    Number of integers passed
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    int
    *n_kir,
    /*
    Number of reals passed
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    int
    *n_data,
    /*
    FG data length
    */
     
     
    /*
    returned arguments
    */
    double
    fg_data[],
    /*
    FG data array
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGGEOM
    Surface evaluator not available
    FGDATA
    Surface evaluator data not found
    FGFILE
    Surface evaluator data allocation fault
    FGIERR
    Surface evaluator integer data error
    FGRERR
    Surface evaluator real data error
    (FGOPOK
    Operation successful)

    This function is called when an FG surface is requested by the KI function CRFGSU. The purpose of this function is to initialize any FG data that is required by the evaluator. A successful call to this function indicates to Parasolid that evaluations of this surface may now be requested.

    [back to top]


    B.4 FGEVCU - Evaluate a foreign curve

     

    void
    FGEVCU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    double
    fg_data[],
    /*
    FG data array
    */
    double
    *t,
    /*
    Parameter value
    */
    int
    *nderiv,
    /*
    No. of derivatives requested
    */
     
     
    /*
    returned arguments
    */
    double
    results[],
    /*
    Evaluation results
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGEVIN
    Evaluation incomplete (not all derivatives requested may be returned)
    FGOPFA
    Evaluation failed
    (FGOPOK
    Operation successful)

    This function is called when an evaluation of a foreign curve is required by Parasolid. The function should be capable of supplying position and up to second derivatives for a foreign curve which has previously been initialized by a call to FGCRCU.

    The argument fg_data identifies the curve evaluator. The arguments ki_ints and ki_reals give the numerical data passed in through the KI when the curve was initialized.

    [back to top]


    B.5 FGEVSU - Evaluate a foreign surface

     

    void
    FGEVSU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    double
    fg_data[],
    /*
    FG data array
    */
    double
    *u,
    /*
    Parameter value
    */
    double
    *v,
    /*
    Parameter value
    */
    int
    *nu,
    /*
    No. of u derivatives requested
    */
    int
    *nv,
    /*
    No. of v derivatives requested
    */
    int
    *triang,
    /*
    Triangular array flag
    */
     
     
    /*
    returned arguments
    */
    double
    results[],
    /*
    Evaluation results
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGEVIN
    Evaluation incomplete (not all derivatives requested may be returned)
    FGOPFA
    Evaluation failed
    (FGOPOK
    Operation successful)

    This function is called when an evaluation of a foreign surface is required by Parasolid. The function should be capable of supplying position and up to second derivatives for a foreign surface which has previously been initialized by a call to FGCRSU.

    The argument fg_data identifies the surface evaluator. The arguments ki_ints and ki_reals give the numerical data passed in through the KI at surface initialization.

    The triangular flag, triang, may take the value FGEVSQ (indicating a request for a rectangular array of derivatives) or FGEVTR (indicating a triangular array of derivatives request). The arguments nu, nv specify the number of u an v derivatives requested.

    [back to top]


    B.6 FGPRCU - Return foreign curve parametrization properties

     

    void
    FGPRCU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    double
    fg_data[],
    /*
    FG data array
    */
     
     
    /*
    returned arguments
    */
    double
    range[2],
    /*
    Parameter range
    */
    int
    *period,
    /*
    Periodicity flag:
    FGPRBD => bounded (non- periodic)
    FGPRPE => periodic (not currently allowed)
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGOPFA
    Operation failed
    FGPROP
    Use default properties
    (FGOPOK
    Operation successful)

    This function is called, after FGCRCU has initialized the curve, to indicate to Parasolid some of the parametric properties of the curve. The function can specify the parameter range of the curve and indicate whether it is to be treated as periodic. If the ifail value is set to FGPROP then Parasolid uses default properties for the curve evaluator: there is no need to set the range and periodicity flag.

    Default properties are parameter range [0, 1] and periodicity flag FGPRBD (i.e. non-periodic parametrization).

    If the ifail value is set to FGOPOK then this function must set the parameter range and periodicity flag:

    Note: For the current Parasolid version closed and periodic curves are NOT permitted. This function includes the periodic argument for upwards compatibility with future planned enhancements to FG capability.

    [back to top]


    B.7 FGPRSU - Return foreign surface parametrization properties

     

    void
    FGPRSU
     
     
     
    (
     
     
     
     
     
     
    /*
    received arguments
    */
    int
    ki_ints[],
    /*
    KI integer array
    */
    double
    ki_reals[],
    /*
    KI real array
    */
    double
    fg_data[],
    /*
    FG data array
    */
     
     
    /*
    returned arguments
    */
    double
    range[4],
    /*
    Parameter ranges
    */
    int
    period[2],
    /*
    Periodicity flags - may take FGPRBD, FGPRPE for bounded and periodic parametrizations
    */
    int
    *ifail
    /*
    Failure indicator
    */
    )
     
     
     
     

    Specific errors

     

    FGOPFA
    Operation failed
    FGPROP
    Use default parameter properties
    (FGOPOK
    Operation successful)

    This function is called, after FGCRSU has initialized the surface, to indicate to Parasolid some of the parametric properties of the surface. The function can specify the parameter ranges of the surface and indicate whether it is to be treated as periodic in u and/or v.

    If the ifail value is set to FGPROP then Parasolid uses default properties for the surface evaluator: there is no need to set the range and periodicity flag. Default properties are parameter ranges [0, 1] for both u and v parameters and periodicity flags FGPRBD for both parameters (i.e. non-periodic parametrization).

    If the ifail value is set to FGOPOK then this function must set the range array and the periodicity flags array.

     

    Note: For the current Parasolid version closed and periodic surfaces are NOT permitted. This function includes the periodic argument for upwards compatibility with future planned enhancements to FG capability.

     

    [back to top]

    <<< Geometric Restrictions Chapters