![]() |
PK_TOPOL_local_r_t |
struct PK_TOPOL_local_r_s
{
PK_local_status_t status;
int n_error_entities;
PK_ENTITY_t *error_entities;
};
typedef struct PK_TOPOL_local_r_s PK_TOPOL_local_r_t;
This structure is used to return the status of the local operation
and in the case of a failure, any associated entities.
PK_BODY_emboss
PK_BODY_enlarge_r_t
PK_BODY_extend
PK_BODY_extrude
PK_BODY_hollow_2
PK_BODY_offset_2
PK_BODY_taper
PK_BODY_thicken_3
PK_BODY_thicken_r_t
PK_BODY_transform_2
PK_EDGE_delete
PK_FACE_change
PK_FACE_delete_blends
PK_FACE_emboss
PK_FACE_hollow_3
PK_FACE_offset_2
PK_FACE_replace_surfs_3
PK_FACE_replace_with_sheet
PK_FACE_taper
PK_FACE_transform_2
PK_TOPOL_local_r_f
When a call to the local operation returns a value of PK_ERROR_no_errors,
then the actual status of the operation is given by the 'status'
field.
If a fault is indicated by the 'status' field, then the number of
entities associated with the fault are given by the field
'n_error_entities', and the entities are returned in the array
'error_entities'.
Description of fields:
'status' This field indicates the overall state of
the local operation. See PK_local_status_t for
values and meanings.
'n_error_entities' The number of topological or geometric entities in
the 'error_entities' array.
'error_entities' If the 'status' field of this return structure indicates a
failure, this array may contain topological or geometric
entities which are associated with the failure.
Error entities returned:
The 'error_entities' array will contain the following entities according
to the value of the 'status' field. The typical class of error entities for
each value of 'status' is given, however exceptions do exist.
Error entities relate to pre-operation topologies and status_values refer
to the class of post-operation topologies derived from them. Options for
some local operations may involve class migration, for instance the option
'PK_EDGE_offset_blend_t' used in thicken operations indicates that the
desired offset representation of an EDGE is a blend FACE derived from
that edge. An error condition arising from such a face will return an entity
of type PK_CLASS_edge and a 'status' value usually associated with FACES.
Similarly, if we encounter an error in determining the vertex or edge geometry
during offset operations, and the error is deemed to have resulted from a
self intersection or failure to offset face, the error entities correspond to
the pre-operation faces which failed to offset, and a 'status' value
'PK_local_status_cant_offset_c'.
The documentation accompanying a local operation or the options used by that
operation will indicate whether class migration may occur.
It is recommended practice to always check the class of error entities before
processing them (after first restoring the modeller to a previous roll mark).
NOTE: Entity classes given in the following represent typical cases.
PK_local_status_ok_c : No entities
PK_local_status_nocheck_c : No entities
PK_local_status_fail_c : No entities
PK_local_status_cant_get_pt_c : 1 VERTEX Failed to find new geometry
for existing vertex.
n FACEs Failed to find geometry for
new vertex.
PK_local_status_cant_get_cu_c : 1 EDGE Failed to find new geometry
for existing edge.
n FACEs Failed to find geometry for
new edge.
PK_local_status_cant_get_su_c : n FACEs Unable to produce offset
surfaces for these faces.
No surface replacement is
performed.
PK_local_status_cant_offset_c : n FACEs Failed to offset the face or
the face is only partially
offset. Likely causes are
self intersection or regions
of tight curvature on offset
surfaces.
: n EDGEs Failed to offset the
associated entities to provide
the geometry for these edges.
PK_local_status_side_cu_fail_c : 1 EDGE Failed to find side curve.
PK_local_status_side_su_fail_c : 1 FACE Failed to create a side
surface.
PK_local_status_not_same_by_c : n/a Not currently returned.
PK_local_status_fa_fail_c : 1 FACE Face which failed check.
PK_local_status_fa_fa_fail_c : 2 FACEs Pair of faces where
inconsistency found.
PK_local_status_ed_remains_c : 1 EDGE An existing edge should have
disappeared
n FACEs A transient edge should have
disappeared
PK_local_status_point_contact_c : 1 VERTEX Vertex where point contact has
has been found.
PK_local_status_bad_reference_c : 1 EDGE Taper reference edge is not
valid.
1 FACE Taper reference face is not
valid.
1 SURF Taper reference surface is not
valid.
PK_local_status_not_supported_c : 1 FACE Face that has currently
unsupported combination of
reference entities.
PK_local_status_cant_extend_c : n VERTEXs Side edges could not be
extended at the vertices.
1 EDGE Geometry attached to returned
edge could not be extended.
1 FACE Geometry attached to returned
face could not be extended.
PK_local_status_sheet_small_c : 1 FACE Given sheet is too small.
PK_local_status_cant_use_cu_c : 1 EDGE The supplied/existing curve
for this edge lies more than
'tolerance' away from the
resulting face surfaces.
PK_local_status_eds_unconnected_c : n VERTEXs The vertices at which the
boundary is not simply
connected.
PK_local_status_non_laminar_c : n EDGEs The non-laminar edges.
PK_local_status_reference_loop_c : n EDGEs Reference edges in the
inconsistent boundary.
n FACEs Reference faces in the
inconsistent regions.
PK_local_status_lp_outside_fa_c : n LOOPs Loops which are outside a
face.
PK_local_status_target_missed_c : n EDGEs Target entity cannot bound
the regions that originate
from these boundary edges.
PK_local_status_wrong_side_c : n EDGEs the side of target entity
has been specified and the
boundary formed by these
edges lies completely on the
wrong side of the target.
PK_local_status_miter_fail_c : n EDGEs The reference edges where
mitering has failed.
PK_local_status_self_shadowing_c : n EDGEs The reference edges where
self-shadowing occurs.
Any space allocated by Parasolid within this structure may be freed by
calling PK_TOPOL_local_r_f.