PK_ERROR_code_t PK_FIN_attach_curves ( --- received arguments --- int n_fins, --- number of fins const PK_FIN_t fins[], --- fins to have curves attached const PK_CURVE_t curves[], --- curves to be attached to fins const PK_INTERVAL_t intervals[] --- parametric bounds of each curve --- returned arguments --- ) This function attaches curves to fins. Specific Errors: PK_ERROR_has_parent curve is already attached PK_ERROR_bad_shared_dep attempt to illegally share a dependant of curve PK_ERROR_bad_shared_entity attempt to illegally share curve PK_ERROR_geom_not_needed 'fin' already owns geometry PK_ERROR_inconsistent_geom inconsistent geometry PK_ERROR_invalid_geometry geometry does not pass checks The arrays fins, curves and intervals are all of the length n_fins. All the fins must belong to the same body. Curves may only be attached to the fins of approximate edges. All of the curves must be of class PK_CLASS_spcurve. With each curve there must also be supplied the parametric interval which defines the part of the curve to be used. If the fin's edge has a vertex or vertices, then the parameter bounds must correspond to the vertex positions; that is, they must indicate positions which are within tolerance of the vertices. A curve may occur more than once in curves and if this is the case then the curve will be shared, providing the sharing is legal. PK_FIN_attach_curves will not copy any curves, thus attachments are further restricted by constraints on the sharing of geometry: o No curve may belong to a different body. o An orphan curve may be attached to an edge as long as it has no dependents attached to topology and it has no dependents shared with any other orphan entity. The curve must be capable of passing Parasolid's geometry checking. The self intersection check is only performed if the appropriate interface parameter is set.