There are two types of domain information:
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 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
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 ![]() ![]() ![]() ![]() |
![]() |
property( Name ) | domain of the properties for the given ![]() ![]() ![]() |
dependent of the type (![]() |
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 ![]() ![]() ![]() ![]() |
![]() ![]() |
property( sound ) | a sound; the values are: 1. frequency in Hertz (![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
property( soundPolarized ) | a sound; the values are: 1. frequency in Hertz (![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() |
property( soundAmplitude ) | the amplitude of a sound; the values are: 1. sound pressure in Pascal ![]() ![]() |
![]() ![]() ![]() ![]() |
property( soundBarrier ) | speed of sound in meters per second (![]() |
![]() ![]() |
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 (![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() |
property( periodBegin ) | Time in seconds (![]() |
![]() ![]() |
property( periodEnd ) | Time in seconds (![]() |
![]() ![]() |
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 ![]() |
![]() |