The SEDRIS Data Representation Model
APPENDIX A - Classes Stamp Behaviour |
---|
An instance of this DRM class specifies that the <Geometry Hierarchy> instance of which the <Stamp Behaviour> instance is a component rotates automatically with the viewpoint of a a 3D graphics application at the time that the environmental object assigned the <Stamp Behaviour> instance is rendered, attempting to continually face the viewer.
The <Geometry Hierarchy> instance rotates about the u, v and/or w axes, within the specified angular limits. The centre of rotation is specified by the <Location 3D> component. The axes are positioned at the centre of rotation, aligned with the equivalent SRF axes. Geometry with a <Stamp Behaviour> instance is normally planar in nature and is considered to face along the normal of that plane.
If the clockwise_limit of the rotation data for an axis is set to SE_POSITIVE_INFINITY and its counterclockwise_limit is set to SE_NEGATIVE_INFINITY, the aggregating <Geometry Hierarchy> instance can rotate freely about that axis. If all axis limits are set in this way, the <Geometry Hierarchy> instance rotates freely in any direction about the centre of rotation.
Consider a <Union Of Primitive Geometry> instance containing a single textured <Polygon> instance that is rotating freely about the w axis to represent a tree. The <Union Of Primitive Geometry> instance in this example has a <Stamp Behaviour> component, with u_axis_limits and v_axis_limits set to 0.0 for both the clockwise_limit and counterclockwise_limit, and w_axis_limits set to SE_POSITIVE_INFINITY for clockwise_limit and SE_NEGATIVE_INFINITY for counterclockwise_limit. The <Stamp Behaviour> instance has an <LSR 3D Location> component specifying a location at the base of the tree, so that the w axis runs up the centre of the tree.
Because if and when a <Stamp Behaviour> instance's native LSR SRF is instanced into a non-LSR SRF, the <Location 3D> shall be specified so that it can be transformed into the target SRF.
SE_Rotation_Data | u_axis_limits; | 2 |
---|---|---|
SE_Rotation_Data | v_axis_limits; | 3 |
SE_Rotation_Data | w_axis_limits; | 4 |
The u_axis_limits field specifies the angular limits around the u axis.
The v_axis_limits field specifies the angular limits around the v axis.
The w_axis_limits field specifies the angular limits around the w axis.
|