polyop.propagateFlags <Polypoly> <toSOLevel> <toFlag_int><fromSOLevel> <fromFlag_int> \
ampersand:<boolean=false> set:<boolean=true> undoable:<boolean=true>
where toSOLevel/fromSOLevel
= {#object | #vertex | #edge | #face}
Propagates component flags.
For each <fromSOLevel>
element that has flag <fromFlag_int>
set, the <toSOLevel>
elements that use or are used by the element have their internal flag variable bits set based on <toFlag_int>
.
Only the bits corresponding to the bits that are set in <toFlag_int>
are affected.
If <ampersand>
is false
, and <fromFlag_int>
has more than one bit set, the <fromSOLevel>
elements are tested to see whether they have any of the corresponding bits set. If true
, the <fromSOLevel>
component elements are tested to see whether they have all the corresponding bits set.
If <set>
is true
, the <toSOLevel>
elements have flags <toFlag_int>
set. If false
, these flags are cleared.
If <undoable>
is true
, the operation in undoable, otherwise it is not.
If bits 1 or 2 of <toFlag_int>
are set (selected and dead flag bits), this operation is always undoable.
Returns the number of <fromSOLevel>
elements that tested positive for the <fromFlag_int>
flags.