transform_filter(display)Display Classestransform_filter(display)
NAME
transform_filter - applies a transformation to a display_data object
DESCRIPTION
The transform filter takes the name of a person, actor or
transform object (creates a person object if none is specified) and uses that object's transformation matrix to
transform the points, normals, and vectors of a display_data object (referenced by the data_in instance variable). The transformation matrix contains three components: a translation, a rotation, and a (not necessarily
uniform) scale. The transformation is done as follows: For
transforming points, all three components of the matrix
are used as-is. For transforming normals, the transposed
inverted matrix is used without translation component. The
vectors of a display_data object are handled as the
points, however translation component is excluded.
SUPERCLASS
display_filter
INSTANCE VARIABLES
person_name
The name of a person object whose transformation to
use.
MESSAGES
generate_data!
Performs the transformation described above and
puts the result in the data_out display_data
object.
person_name[=?] person[=?]
Standard string set and query methods.
does_not_understand
Used internally to forward all unrecognized messages to the object referenced by the "person_name"
instance variable. This allows the transform filter
to accept messages like "front=" and "rotate_x:".
EXAMPLE
append_filter new:af1
data_in_set=(streamer_1,streamer_2)
;
tube_filter new:tf1 data_in=af1
radius=2.0
num_sides=3
;
transform_filter new:xf1 data_in=tf1
position=(3,5,6)
scale=(1,1.5,1.8)
rotate_y:30
;
display_surface new:surf data_in=xf1;
/* other messages setting up actors and renderer */
SEE ALSO
display_filter, ribbon_filter, merge_filter, tube_filter
Please send comments and suggestions toconsult@rpi.edu