Equivalent PK functions: |
PK_EDGE_ask_geometry PK_FIN_ask_geometry |
OUGEEF ( ed_fn, parms, curve, cutype, start, st_t, end, end_t, sense, ifail ) ============================================================================= Output geometry of edge or fin Can be called from the GO. Receives: KI_tag_topology *ed_fn --- edge or fin being queried KI_cod_logical *parms --- request for parameters Returns: KI_tag_curve *curve --- tag of curve KI_cod_tycu *cutype --- type of curve KI_vec_position start --- start position KI_dbl *st_t --- parameter of 'start' KI_vec_position end --- end position KI_dbl *end_t --- parameter of 'end' KI_cod_logical *sense --- true if 'curve' is in same --- direction as 'ed_fn' KI_cod_error *ifail --- failure code Specific errors: KI_missing_geom Insufficient geometry to represent 'ed_fn' KI_wrong_entity wrong entity Description: This function receives an item of topology, 'ed_fn', which may be an edge or a fin, and returns geometry representing it. The geometry comprises the tag of a curve, the curve type, position vectors on the curve corresponding to the end points of the item, and optionally the curve parameters of these position vectors. Together these represent a bounded portion of curve corresponding to 'ed_fn'. The position vectors 'start' and 'end' are returned such that movement from 'start' to 'end' along the curve is in the same direction as the curve. If 'sense' is returned as KI_false, then the curve direction is in the opposite direction to 'ed_fn', though this can only occur for fins and laminar edges on sheet bodies. Note that 'curve' is attached to the model and should not be modified or deleted without due care. If 'parms' is set to KI_true, the curve parameters corresponding to 'start' and 'end', ( 'st_t' and 'end_t' respectively ) will be calculated. 'st_t' will always be smaller than 'end_t', the period of parametrisation being added to 'end_t' if necessary. If 'parms' is set to KI_false, the parameters will be arbitrarily returned as zero. If 'ed_fn' has no curve attached, an attempt will be made to return equivalent geometry that lies in the same surface. Thus if 'ed_fn' is an edge, fin geometry may be returned, and vice versa. However if 'ed_fn' is a fin, the geometry of the other fin will not be returned. If 'ed_fn' is a ring, 'start' and 'end' will both be returned as the position vector corresponding to the lowest value in the parameter range for the curve. 'st_t' will be this lowest parameter value, and 'end_t' this value plus the period of parameterisation. Where no geometry representing 'ed_fn' can be found, this will give rise to ifail KI_missing_geom.