 |
PK_FACE_imprint_cus_isoclin |
|
PK_ERROR_code_t PK_FACE_imprint_cus_isoclin
(
--- received arguments ---
int n_rec_faces,--- number of received faces
--- (>0)
const PK_FACE_t rec_faces[],--- received faces
PK_VECTOR1_t direction, --- isocline direction
double angle, --- isocline angle
double tolerance, --- operation tolerance
const PK_FACE_imprint_cus_isoclin_o_t *options, --- options structure
--- returned arguments ---
int *const n_ret_faces,--- number of returned faces
--- (>=0)
PK_FACE_t **const ret_faces, --- returned faces
PK_LOGICAL_t **const is_steep, --- whether faces are steep
int *const n_edges, --- number of new edges
--- (>=0)
PK_EDGE_t **const edges --- new edges
)
This function creates and imprints isocline curves on a given set of faces.
Specific Errors:
PK_ERROR_cant_do_imprint (SERIOUS) Failed to imprint isoclines
The isocline is specified by a 'direction' and an 'angle'.
The function may, at times, have to use approximate geometry.
For such cases, 'tolerance' specifies an upper bound on the distance by which
a point on the actual geometry may deviate from its ideal position.
While the function will usually satisfy this constraint, it is not guaranteed.
The set of 'rec_faces' must all come from the same body.
The set 'ret_faces' is the union of 'rec_faces' and any newly created faces.
In 'ret_faces', each given face from 'rec_faces' is immediately followed by
any additional faces that have been created from it. By definition, each face
in 'ret_faces' is not steep or all steep. `is_steep[i]' reports whether
`ret_faces[i]' is steep.
The new edges created are returned in 'edges'.