Next: Domains for Elements Up: The root-element Previous: Multimedia information   Contents   Index

### Domains

There are two types of domain information:

• : Domains for possible values (including values of variables) an element can contain.
• : Domains for used values in elements.
The types of the domains will be discussed below in more detail.

The specification of a domain consists of two parts and .

The first part of the domain entry is the name of the element, for which the domain is. Elements/names that can be set for the domains are listed in table 5 on page .

Also listed there are the standard domains of the elements. Of the listed standard domains the scalar (sub-)domains can be changed, the number of scalar subdomains of a domain, however, should not be changed (if not specified otherwise). So if the standard domain of an element is for scalars values (e. g. ), for this element never a vector domain should be set. On the other hand, if the standard domain of an element is for vectors with elements, for this element only domains should be set, which are for vectors with elements. In this way, for example, properties can be always interpreted in the same way. For elements (e. g. Properties), which are not listed in table 5, the domains can of course be set freely.

The second part of the domain entry is the domain to apply to the element . A list of the possible domains is given in table 6 on page .

Values outside of their domain are rounded to values in the domain. The rounded value of a (scalar) number, is the value with the minimum distance to the not rounded value. If there are several of them, the smallest value of them is taken, as the rounded value.

Rounding of vectors is done with their distance. The distance between two vectors is the sum of the distances of their elements. The rounded vector of a domain is the vector in the domain with the smallest distance from the unrounded vector. If several vectors have a minimum distance from the unrounded vector, the rounded vector is the vector, whose first elements have a minimal distance from the unrounded vector. Where , starting from the number of elements in the unrounded vector, is reduced by one till a vector is found or 1 is reached. If even then more vectors remain, the rounded vector is the vector, whose 'th element is less than the 'th element of the other remaining vectors, where is counted from 1 to the number of elements in the vector.

If the vector to be rounded has too many elements, the number of its elements is reduced to the correct number. Should the to round vector contain not enough elements, the missing elements are created and assigned to the zero value of the respective element domains.

Each domain has a null value. The null value of a scalar domain (a domain for numbers), is the value rounded to a value in the domain. For vectors the null vector is the vector, which is generated if a vector whose elements are all is rounded to a vector in the domain.

Each scalar domain has a maximum value and minimum value. The maximum value is the highest value in the domain and the minimum value is the smallest value.

The domains, which contain only integers, have a scale factor , which apply for the corresponding element of the . This factor is a floating point number, with which the values of the unscaled domain are multiplied, to obtain the scaled domain. As standard, the scaling factor is assumed. The scaling factor is useful for example, if the horizontal dimension should not be measured in meter but in milli meter or when the temperature is not given in degrees Kelvin, but in tenth of a degree Kelvin.

In the following notation the scale factor is indicated by the notation, that the domain is multiplied with it "". A Skalierungsfaltor of is not specified here. For example, " " means that the 16-bit integer domain is scaled with the scaling factor . In contrast "" means that the scaling factor is , that is the domain is not scaled.

Example: The basis domain is for integers from to (which are 4 values) with the scaling factor . Possible values are: ; ; ; . If a number in an element for the domain is for example unscaled , it is interpreted as the scaled number .

 Name Description Standard domain dim( , , , ) This is the domain for position vectors. The number is the number of dimensions respectively elements of a position vector. The value is an integer, which determines, in which direction the dimension will be mapped (see table 7 on page for the possible values, there numerical values are specified [in the "value" column]). The domain is a vector with numbers (or scalars). The default value for the number of dimensions is , it will be used, if no domain is specified for position vectors. Then (standard case) the first dimension points in the horizontally direction and the second dimension in the vertically direction. Regardless of this, the direction value of the domains for elements (also inherited) overrides the value domains . Normally, however, the direction specifications should be the same for all position vector domains. , , subfunction values which can appear in subfunctions area domain for the area element (see section 9.6 on page ) inVar(i) domain for the i'th input variable () set zeroth domain for set-elements set(i) i'th domain for set-elements matrix zeroth domain for matrix elements matrix(i) i'th domain for matrix elements externSubobject( Number ) The domain for the external subobject with the given number (see section 9.10 on page ) of the multimedia object. The output values of the external subobject with the given number can be set to the values of this domain. In the main-Fib-object for each externSubobjectOutput domain external subobjects with the given number can exist. Also for each external subobject (each number) in the main-Fib-object an externSubobjectOutput domain with the number should exist. At least for the external subobjects with the highest number an externSubobject domain have to be created, so that it is known, how much external subobjects in the main-Fib-object exists. The externSubobjectOutput domain isn't inherited by other root-elements. property( Name ) domain of the properties for the given ; see table 2 on page for the possible names () dependent of the type () of the property property( whatever ) The properties of the points dosn't matter. Whatever properties are assigned to a point with this property, they are correct. property( colorRGB) domain for RGB-colors property( colorGrayscale ) domain for monocrome colors property( layer ) number of possible layers property( transparency ) transparency of the points property( persistent ) This property is only useful for a period of time. Points in space with this property only lose their other properties, if they are overwritten by a respective property of the same type. This of however is only the case, as long as the particular point has the property . This property is for example useful, if in a movie objects should be visible as long as they are not overwritten by other objects. In this case, the entire background can get the property . If an object is defined and displayed at a time, it will be there in the future as long as it won't get overwritten. (The possible values are for persistent and for non persistent.) property( sound ) a sound; the values are: 1. frequency in Hertz (), 2. sound pressure in Pascal (), 3. phase shift in radians, 4. duration in seconds; a sound is additive to other sounds , , , , property( soundPolarized ) a sound; the values are: 1. frequency in Hertz (), 2. sound pressure in Pascal (), 3. phase shift in radians, 4. duration in seconds; r = to ( ) polarization fraction (as an angle in radians) in the dimension plane, which is spanned by the respective dimensions and ( is the number of dimensions), the angle origin is the axis and goes in positive direction; a sound is additive to other sounds , , , , property( soundAmplitude ) the amplitude of a sound; the values are: 1. sound pressure in Pascal (), 2. phase shift in radians, 3. duration in seconds; a sound is additive to other sounds; With this properties sounds can be build by their amplitude with a specific sampling rate, such as in the WAVE file format. , , , property( soundBarrier ) speed of sound in meters per second (); With this property objects can change the acoustics. , property( soundReflected ) fraction of sound reflected from the object; This property applies to the surface/the edge of the object and not for all his individual points , property( soundDamping ) fraction of the sound swallowed by a point , property( kelvin ) temperature in Kelvin , property( electroMagnetic ) an electromagnetic radiation source, the values are: 1. frequency in Hertz (), 2. amplitude in Candela cd, 3. phase shift in radians, 4. duration in seconds, r = to ( ), r = to ( ) polarization fraction (as an angle in radians) in the dimension direction, which is spanned by the respective dimensions and ( is the number of dimensions), the angular information is provided by the axis in positive direction, an electromagnetic wave is additive to other electromagnetic waves , , , , property( periodBegin ) Time in seconds () from the beginning of the whole multimedia object, from which the object is to be displayed; if possible, this property should be near the root of the multimedia object; when a multimedia object is played it can be determined with this property: the order in which subobjects should be evaluated and/or till which time to evaluate a part object , property( periodEnd ) Time in seconds () from the beginning of the whole multimedia object, till which the object is to be displayed; if possible, this property should be near the root of the multimedia object and follow a "periodBegin" property; when a multimedia object is played it can be determined with this property: the order in which subobjects should be evaluated and/or till which time to evaluate a part object completely , property( evaluationTime ) Time required for evaluating a multimedia object, in proportion to a multimedia object, which contains only one point (the value should be seen as a multiple of the evaluation time of a point); with this property in combination with the properties "periodBegin" und "periodEnd" a good evaluation order and time can be evalued for the partobjects, when playing a multimedia object; this property should stand immediately after (or below/within) the "periodBegin" and "periodEnd" properties , property( checksum ) A checksum for the object will be generated. The first parameter determines the type of the checksum. The second parameter specifies any which number of bits, a checksum is to be generated, and the third parameter defines how many bits the checksum is long. The last block of the checksum will be padded with 0 after loading the blocks, so that it too has the desired length. If there are enough bits to correct an existing error, it will be attempted to correct the error. (see section 21.3.3 on page ) , , , property( boundSize ) For the part object the border/size in bits will be stored, when saving it. If an error occured while loading the part object, the (in the bitstream after the faulty part object) following part objects can still be loaded, because their beginning is known. (see section 21.3.3 on page )

 Domain name Description Domain naturalNumberB(X) * S bit integers without sign (natural numbers), which are scaled with integerB(X) * S bit integers with sign, which are scaled with naturalNumberB(32) 32 bit integers without sign (the scaling factor is not shown, because it is ) integerB(32) 32 bit integers with sign naturalNumber(X) * S integers in the range from to (without sign), which are scaled with integer(X, Y) * S integers in the range from to , which are scaled with integerValues( ) * S all given integers , which are scaled with naturalNumberUL() * S unlimited positiv integers, which are scaled with all positiv natural numbers integerUL() * S unlimited integers, which are scaled with all integers real() The domain for floating point numbers. A floating point number consists of two integer fields, the first is for the exponent and the second for the mantissa . The floating point number is then . The domains and are the domains for the integers, defined like above (e. g. integerB(8)). The domain is the domain for the values of the mantissa and is the domain for the values of the exponent. realValues( ) all given floating point numbers realUL() all floating point numbers all floating point numbers vector( ) a vector with elements, in which the 'th element has the domain vectorValues( ; ) The basis domain are vectors. The given vectors are all possible vectors in the domain. The domain is the domain of the 'th vector element (if it isn't a variable). If a variable is given as a vector elements the varible identifier is left out (omitted). for ; with vectorOpenEnd( ) This is the domain for vectors with or more elements, in which the 'th element has the domain , for lower , and else the domain . This domain is for elements, which can contain vectors of diffent sizes. The number of elements in the vector should be determined by the containing Fib element. domainReference( Name.[Element]* ) The domain is the domain of the Element of the given domain name . With the parameters a subdomain can be choosen (e. g. for the first subdomain of the third subdomain for the set-element or ). If no domain for the element with the exist, the default domain of the element is taken. If there is not even standard domain the general standard domain is used. If ther is no subdomain for , the last subdomain for is used, that still exists. the ( sub-)domain for the element with the domain name defaultDomain( Domain ) The domain is used, if no other domain exists for the corresponding element. if no other domain exists for the corresponding element

Table 7: Directions for dimensions
 Name Value Description none 0 No mapping, respectively it will be mapped to nowhere. horizontal 1 The dimension goes in the horizontal direction. Lower values are left. vertikal 2 The dimension goes in the vertikal direction. Lower values are down. depth 3 The dimension goes in the direction of depth. Lower values are in direction back. time 4 The dimension stands for the time. Lower values are in the past. anywhere 16 The dimension can be mapped in every dimension or direction. Product Dimensions 256 to 511 Dimension which are product specific. Different producers can use these dimensions, without getting incompatible with later defined dimensions.

Subsections

Next: Domains for Elements Up: The root-element Previous: Multimedia information   Contents   Index
Betti Ã–sterholz 2013-02-13