This piece of code draws a coloured, c-plane axis system ON TOP of all
objects. Because I disable DepthWriting and Testing prior to drawing my
points and arrows, my objects are not obscured by the existing geometry
(which was drawn in a channel previous to PostDrawObjects.
When and where to draw ON_Breps highly depends on the desired effect.
If you’re drawing wireframes that you always want on top, then you should probably draw them in the SC_DRAWFOREGROUND channel.
If you’re drawing shaded objects, then you’ll probably want to draw them in either the SC_PREDRAWOBJECTS or SC_POSTDRAWOBJECTS channel. However, if transparency is involved, then you’ll have to draw them in SC_POSTDRAWOBJECTS in order for all other objects to “show through” your transparent ones.
Basically, all of the DRAWOBJECT channels support depth buffered drawing, and doing any kind of drawing anywhere else will not have or support depth buffering.