indexing description: "[ Updateable objects that have a three-dimensional alignment. ]" author: "" date: "$Date$" revision: "$Revision$" deferred class EM_VIZ_ALIGNABLE inherit EM_ALIGNMENT_CONSTANTS EM_VIZ_UPDATEABLE feature -- Initialization make_alignable is -- Initializae with default values do set_alignment ([Align_left, Align_top, Align_front]) end feature -- Access alignment: EM_ALIGNMENT_3D -- Alignment for all 3 dimensions horizontal_alignment: EM_ALIGNMENT is do Result := alignment.x end -- Alignment on x-Axis vertical_alignment: EM_ALIGNMENT is do Result := alignment.y end -- Alignment on y-Axis depth_alignment: EM_ALIGNMENT is do Result := alignment.z end -- Alignment on z-Axis feature -- Element change set_alignment (an_alignment: like alignment) is -- Set alignment for all three axes do alignment := an_alignment expire ensure set: alignment = an_alignment expired: needs_update end set_horizontal_alignment (an_alignment: like horizontal_alignment) is -- Set horizontal alignment do alignment.set_x (an_alignment) expire ensure set: horizontal_alignment = an_alignment expired: needs_update end set_vertical_alignment (an_alignment: like vertical_alignment) is -- Set vertical alignment do alignment.set_y (an_alignment) expire ensure set: vertical_alignment = an_alignment expired: needs_update end set_depth_alignment (an_alignment: like depth_alignment) is -- Set depth alignment do alignment.set_z (an_alignment) expire ensure set: depth_alignment = an_alignment expired: needs_update end end