PK_BODY_imprint_cus_normal_o_t   

struct PK_BODY_imprint_cus_normal_o_s
    {
    int           o_t_version;             --- version number
    PK_imprint_complete_t
                  imprint_complete;        --- whether to complete imprint on
                                           --- target body
                                           --- ( PK_imprint_complete_no_c )
    PK_imprint_tracking_t
                  tracking_type;           --- format of returned tracking
                                           --- records
                                           --- ( PK_imprint_tracking_basic_c )
    PK_imprint_proj_dist_t
                  use_max_projection_dist; --- whether and how to limit
                                           --- imprints to those where the
                                           --- projected curves upon a face
                                           --- lie within
                                           --- 'max_projection_dist' of the
                                           --- curve causing the imprint
                                           --- ( PK_imprint_proj_dist_no_c )
    double        max_projection_dist;     --- ( 0.0 )
    PK_LOGICAL_t  imprint_coi_exactly;     --- whether to imprint curves
                                           --- exactly where they are
                                           --- coincident with the surface
                                           --- geometry of the body.
                                           --- (PK_LOGICAL_false)
    PK_continuity_t
                  preferred_continuity;    --- level of continuity to impose
                                           --- when making projection curves.
                                           --- (PK_continuity_g1_c)


    };
typedef struct PK_BODY_imprint_cus_normal_o_s
               PK_BODY_imprint_cus_normal_o_t;



The option structure defines options applicable to imprinting a set of
curves on a body.

Used in:

PK_BODY_imprint_cus_normal



Description of fields:



'imprint_complete'        Whether to complete the imprint on the body.
                          Vertices in the imprint corresponding to the
                          ends of the imprinted trimmed curves can be
                          completed so that they lie on an edge or laminar
                          edge of the target body.

                          The incomplete imprint is completed by
                          intersecting the faces of the body with a plane
                          tangential to the imprint at the end vertices
                          of the incomplete imprint and orthogonal to the
                          body.

                          Depending on the value of this option, the
                          imprint will be completed along the direction
                          of this plane until either:

                          o it meets any edge belonging to the body
                          o it meets any laminar edge belonging to the
                            body.

                          A completed imprint that self-intersects
                          will be trimmed at the point of self-intersection.
                          Completion to laminar edges may only be performed
                          upon sheet bodies.

                          For more information, see here.


'tracking_type'           Determines the format of the tracking records
                          that are returned when curves are imprinted.

                          There are two possible values for this option:
                            o PK_imprint_tracking_basic_c (default)
                            o PK_imprint_tracking_curves_c


                          For this function the information returned when
                          using PK_imprint_tracking_basic_c is very concise.
                          The tracking information returned consists of a
                          single track record (PK_TOPOL_track_record_r_t)
                          with the 'product_topols' field holding all edges
                          created by the imprinting operation. The
                          'original_topols' field of the track record will be
                          empty. Edges imprinted through any requested imprint
                          completion will be included in this record.

                          PK_imprint_tracking_curves_c returns information
                          that associates imprinted edges with both the
                          imprint curve from which they originate and the
                          original topology upon which they are imprinted.
                          The tracking information is returned by returning
                          a track record for each imprinted edge. Each edge
                          has two original_topols. The first of these is the
                          input curve which gave rise to this edge.
                          The second is the original topology on the body
                          where this edge is created. This is usually a face,
                          but where the edge is imprinted along a
                          pre-existing edge that edge is returned instead.
                          Imprinted edges arising from any requested imprint
                          completion are tracked by the same method, but the
                          original topology associated with the edge is
                          always null.


'use_max_projection_dist' If this is set to PK_imprint_proj_dist_whole_c
                          then edges are only imprinted where the projection
                          of the curve upon a face lies wholly within
                          'max_projection_dist' of the curve causing the
                          imprint. The default behaviour when this field is
                          set to PK_imprint_proj_dist_no_c is to imprint all
                          curves regardless of the distance of the curve from
                          its projections upon the faces of the body. See
                          here for more information.


'max_projection_dist'     If 'use_max_projection_dist' is set to
                          PK_imprint_proj_dist_whole_c then edges are only
                          imprinted when the projected curve upon a face
                          lies wholly within this distance of the curve
                          causing the imprint. See here for more
                          information.
                          The default value is 0.0.


`imprint_coi_exactly`     If 'imprint_coi_exactly' is set to PK_LOGICAL_true
                          then curves coincident with their target surfaces
                          are imprinted exactly where appropriate, rather
                          than being imprinted by projection.
                          See here for more information.
                          The default value is PK_LOGICAL_false.


`preferred_continuity`    Only PK_continuity_g1_c and PK_continuity_c2_c
                          are permitted. If 'preferred_continuity' is set
                          to PK_continuity_c2_c, then projection curves
                          are fitted with c2 continuity when not exact.
                          It is also required that 'tracking_type' be set
                          to PK_imprint_tracking_curves_c when using
                          PK_continuity_c2_c.
                          See here for more information.
                          The default value is PK_continuity_g1_c.