 |
PK_FACE_install_surfs_isocline |
|
PK_ERROR_code_t PK_FACE_install_surfs_isocline
(
--- received arguments ---
int n_faces, --- number of target faces (>0)
const PK_FACE_t faces[], --- faces to be drafted
const PK_ENTITY_t references[], --- reference entities
PK_VECTOR1_t direction, --- isocline direction
double angle, --- isocline angle
double tolerance, --- max tol for applying surfs
PK_LOGICAL_t face_face_check --- do face face checks
)
This function replaces the surfaces of given faces with isocline surfaces.
NOTE: This function is deprecated and has been superseded by PK_FACE_taper.
Specific Errors:
PK_ERROR_cant_get_point (SERIOUS)can not produce vertex geometry
PK_ERROR_cant_get_curve (SERIOUS)can not produce curve geometry
PK_ERROR_cant_get_surf (SERIOUS)can not produce isocline surface
PK_ERROR_edge_didnt_vanish (SERIOUS)an edge should have disappeared
PK_ERROR_general_body (MILD)general bodies not supported
The isocline is specified by a 'direction' and an 'angle'.
For each face in 'faces' an isocline surface is defined by a 'reference'
entity.
The reference entity may be of classes:
o PK_CLASS_edge: An isocline surface is defined through the curve of the
edge between the vertices of the edge (if it has any).
o PK_CLASS_face: The isocline surface(s) to be used for the face in
'faces' is to be that (those) defined for this 'reference' face.
o PK_CLASS_surf: An isocline surface is defined through the curve of
intersection between the face's surface and the reference surface.
A reference surface can also be used in association with reference
edges to produce step drafting.
A face may appear more than once in 'faces'. The effect of this is that
the face will be split so as to satisfy the separate constraints.
In the case of step drafting, no face-splitting occurs; the reference edges
which lie on the reference surface will produce the face's draft surface, the
other face-related reference edges will, each of them, produce a step
tapered face. These new step faces are connected to the main draft face and
their draft angle is greater or equal to the specified isocline angle.
If a face appears in 'references' then it must also appear in 'faces'.
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.
When an error occurs, the function will, where possible, make extra
information regarding the error available to the application
by means of a GROUP.
This GROUP is accessible from the standard form of the error. Note that,
while the members of the GROUP will be objects which existed before the
call (and so will survive rollback), the GROUP itself will be destroyed by
rollback. The members of the GROUP will be as follows:
PK_ERROR_cant_get_point 1 VERTEX Failed to find new geometry for
existing vertex
n FACEs Failed to find geometry for
new vertex.
PK_ERROR_cant_get_curve 1 EDGE Failed to find new geometry for
existing edge
n FACEs Failed to find geometry for
new edge
PK_ERROR_cant_get_surf n FACEs Unable to produce isocline
surfaces for these faces.
No surface replacement is
performed.
PK_ERROR_edge_didnt_vanish 1 EDGE An existing edge should have
disappeared
n FACEs A transient edge should have
disappeared
PK_ERROR_face_check_fails 1 FACE Face which failed check
PK_ERROR_face_face_check_fails 2 FACEs Pair of faces where
inconsistency found.