<<<<<<<<<<<<<<<<<

new_modeller(model) Model new_modeller(model)

NAME

new_modeller - abstract class for interfacing modellers with display_data

DESCRIPTION

The new_modeller object is an abstract class that provides methods and instance variables for its subclasses. Its major function is to interface the modellers (e.g., objects that create geometry) to the visualization pipeline (e.g., display_data and filters). This behavior has been implemented by having these objects create display_data objects when they build their geometry.

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.

SUPERCLASS

modeller

INSTANCE VARIABLES

display_object object of subclass display_modeller used to transform geometry (created by modeller in display_data form) into appropriate rendering primitives.

MESSAGES

render: renderer_instance causes the modeller to build its geometry (if necessary), then render itself. Geometry is built by sending itself a "generate_data!" message. The modeller then renders itself by creating a display object and forwarding the "render:" message.

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

SEE ALSO

modeller, display_data, visage_data, display_filter, cube_modeller, cylinder_modeller, display_modeller


Please send comments and suggestions to
consult@rpi.edu