FG Module Interface Functions   

<<< Geometric Restrictions Chapters Index >>>

Contents

[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 Index >>>