An important feature of new_modeller is that it will delegate any messages it does not understand to its data_out (i.e., display_data object). Hence any methods that display_data or display_data's superclasses recognize can be sent to new_modeller. Typical messages include "bounds?" (display_data computes geometric bounds), "output!" (display_data prints itself to terminal), "time=" (visage_data sets data time) or "tick!" (visage_data moves to next data time).
Each subclass of new_modeller creates an instance of an appropriate subclass of display_modeller to render its data. The data_in for this display_modeller is set equal to the data_out of the new_modeller. The new modeller forwards certain messages (range?,range=,lookup_table?, lookup_table=) to the display object.
generate_data! build a local geometric representation if the object has been modified since the last time it was built.
create_display_object! instantiate the display_object used to render the
object. This is a convenience routine used to create the display_object when none has been explicitly set.
display_object= object_name explicitly set the name of a display_object (e.g., subclass of display_modeller) to render the geometry.
display_object? get the name of the display_object.
display_object_class? return the class name of the display_object used to render the geometry.
mtime? get the modified time of the object, taking into account the display_object.
output! print out to the terminal the contents of the display_data object. (Method implemented by forwarding the "output!" message to its data_out.)
bounds?, bbox? return the (xmin,xmax,ymin,ymax,zmin,zmax) bounding box of the modeller. (Method implemented by forwarding to the data_out.)
data?, display_data? return a pointer to the display_data. (Method implemented by forwarding to data_out.)
time=, tick!, cache_size= various methods implemented by delegating to data_out.
range=,range? delegated to display_object
lookup_table=,lookup_table? delegated to display_object