Functions | |
void | Set_Streaming_Mode (const char *flag) |
Allows a segment to be dealt with in a "stream-of-consciousness" mode, in which setting an attribute only affects the drawing primitives that are inserted subsequently. More... | |
void | UnSet_Streaming_Mode (void) |
Removes all settings established by a previous call to Set_Streaming_Mode(). More... | |
void Set_Streaming_Mode | ( | const char * | flag | ) |
Allows a segment to be dealt with in a "stream-of-consciousness" mode, in which setting an attribute only affects the drawing primitives that are inserted subsequently.
flag | - Special constant—either "On" or "Off". Note that the constant is a quoted string. Uppercase versus lowercase is not significant. |
Segment attributes operate on the segment as a whole—when you change an attribute's value, no matter when or where, everything in that segment is given the new value. This usually makes sense, if you're thinking about building a picture and storing components in containers called "segments," sorted by type or position. But if you're just driving a simple pen plotter and you want to change pens, or if a segment structure is inconvenient, it is possible to switch to "stream-of-consciousness" mode, wherein attribute changes do not affect drawing primitives that already exist in the segment.
In normal mode, the sequence Color Red – Line 1 – Color Green – Line 2 – Update, if you actually tried it, would just give two green lines. In "stream" mode you would obtain a red line 1 and a green line 2. But there would be no way to change line 1.
A segment-oriented definition of streaming mode might be for one of the following:
Any segment that is in streaming mode.
Each time an attribute is changed and there are already drawing primitives present.
Implicitly open a new "secret" subsegment within the original streamed segment.
Continue work using the new subsegment.
The only way to remove the old versions is to request a Flush_Segment() (via Flush_By_Key() Routine)or Flush_Contents() .
If the first graphics-oriented HOOPS call made in a program is an Open, the system comes up in the normal segmented mode. But if the first call is an Insert or simple Set of some kind, the system assumes you don't want to use segments and opens the default display segment in streaming mode.
Streaming is provided as an attribute so that you can explicitly enter this "nonsegmented" mode yourself. It is also legitimate to mix the two modes.
Subsegments can not be created within a streaming-mode segment; likewise, streaming mode can not be set on a segment that already has subsegments.
Entities within a streaming-mode segment cannot be "brought-to-front".
Setting a new window in streaming mode does not create a new subsegment with its own subwindow—the window is always set on the original segment.
void UnSet_Streaming_Mode | ( | void | ) |
Removes all settings established by a previous call to Set_Streaming_Mode().
No additional details. See Set_Streaming_Mode()