![]() |
PK_blend_properties_t |
struct PK_blend_properties_s { PK_blend_propagate_t propagate; --- DEPRECATED --- (PK_blend_propagate_no_c) [NF] PK_blend_vary_t vary; --- form of variation --- (PK_blend_vary_smooth_c) [NF] PK_blend_render_rib_t render_rib; --- enable rendering of ribs --- (PK_blend_render_rib_no_c) [NF] PK_LOGICAL_t draw_fix; --- whether blend will be drawn --- and fixed (PK_LOGICAL_true) [NF] PK_blend_ov_smooth_t ov_smooth; --- enable smooth overflow --- (PK_blend_ov_smooth_diff_c) [PF] PK_blend_ov_cliff_t ov_cliff; --- enable cliff edge overflow --- (PK_blend_ov_cliff_diff_c) [PF] PK_blend_ov_cliff_end_t ov_cliff_end; --- enable cliff edge end overflow --- (PK_blend_ov_cliff_end_no_c) --- [NF] PK_blend_ov_notch_t ov_notch; --- enable notch overflow --- (PK_blend_ov_notch_yes_c) double tolerance; --- tolerance for blended edge --- (1.0e-5) double ribspace; --- approx separation of rib lines --- (0.0) [NF] }; typedef struct PK_blend_properties_s PK_blend_properties_t;
PK_EDGE_ask_blend
PK_EDGE_set_blend_chamfer_o_t
PK_EDGE_set_blend_constant_o_t
PK_EDGE_set_blend_variable_o_t
This structure records a set of blend properties. Description of fields: 'propagate' This option is deprecated. If you wish to propagate you are strongly recommended to use PK_EDGE_find_g1_edges to find smoothly connected edges and pass these into PK_EDGE_set_blend_constant or PK_EDGE_set_blend_chamfer rather than set this option to PK_blend_propagate_yes_c. 'vary' This field is only applicable to blends set by PK_EDGE_set_blend_variable. Causes the blend ranges to vary naturally. The default behaviour is for the range variation to be constrained in such a way as to ensure that they would meet other blends smoothly at the vertices. (PK_blend_vary_smooth_c) 'render_rib' Whether ribs will be drawn by the rendering functions. 'draw_fix' When 'draw_fix' is PK_LOGICAL_true, the created unfixed blends are fixed, checked and rendered when required. Setting 'draw_fix' to PK_LOGICAL_false causes the unfixed blends to be ignored by PK_BODY_fix_blends, PK_EDGE_check_blends and PK_TOPOL_render_line, which will all treat the edges as unblended. Overflow: The default overflow behaviour of a blend is as follows; When fixing a blend, it is possible that the blend as defined by its basic parameters would lie outside the faces adjacent to the edge being blended. If this is so, the blend must 'overflow'. 'ov_smooth' If the configuration allows us, we smoothly overflow and create a blend one of whose underlying faces is the one it has overflowed onto. This option must be set to either PK_blend_ov_smooth_no_c or PK_blend_ov_smooth_any_c for facet geometry. 'ov_cliff' If the configuration is unsuitable for smooth overflow, we try to cliff overflow - that is replace the appropriate section of the blend by a cliffedge blend running along the appropriate edges. Cliff overflows are not possible for blends set by PK_EDGE_set_blend_chamfer. This option must be set to PK_blend_ov_cliff_no_c for facet geometry. 'ov_cliff_end' If the configuration is unsuitable for cliff overflow, we try to cliff and overflow - that is replace the appropriate section of the blend by a cliffedge blend at the ends of the appropriate edges. End cliff overflows are not possible for blends set by PK_EDGE_set_blend_chamfer. 'ov_notch' If the configuration is unsuitable for cliff overflow too, we will then notch overflow - that is, merely trim the blend by the other faces in the region, leaving its surface geometry unchanged. If the configuration is unsuitable for this as well, the blend will not fix. By default neither cliffedge nor smooth overflows will occur when the edge being overflowed is of the same convexity as the edge being blended. By default also, cliffedge overflows will not occur at the ends of blends, except where they meet another blend smoothly. Overflow Type | Prevent -------------------------------------------- SMOOTH | PK_blend_ov_smooth_no_c CLIFFEDGE | PK_blend_ov_cliff_no_c NOTCH | PK_blend_ov_notch_no_c -------------------------------------------- Overflow Type | Allow when Same Convexity -------------------------------------------- SMOOTH | PK_blend_ov_smooth_any_c CLIFFEDGE | PK_blend_ov_cliff_any_c -------------------------------------------- Overflow Type | Allow at End -------------------------------------------- CLIFFEDGE END | PK_blend_ov_cliff_end_yes_c -------------------------------------------- Overflow Type | Default -------------------------------------------- SMOOTH | PK_blend_ov_smooth_diff_c CLIFFEDGE | PK_blend_ov_cliff_diff_c CLIFFEDGE END | PK_blend_ov_cliff_end_no_c NOTCH | PK_blend_ov_notch_yes_c -------------------------------------------- 'tolerance' Sets the tolerance for the blended edge. The default tolerance is 1000 * modeller resolution. This field does not apply to conic blends set by PK_EDGE_set_blend_constant on a classic body. 'ribspace' The approximate separation of rib lines. ( 0 < ribspace < size ) For further explanation, and examples, of the use of these options, please refer to the blending section of the manual.