PK_BODY_imprint_o_t   

struct PK_BODY_imprint_o_s
    {
    int           o_t_version;           --- version number of option structure
    PK_LOGICAL_t  imprint_tool;          --- whether to imprint on tool
                                         --- (PK_LOGICAL_true)
    PK_LOGICAL_t  imprint_overlapping;   --- whether to imprint boundaries of
                                         --- overlapping areas
                                         --- (PK_LOGICAL_false)
    const PK_boolean_match_o_t
                  *matched_region;       --- regions to match (NULL)
    PK_imprint_complete_t
                  imprint_complete_targ; --- whether to complete imprint on
                                         --- target body
                                         --- (PK_imprint_complete_no_c)
    PK_imprint_extend_t
                  imprint_extend_targ;   --- direction in which to complete
                                         --- imprint on target body
                                         --- (PK_imprint_extend_tangent_c)
    PK_imprint_complete_t
                  imprint_complete_tool; --- whether to complete imprint on
                                         --- tool body
                                         --- (PK_imprint_complete_no_c)
    PK_imprint_extend_t
                  imprint_extend_tool;   --- direction in which to complete
                                         --- imprint on tool body
                                         --- (PK_imprint_extend_tangent_c)
    PK_boolean_update_t
                  update;                --- update switch
                                         --- (PK_boolean_update_default_c)

    PK_LOGICAL_t  have_tolerance;        --- whether a tolerance is provided
                                         --- (PK_LOGICAL_false) [NF]

    double        tolerance;             --- tolerance to which the imprint
                                         --- operation may assume that entities
                                         --- are coincident (0.0) [NF]
    };

typedef struct PK_BODY_imprint_o_s PK_BODY_imprint_o_t;



This option structure is supplied to the body imprinting operation.


Specific Errors:
    PK_ERROR_bad_tolerance            proposed tolerance is too small (MILD)

Used in:

PK_BODY_imprint_body



Description of fields:

'imprint_tool'           Imprint edges and vertices on the tool body.
                         If this flag is set to PK_LOGICAL_false,
                         edges and vertices are imprinted on the
                         target only. The arrays of edges and
                         vertices on the tool, returned in the results
                         structure, will be set to null.

'imprint_overlapping'    Imprint the boundaries of overlapping areas.
                         This is only necessary when the target and
                         tool are sheet bodies. If a face from the
                         target and a face from the tool are on the
                         same surface, the boundaries of the
                         overlapping area will be imprinted. If this
                         flag is not set, faces on a common surface
                         will not imprint on each other.

'matched_region'         Describes matched regions between the target and tool.
                         See PK_boolean_match_o_t and here for more
                         information.

'imprint_complete_targ'  Complete the imprint on the target body so
                         that the end vertices of the imprint lie on
                         any edge or any laminar edge of the target
                         body. The incomplete imprint is completed by
                         intersecting the target body with a plane
                         orthogonal to the target at the end vertices
                         of the incomplete imprint. Depending on the
                         value of this option, the imprint will be
                         completed along the direction of this plane
                         until it either:
                         o meets any edge belonging to the target body, or
                         o meets any laminar edge belonging to the
                           target body.
                         N.B. The value PK_imprint_complete_faceset_c only
                         applies to the face boolean algorithm, so it may not
                         be used here.

                         If general topology is not enabled in the session,
                         the tool body must be a sheet body. The target body
                         must also be a sheet body if completion is to a
                         laminar edge, otherwise a solid body is also allowed.
                         If general topology is enabled, the target and tool
                         bodies may be of any type, however imprint completion
                         can still only begin from laminar edges.

                         A completed imprint that self-intersects will be
                         trimmed at the point of self-intersection.
                         See Completing imprints for more
                         information.

'imprint_extend_targ'    Choose the orientation of the plane when
                         completing an imprint with
                         'imprint_complete_targ'. The plane may lie
                         tangential or orthogonal to the end of the
                         imprint. The orthogonal direction may lie
                         along the forward or backward direction of the
                         tool body normal.
                         See Completing imprints for more
                         information.

'imprint_complete_tool'  Complete the imprint on the tool body. The
                         incomplete imprint will be completed on the
                         tool body in a manner similar to that described
                         for 'imprint_complete_targ' above. However unlike
                         'imprint_complete_targ', if general topology is not
                         enabled in the session, then it is not possible for
                         the tool faces to belong to solid bodies.
                         'imprint_tool' must be set to PK_LOGICAL_true
                         when completing an imprint on the tool.
                         See Completing imprints for more
                         information.

'imprint_extend_tool'    Choose the orientation of the plane when
                         completing an imprint with
                         'imprint_complete_tool'. This option behaves
                         in a similar manner to that described in
                         'imprint_extend_targ'.
                         See Completing imprints for more
                         information.

'update'                 The default value allows applications to take
                         advantage of the latest enhancements to the boolean
                         algorithm. To maintain consistency when rebuilding
                         models created in a previous version of Parasolid, a
                         non-default value should be specified.
                         (PK_boolean_update_default_c)

'have_tolerance'         Indicates whether an operation tolerance is being
                         passed in through the 'tolerance' parameter.

'tolerance'              The tolerance to which the imprint operation may
                         assume that entities are coincident. This field should
                         be set to a value that is related to the tolerance to
                         which the application is creating approximations.