source files: xs1d.[ch]
(send <xs1d> :insert :body-thing <thing> :field-thing <thing> :slider-thing <thing> :text-thing <thing> [ :X <num> ] [ :Y <num> ] [ :Z <num> ] [ :SCALE <num> ] [ :SCALE-X <num> ] [ :SCALE-Y <num> ] [ :SCALE-Z <num> ] )
This call returns a :DRAWable, :RUN-WIDGETSable <thinglist> for the slider <xs1d>:
(send <xcmr> :DRAW :things <thinglist>)
will suffice to display the widget on the chosen camera xcmr, and
(send <xcmr> :RUN-WIDGETS :things <thinglist>)
will suffice to support user interaction via the slider.
Before SCALING, the resulting widget is centered on :X :Y :Z, facing you as you look toward positive Z, of width 1.0 in x.
This call inserts the appropriate geometry and hooks into the <thing>s, but no more: the caller will normally want to insert at least :MATERIAL properties into the <things> to select a reasonable appearance for the slider, and possibly also :LIGHTS etc.
This message inserts a frustum into :BODY-THING (which should be a thing of rectangles with facet normals) to constitute the background of the slider, and also hook functions to animate the slider. The resulting frustum has a face angle of forty-five degrees prior to scaling.
This message inserts a frustum into :SLIDER-THING (which should be a thing of rectangles with facet normals) to represent the moving part of the slider, and sets the thing to be :PICK-AS :INVISIBLE. Correct operation of the slider depends on the latter, and the contents of the :SLIDER-THING are modified frequently in use by the <xs1d>. It is inadvisable to monkey with hooks on this thing.
This message inserts a rectangle into :FIELD-THING (which should be a thing of rectangles with facet normals) to constitute the background on which the :SLIDER-THING moves back and forth.
This message inserts text into :TEXT-THING (which should be a thing of linesegments) to contain the text readout of the slider.
In general, inserting new geometry by hand into any of the above things is inadvisable. Adding hooks to :BODY-THING may be useful, adding hooks to the other things is inadvisable.