The SEDRIS Data Representation Model
APPENDIX C - Types
SE_Predefined_Function
/*
 * REGISTERABLE ENUM: SE_Predefined_Function
 *
 *   Definitions for individual functions signify argument usage by
 *   labelling the argument with capital letters, such that A = first arg.,
 *   B = second arg., and so on.
 */
typedef SE_Short_Integer SE_Predefined_Function;
Enumerant Definition Value
SE_PREDEF_FUNC_ADD
 Definition: A + B

 This is a binary operator, for which the first of the ordered
 arguments is "left" of the operator and the second is "right".
1
SE_PREDEF_FUNC_DIVIDE
 Definition: A / B

 This is a binary operator, for which the first of the ordered
 arguments is "left" of the operator and the second is "right".
2
SE_PREDEF_FUNC_MODULO
 Definition: A % B

 This is a binary operator, for which the first of the ordered
 arguments is "left" of the operator and the second is "right".
3
SE_PREDEF_FUNC_MULTIPLY
 Definition: A * B

 This is a binary operator, for which the first of the ordered
 arguments is "left" of the operator and the second is "right".
4
SE_PREDEF_FUNC_SUBTRACT
 Definition: A - B

 This is a binary operator, for which the first of the ordered
 arguments is "left" of the operator and the second is "right".
5
SE_PREDEF_FUNC_COSINE
 Definition: cosine(A)
6
SE_PREDEF_FUNC_SINE
 Definition: sine(A)
7
SE_PREDEF_FUNC_TANGENT
 Definition: tangent(A)
8
SE_PREDEF_FUNC_ARCCOSINE
 Definition: arccosine(A)
9
SE_PREDEF_FUNC_ARCSINE
 Definition: arcsine(A)
10
SE_PREDEF_FUNC_ARCTANGENT
 Definition: arctangent(A)
11
SE_PREDEF_FUNC_ARCTANGENT2
 Definition: The square of arctangent(A)
12
SE_PREDEF_FUNC_HYPOTENUSE
 Definition: hypotenuse(A, B)
13
SE_PREDEF_FUNC_ABSOLUTE
 Definition: /A/ : absolute value of "A"
14
SE_PREDEF_FUNC_EXPONENT
 e^A
15
SE_PREDEF_FUNC_LN
 ln(A) : natural logarithm of "A"
16
SE_PREDEF_FUNC_LOG
 log(A, B) : log, base "B" of "A"
17
SE_PREDEF_FUNC_POWER
 Definition: A^B : "A" raised to the "Bth" power
18
SE_PREDEF_FUNC_SQRT
 sqrt(A)
19
SE_PREDEF_FUNC_MAXIMUM
 if (A > B) return A; else return B;
20
SE_PREDEF_FUNC_MINIMUM
 if (A < B) return A; else return B;
21
SE_PREDEF_FUNC_NOT
 Definition: Not (the logical operator)

 Symbol: !A, where A is the operand

 Return Type: Boolean

 This unary logical operator treats an operand with a value
 of zero (0) as FALSE, while an operand with a non-zero
 value is treated as TRUE.
22
SE_PREDEF_FUNC_AND
 Definition: And (the logical operator)

 Symbol: A && B, for operands A, B

 This binary logical operator treats its first ordered argument
 (A) as "left" of the operator, while the second (B) is "right".
 An operand with a value of zero (0) is treated as FALSE, while
 an operand with a non-zero value is treated as TRUE.
23
SE_PREDEF_FUNC_EQUAL
 A == B
24
SE_PREDEF_FUNC_GREATER_THAN
 A > B
25
SE_PREDEF_FUNC_GREATER_THAN_OR_EQUAL
 A >= B
26
SE_PREDEF_FUNC_LESS_THAN
 A < B
27
SE_PREDEF_FUNC_LESS_THAN_OR_EQUAL
 A <= B
28
SE_PREDEF_FUNC_NOT_EQUAL
 A != B
29
SE_PREDEF_FUNC_OR
 Definition: Or (the logical operator)

 Symbol: A || B, for operands A, B

 This binary logical operator treats its first ordered argument
 (A) as "left" of the operator, while the second (B) is "right".
 An operand with a value of zero (0) is treated as FALSE, while
 an operand with a non-zero value is treated as TRUE.
30
SE_PREDEF_FUNC_EXCLUSIVE_OR
 Definition: Exclusive Or (the logical operator)

 Symbol: A ?? B, for operands A, B

 This binary logical operator treats its first ordered argument
 (A) as "left" of the operator, while the second (B) is "right".
 An operand with a value of zero (0) is treated as FALSE, while
 an operand with a non-zero value is treated as TRUE.
31
SE_PREDEF_FUNC_IF
 Definition: if (A) return B; else return C

 Accepts exactly 3 arguments: A, B, and C.
32
SE_PREDEF_FUNC_PI
 The mathematical constant PI
33
SE_PREDEF_FUNC_TRUE
 This specifies the Boolean constant TRUE.
 The use of this predefined function is deprecated;
 instead, use an appropriate <Literal> instance.
34
SE_PREDEF_FUNC_FALSE
 This specifies the Boolean constant FALSE.
 The use of this predefined function is deprecated;
 instead, use an appropriate <Literal> instance.
35
SE_PREDEF_FUNC_GMT
 Returns time, in floating point seconds, since
 00:00:00 UTC, January 1, 1970.
36
SE_PREDEF_FUNC_LOCAL_TIME
 Returns time, in floating point seconds, since 00:00:00, January 1,
 1970 in the time zone containing latitude=A longitude=B (degrees).
37
SE_PREDEF_FUNC_SIMULATION_TIME
 Returns time, in floating point seconds, since simulation start.
38
SE_PREDEF_FUNC_SIMULATION_UTIME
 Returns time, in unsigned microseconds, since simulation start.
 The value is allowed to overflow and roll back to zero.
39
SE_PREDEF_FUNC_REFERENCE_SURFACE_ELEVATION
 Returns the height of the terrain at the point specified by the
 arguments.  Arguments are interpreted as coordinates within the currently
 scoped spatial reference frame defined by the current transmittal.
 Argument order should match the field order defined by <Location 3D>.
40
SE_PREDEF_FUNC_CYCLE_TIME
 Returns a cycling time value in seconds of the kind specified by the
 arguments. These arguments are:
 A - a trigger boolean to start the cycle(s)
 B - cycle length in seconds
 C - a function that returns time in seconds (e.g. SE_FUNC_SIM_GMT)
 D - number of cycles to do before stopping
 E - cycle time at which to start
 F - cycle time at which to end
 G - Boolean specifying whether the cycle runs one way
     (e.g. start > end, start > end) or whether it reverses at the end
     (e.g. start > end > start)
41
SE_PREDEF_FUNC_TIME_OF_DAY
 Returns simulation Time of Day in hours and fractions of hours.
42
SE_PREDEF_FUNC_TIME_OF_YEAR
 Returns simulation Time of Year in days since January 1st.
43
SE_PREDEF_FUNC_WIND_DIRECTION
 This predefined function returns the simulation wind direction in
 degrees, measured anti-clockwise from geodetic north. Its use is
 deprecated; instead, use a <Variable> instance with meaning set to
 EAC_WIND_DIRECTION.
44
SE_PREDEF_FUNC_WIND_SPEED
 This predefined function returns the simulation wind speed in
 metres per second (m/s). Its use is deprecated; instead, use
 a <Variable> instance with meaning set to EAC_WIND_SPEED.
45
SE_PREDEF_FUNC_HUMIDITY
 Returns simulation relative humidity in range 0-1.
46
SE_PREDEF_FUNC_RAIN_RATE
 This predefined function returns the simulation precipitation rate
 in centimetres per hour. Its use is deprecated; instead, use
 a <Variable> instance with meaning set to EAC_PRECIPITATION_RATE.
47
SE_PREDEF_FUNC_TEMPERATURE
 This predefined function returns the simulation temperature
 in degrees Celsius. Its use is deprecated; instead, use
 a <Variable> instance with meaning set to EAC_AIR_TEMPERATURE
 (or if another temperature quantity is desired, the appropriate
 EA for that quantity).
48
SE_PREDEF_FUNC_SUN_DIRECTION
 Returns simulation sun direction in degrees, measured anti-clockwise
 from geodetic north.
49
SE_PREDEF_FUNC_SUN_ELEVATION
 Returns simulation sun elevation, in degrees above horizon.
50
SE_PREDEF_FUNC_TABLE_VALUE
 This is used to allow a <Property Table> to drive a <Control Link>.

 Contains a <Property Table Reference> as an argument, which references
 the <Data Table> (usually, this will be a <Property Table>). The values
 should be stored in cells with a <Property> that is defined by the
 EDCS Attribute Code (EAC) of the type appropriate for the target
 <Control Link> that is to be driven.

 This <Predefined Function> is contained by the target <Control Link>,
 and thereby returns the value referenced from the <Property Table> as
 the value that drives the target <Control Link>. The <Property Table
 Reference> can itself be controlled using a <Property Table Reference
 Control Link>, allowing different values to be referenced from the
 <Property Table>.
51



Prev: SE_Predef_Func_Structure. Next: SE_Present_In.


Return to: Top of this Page, Type Index

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™