How do I determine the visibility of an item?¶
Item visibility is defined by a visibility channel that can be set by the user. However, other properties, such as the visibility of parents or the visibility settings of the groups the item belongs to, may modify or override that visibility channel. There is a hidden hVisible channel on locator type items that takes these extra properties into account. Reading this channel in an evaluated context will return the true visibility of an item.
CLxUser_ChannelRead chan_read; int visible = 0; chan_read.from (item, time); visible = eval.IValue (item, LXsICHAN_LOCATOR_HVISIBLE);
scene = item.Context () chan_read = lx.object.ChannelRead (scene.Channels (None, time)) visible = chan_read.Integer (item, item.ChannelLookup (lx.symbol.sICHAN_LOCATOR_VISIBLE))