typedef struct { int o_t_version; --- Version of this PK option structure int n_op_ex; --- Number of entity pairs that may be ignored PK_TOPOL_t *op_ex1; --- First half of pairs that may be ignored PK_TOPOL_t *op_ex2; --- Second half of pairs that may be ignored --- Defaults: 0, NULL, NULL (no ignores) PK_LOGICAL_t find_all; --- Find all clashes, not just the first PK_LOGICAL_t find_intersect;--- Examine clashes for true interference --- Defaults: False, False (simplest check) PK_LOGICAL_t mul_target_tf; --- There is one transform in tf1 for each --- target entity. Otherwise, the first --- transform is used for all targets. PK_LOGICAL_t mul_tool_tf; --- One transform in tf2 for each tool, as --- per target transforms (above). --- Defaults: False, False (i.e., only one --- transform in each list). } PK_TOPOL_clash_o_t; Controls for PK_TOPOL_clash: optional excludes, find_all and find_intersect controls, single/multiple transforms for tools and targets. n_op_ex, op_ex1 and op_ex2 describe a list of entity pairs. n_op_ex is the number of pairs, op_ex1 and op_ex2 hold lists of first and second elements of pairs respectively. For each pair (eg, op_ex1[i]' and op_ex2[i]), PK_TOPOL_clash has the option of using the pair to minimise its task; it is at liberty to ignore any clashes that it finds between these two entities. If it ignores these clashes, it won't report them, otherwise it will. If find_all has the value PK_LOGICAL_false, then the function will return only a single clash (or none, if none exist). It returns the first one that it finds. If find_all has the value PK_LOGICAL_true, it will find and return all the valid clashes that exist. If find_intersect has the value PK_LOGICAL_true, then for each clash returned, clash_type gives its classification. This allows interference to be distinguished from abutment. If mul_target_tf has the value PK_LOGICAL_true, then PK_TOPOL_clash assumes that one transform entity has been provided in tf1 for each entity in targets. Otherwise, tf1 holds only a single transform, which will be applied to all the entities in targets. mul_tool_tf has exactly the same effect with respect to tools and tf2.