Iso/iec jtc 1/sc 29 N



Yüklə 1,86 Mb.
səhifə10/19
tarix19.10.2018
ölçüsü1,86 Mb.
#74906
növüApplication form
1   ...   6   7   8   9   10   11   12   13   ...   19

Layer3D

XSD Description



































































Functionality and semantics

As defined in ISO/IEC 14496-11 (BIFS), section 7.2.2.73.2.

The Layer3D node is a transparent, rectangular rendering region where a 3D scene is drawn. The Layer3D node may be composed in the same manner as any other 2D node. It represents a rectangular region on the screen facing the viewer. The basic Layer3D semantics are identical to those for Layer2D (see ISO/IEC 14496-11, section 7.2.2.72) but with 3D (rather than 2D) children. In general, Layer3D nodes shall not be present in 3D co-ordinate systems. The permitted exception to this in when a Layer3D node is the "top" node that begins a 3D scene or context (see ISO/IEC 14496-11, section 7.1.1.2.1).

The following fields specify bindable children nodes for Layer3D:


  • background for Background and Background2D nodes

  • fog for Fog nodes

  • navigationInfo for NavigationInfo nodes

  • viewpoint for Viewpoint nodes

The viewpoint field can be used to allow the viewing of the same scene with several viewpoints.

NOTE — The rule for transparency to behaviors is also true for navigation in Layer3D. Authors should carefully design the various Layer3D nodes in a given scene to take account of navigation. Overlapping several Layer3D with navigation turned on may trigger strange navigation effects which are difficult to control by the user. Unless it is a feature of the content, navigation can be easily turned off using the NavigationInfo type field, or Layer3D’s can be designed not to be superimposed.

Layout

XSD Description

















































Functionality and semantics

As defined in ISO/IEC 14496-11 (BIFS), section 7.2.2.74.2

The Layout node specifies the placement (layout) of its children in various alignment modes as specified. For text children, this is by their fontStyle fields, and for non-text children by the fields horizontal, justify, leftToRight, topToBottom and spacing present in this node. It also provides the functionality of scrolling its children horizontally or vertically.

The children field shall specify a list of nodes that are to be arranged. Note that the children’s position is implicit and that order is important. The wrap field specifies whether children are allowed to wrap to the next row (or column in vertical alignment cases) after the edge of the layout frame is reached. If wrap is set to TRUE, children that would be positioned across or past the frame boundary are wrapped (vertically or horizontally) to the next row or column. If wrap is set to FALSE, children are placed in a single row or column that is clipped if it is larger than the layout. When wrap is TRUE, if text objects larger than the layout frame need to be placed, these texts shall be broken down into pieces that are smaller than the layout. The preferred places for breaking text are spaces, tabs, hyphens, carriage returns and line feeds. When there is no such character in the texts to be broken, the texts shall be broken at the last character that is entirely placed in the layout frame.

The size field specifies the width and height of the layout frame.

The horizontal, justify, leftToRight, topToBottom and spacing fields have the same meaning as in the FontStyle node (see ISO/IEC 14496-11, section 7.2.2.61).

The scrollRate field specifies the time needed in seconds to scroll the layout in the given direction. For example, a layout of 200x100 pixels scrolling vertically with a scrollRate value of 2 will translate its objects vertically of 100/2 times the simulation frame duration in seconds (eg, 1.65 pixels at 30 fps). When scrollRate is zero, then there is no scrolling and the remaining scroll-related fields are ignored.

The smoothScroll field selects between smooth and line-by-line/character-by-character scrolling of children. When TRUE, smooth scroll is applied.

The loop field specifies continuous looping of children when set to TRUE. When loop is FALSE, child nodes that have scrolled out of the scroll layout frame will be deleted. When loop is TRUE, then the set of children scrolls continuously, wrapping around when they have scrolled out of the layout area. If the set of children is smaller than the layout area, some empty space will be scrolled with the children. If the set of children is bigger than the layout area, then only some of the children will be displayed at any point in time. When scrollVertical is TRUE and loop is TRUE and scrollRate is negative (top-to-bottom scrolling), then the bottom-most object will reappear on top of the layout frame as soon as the topmost object has scrolled entirely into the layout frame. The scrollVertical field specifies whether the scrolling is done vertically or horizontally. When set to TRUE, the scrolling rate shall be interpreted as a vertical scrolling rate and a positive rate shall be interpreted as scrolling towards the top. When set to FALSE, the scrolling rate shall be interpreted as a horizontal scrolling rate and a positive rate shall mean scrolling to the right. Objects are placed one by one, in the order they are given in the children list. Text objects are placed according to the horizontal, justify, leftToRight, topToBottom and spacing fields of their FontStyle node. Other objects are placed according to the same fields of the Layout node. The reference point for the placement of an object is the reference point as left by the placement of the previous object in the list. In the case of vertical alignment, objects may be placed with respect to their top, bottom, center or baseline. The baseline of non-text objects is the same as their bottom. Spacing shall be coherent only within sequences of objects with the same orientation (same value of horizontal field).

The notions of top edge, bottom edge, base line, vertical center, left edge, right edge, horizontal center, line height and row width shall have a single meaning over coherent sequences of objects. This means that over a sequence of objects where horizontal is TRUE, topToBottom is TRUE and spacing has the same value, then the vertical size of the lines is computed as follows:


  • maxAscent is the maximum of the ascent on all text objects.

  • maxDescent is the maximum of the descent on all text objects.

  • maxHeight is the maximum height of non-text objects.

If the minor mode in the justify field of the layout is FIRST (baseline alignment), then the non-text objects shall be aligned on the baseline, which means the vertical size of the line is: size = max( maxAscent, maxHeight ) + maxDescent

If the minor mode in the justify field of the layout is any other value, then the non-text objects shall be aligned with respect to the top, bottom or center, which means the size of the line is: size = max( maxAscent+maxDescent, maxHeight )

The first line is placed with its top edge flush to the top edge of the layout; the base line is placed maxAscent units lower, and the bottom edge is placed maxDescent units lower. The center line is in the middle, between the top and bottom edges. The top edges of subsequent lines are placed at regular intervals of value spacing size.

The other cases can be inferred from the above description. When the orientation is vertical, then the baseline, ascent and descent are not useful for the computation of the width of the rows. All objects only have a width. Column size is the maximum width over all objects.


Yüklə 1,86 Mb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   ...   19




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə