ssget visibility behaviour: _C/_W vs _F/_CP/_WP
While working through some performance ("Turbo") testing of AutoLISP routines, I noticed something that I don't recall seeing explicitly documented.
It is well known that:
(ssget "_C" p1 p2 filter)
(ssget "_W" p1 p2 filter)
fail when the selection window is completely outside the current view.
But my testing suggests:
(ssget "_F" pts filter)
(ssget "_CP" pts filter)
(ssget "_WP" pts filter)
continue to work correctly even when the relevant geometry is completely off-screen.
In other words, the following appears to be true:
_C viewport dependent
_W viewport dependent
_F viewport independent
_CP viewport independent
_WP viewport independent
This came up while removing hundreds of internal zoom operations from older routines. After removing all (zoom) calls:
(ssget "_F" ...)
continued to work perfectly on geometry outside the current view.
Questions:
- Can others reproduce this in recent BricsCAD versions?
- Is this behaviour documented anywhere?
- Is this inherited from AutoCAD, or is it specific to BricsCAD's implementation?
- Does BricsCAD internally treat _F, _CP, and _WP differently from _C and _W?
I'm not asking about _C/_W requiring visibility (that part seems well known). I'm specifically interested in whether anyone has previously noted that _F/_CP/_WP appear not to share that limitation.
