Table 6.1 lists the topics of this clause.
6.2.6.2 Arithmetic expressions 6.2.6.3 Relational expressions 6.3.2 Overiview |
6.3.109 GetSpatialResolutionLOD |
The SEDRIS templates abstract scripting language is a simple abstract language that is used to specify the behaviour of SEDRIS templates. Such behaviours form an integral part of the definition of a SEDRIS template as described in 4.3.5 Abstract scirpting section. The SEDRIS templates abstract scripting language supports:
Each of these is described in this clause. A formal grammar for the SEDRIS templates abstract scripting language is specified in A Abstract scripting language grammar.
The capabilities and syntax of the SEDRIS templates abstract scripting language are specified in this subclause. A script specified in the SEDRIS abstract scripting language consists of a list of statements. All such scripts shall be syntactically correct according the rules defined in this technical report.
The following lists the rules for defining and using data types:
In this technical report, data type names are italicized when included in prose. Data type values are always specified in monospace fonts.
The String data types specifies a string consisting of a sequence of characters enclosed in double quote characters. For a double quote character to be included in the string, it shall be preceded by a backslash ("\") character. For a backslash character to be included in the string, it shall also be preceded by a backslash character.
EXAMPLE 1 A valid string containing only a single double quote character: "\"".
EXAMPLE 2 A valid string containing only a single backslash character: "\\".
EXAMPLE 3 An empty string: "".
The keyword Void indicates the absence of a value.
An enumerated data type is a named data type whose value set consists of a list of named values. The name of the enumerated data type shall consist of one or more words separated by underscores with the first letter of each word capitalized. The names of the values shall be specified entirely in capital letters.
The following is the structure of an enumerated data type declaration:
enum <Data_Type_Name>: <VALUE_NAME>, <VALUE_NAME>, ...;
enum is a keyword that indicates the start of an enumerated data type declaration. There shall be at least two values for an enumerated data type. The data type name may be used wherever a data type is to be specified.
EXAMPLE An enumerated data type Traffic_Signal_State might be defined as:
enum Traffic_Signal_State: RED, AMBER, GREEN;
The Boolean data type has two valid values: TRUE and FALSE. This is equivalent to an enumerated data type with data type name Boolean and values TRUE and FALSE. The following specifies the Boolean data type as an enumerated data type:
EXAMPLE enum Boolean: TRUE, FALSE;
The Handle data type specifies an integer value that represents an object defined outside the scope of this technical report. An implementation that maintains a complex internal data structure may use variables of this data type to return "handles" to that internal data structure. The exact value of the handle is implementation-dependent. It is the responsibility of the impementation to maintain a correspondence between the handle value and the internal data structure. This allows the internal data structure to be optimized according to some implementation strategy. Access to the data in the internal data structure is through appropriately defined functions.
The Integer data type represents integers in the range [-2 147 483 647..2 147 483 647].
The Float data type specifies a double-precision floating point number as specified in IEC 60559. Within scripts, Float data types are written using the forms specified in ISO/IEC 9899.
A record data type is a named data type whose value set consists of a list of fields each of which consists of a data type and a corresponding field name. The name of the record data type shall consist of one or more words separated by underscores with the first letter of each word capitalized. The names of the fields shall be specified in all lower case with words separated by underscores.
There are two types of record data types: fixed and variant. A fixed record data type always contains the same set of fields. A variant record data type contains a discriminant and a set of named field sets. The discriminant specifies which field set is to be used when accessing the data contained in the record. Each of these will be discussed separately below.
Each field in a record data type is specified as a data type followed by a field name. Field names have the same form as variable names. The following is the structure of a field:
<Data_Type_Name> <field_name>
In a list of fields, each field is separated from adjacent fields by a comma:
<field>, <field>, ...
There is no comma before the first field in the list nor after the last field in a list of fields.
The following is the structure of a fixed record data type declaration:
record <Data_Type_Name>{ <field>, <field>, ... };
record is a keyword that indicates the start of a record data type declaration. There shall be at least one for a record data type. The data type name may be used wherever a data type is to be specified.
EXAMPLE A fixed record data type Script_Polygon might be defined as:
record ScriptPolygon{
Float vtx[*],
Float uv[*],
Float
face_normal,
Float
vertex_normal[*]
};
The following is the structure of a fixed record data type declaration:
record <Data_Type_Name>(<discriminant_field>){
(<DISCRIMINANT_VALUE>: <list_of_fields>),
(<DISCRIMINANT_VALUE>:
<list_of_fields>),
...
(<DISCRIMINANT_VALUE>:
<list_of_fields>)
};
record is a keyword that indicates the start of a record data type declaration. There shall be at least one for a record data type. The data type name may be used wherever a data type is to be specified. The <discriminant_field> shall be a field of data type either Integer or an enumerated data type. There shall be one matching list of fields for each discriminant value allowed. It is an error for a discrriminant value to not have a corresponding list of fields.
EXAMPLE A variant record data type Color_Model_Value might be defined as:
enum Color_Model: RGB, HSV, CMY;
record Color_Model_Value(Color_Model color_model){
(RGB: Float
red, Float blue, Float green),
(HSV: Float
hue, Float saturation, Float value),
(CMY: Float
cyan, Float magenta, Float yellow)
};
Non-array variable declarations have the following structure:
<Data_Type_Name> <variable_name>;
<Data_Type_Name> represents the name of either a pre-defined data type (e.g., String) or the name of an enumerated data type.
<variable_name> represents the name of the variable being defined. A variable name consists of one or more lower case words with each separated by an underscore from adjacent words.
Array variable definitions have the following structure:
<Data_Type_Name> <variable_name>[<MAX_INTEGER_VALUE> | *];
Only single-dimensioned arrays are allowed. The <MAX_INTEGER_VALUE> specifies the maximum length of the array. If the length of the array is unknown, an asterisk is used in place of <MAX_INTEGER_VALUE>.
A non-array variable is referenced by specifying <variable_name>. An array variable is referenced as follows:
<variable_name>[<INTEGER_VALUE> | <integer_variable_name>]
The integer specified by <INTEGER_VALUE> or <integer_variable_name> shall be less than <MAX_INTEGER_VALUE>. An exception shall be generated, if the integer specified in the reference exceeds the maximum dimension of the array.
Table 6.2 specifies the available arithmetic operators.
Table 6.2 — Arithmetic operators
Operator |
Type |
Parameter |
Example |
Result of operator being applied |
---|---|---|---|---|
+ |
Unary |
Numeric |
+ a |
The value of a is multiplied by +1. |
+ |
Binary |
Numeric |
a + b |
The values of a and b are added together. |
- |
Unary |
Numeric |
-a |
The value of a is multiplied by -1. |
- |
Binary |
Numeric |
a - b |
The value of b is subtracted from the value of a. |
* |
Binary |
Numeric |
a * b |
The values of a and b are multiplied together. |
/ |
Binary |
Numeric |
a / b |
The value of a is divided by the value of b. |
Table 6.3 specifies the available logical operators:
Operator |
Type |
Parameter |
Example |
Result of operator being applied |
---|---|---|---|---|
! |
Unary |
Boolean |
!a |
The value is NOT the value of a. |
& |
Binary |
Boolean |
a & b |
The values of a and b are ANDed together. |
| |
Binary |
Boolean |
a | b |
The values of a and b are ORed together. |
Table 6.4 specifies the available relational operators:
Table 6.4 — Relational operators
Operator |
Type |
Parameter |
Example |
Result of operator being applied |
---|---|---|---|---|
= |
Binary |
Numeric |
a = b |
The value of a is compared to the value of b to determine if the values are equal. |
≠ |
Binary |
Numeric |
a ≠ b |
The value of a is compared to the value of b to determine if the values are not equal. |
> |
Binary |
Numeric |
a > b |
The value of a is compared to the value of b to determine if the value of a is greater than the value of b. |
≥ |
Binary |
Numeric |
a ≥ b |
The value of a is compared to the value of b to determine if the value of a is greater than or equal to the value of b. |
< |
Binary |
Numeric |
a < b |
The value of a is compared to the value of b to determine if the value of a is less than the value of b. |
≤ |
Binary |
Numeric |
a ≤ b |
The value of a is compared to the value of b to determine if the value of a is less than or equal to the value of b. |
Table 6.5 specifies the available Property_of operator:
Table 6.5 — Property_of operator
Operator |
Type |
Parameter |
Example |
Result of operator being applied |
---|---|---|---|---|
. |
Binary |
Enumerated, |
a . b |
The value of property a of object b is extracted. |
Table 6.6 specifies the available assignment operator:
Table 6.6 — Assignment operator
Operator |
Type |
Parameter |
Example |
Result of operator being applied |
---|---|---|---|---|
:= |
Binary |
Any but both |
a := b |
The value of b is assigned to be the value of a. |
A function is a named script that performs a specified task and optionally returns a value. A function declaration is structured as follows:
<Return_Data_Type_Name> <FunctionName>(Parameter_Data_Type_Name_0, ...);
<FunctionName> specifies name of the function. Function names consist of one or more words with each word capitalized but not separated from other words. A function can have zero or more parameters. When declaring a function, each parameter shall be specified by a data type name that specifies the required data type for that parameter. <Return_Data_Type_Name> specifies the data type of the return value of the function. If the function has no return value, <Return_Data_Type_Name> shall be specified as Void.
A function reference has the following structure:
<FunctionName>(<parameter_value_0>, ...)
where <FunctionName> is the name of the function and <parameter_value_0> and subsequent parameter values are expressions that have the appropriate value for that data type.
Expressions are combinations of operators and values that, when computed form a value appropriate to the type of expression. The types of values that can be used in an expression are:
Expressions may be grouped by enclosing the groups in parentheses. Expressions within parentheses are evaluated before evaluating outer expressions of which the group is a part. Table 6.7 specifies the precedence of operator evaluation.
Table 6.7 — Expression evaluation precedence
Operator |
Precedence |
Result data type |
---|---|---|
. |
1 |
Data type of the property. |
( |
2 |
Data type of expression within the parentheses. |
* |
3 |
Numeric. |
+ |
4 |
Numeric. |
relational |
5 |
Boolean |
! |
6 |
Boolean |
& |
7 |
Boolean |
:= |
8 |
Data type of the expression on the right side of the assignment operator. |
Within expressions, the order of evaluation of subexpressions of the same precedence is strictly right-to-left. That is, the rightmost expression is evaluated first. The result then forms the rightmost operand for the next portion of the subexpression.
Functions used in expressions shall not have a Void return value.
Arithmetic expressions are expressions in which the operators are arithmetic and the operands are each numeric. Arithmetic expressions may be combined to form a string of expressions. All arithmetic expressions evaluate to a numeric result.
EXAMPLE 1 a + b * c / d - e
The order of evaluation is dictated by the precedence of operators and right-to-left evaluation. The order of evaluation can be controlled by using parentheses to group subexpressions. The following will evaluate the same as the expression in Example 1:
EXAMPLE 2 (a + ((b * (c / d)) - e))
Relational expressions are expressions that compare two values of the same data type to determine a relationship between them. Except for the "=" and "≠" operators, the values shall be numeric. The "=" and "≠" operators may also be used to compare two Boolean values. All relational expressions evaluate to a Boolean value.
EXAMPLE a > b
Logical expressions are expressions that apply logical operations to one or two Boolean values. All logical expressions evaluate to a Boolean value.
EXAMPLE a & b (will result in TRUE if both a and b are TRUE otherwise the value is FALSE)
There are four general types of statements in the SEDRIS Templates abstract scripting language:
Each will be described in this subclause. A statement shall be terminated with a semicolon (";"). Execution flow is from top to bottom in the list of statements in a script unless modified by a control statement.
An assignment statement evaluates an expression and assigns its value to a variable. An assignment statement has the following form:
<variable_name> := <expression>;
A block statement is used to group multiple statements together. A block statement has the following form:
{ <statement> ...};
A Block statement can be used wherever a statement is allowed. This allows multiple statements to be executed even though only a single statement is specified in the grammar.
A function statement is used to invoke a function where the function does not return a value. A function statement has the following form:
<Function Reference>;
NOTE A function that returns a values is considered to be part of an expression. If a value is returned by a function referenced in a function statement, that value will be ignored.
There are two types of control statement: decision statements and looping statements. These statements alter the execution flow of a script.
The IF ELSE decision statement allows a Boolean expression to specify which of two statements to execute. The structure of the IF ELSE decision statement has one of the two following forms:
if (<Boolean Expression>) <StatementA>
else <StatementB>;
if (<Boolean Expression>) <StatementA>;
If <Boolean Expression> has value TRUE, <StatementA> is executed. If <Boolean Expression> has value FALSE, either <StatementB> is executed or execution flow falls to the next statement.
The WHILE DO looping statement allows a Boolean expression to specify whether statement is to be executed. The WHILE DO statement has the following structure:
while (<Boolean Expression>) do <Statement>;
When a WHILE DO statement is encountered during script execution, <Boolean Expression> is evaluated. If the value is TRUE, <Statement> is executed. Then <Boolean Expression> is evaluated again. <Statement> is executed while <Boolean Expression> has value TRUE. When <Boolean Expression> has value FALSE, execution control continues at the statement following the WHILE DO statement.
NOTE Care should be taken to ensure that, at some point, <Boolean Expression> evaluates as FALSE to prevent the loop from executing forever.
Exceptions are reported whenever a script executes in error. Some exceptions are generic:
EXAMPLE A variable is divided by another variable with value zero in an arithmetic expression.
Other exceptions are the result of errors in a function. In this case, each function definition shall explicitly state when exceptions are generated.
A library of script functions are provided that may be invoked as function references. Table 6.8 shows the form in which each library function is described.
Table 6.8 — Function description table
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Display of the function declaration as specified in 6.2.5 Functions. | ||||
Semantics |
A specification of the operation of the function. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
A list of exception that may apply when if this function does not terminate successfully. |
All rows of the table shall be populated. If a parameter of a certain access type is not used, the parameter shall be listed as "None" and no data type shall be specified.
Table 6.9 specifies the AddCoordinate function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID AddCoordinate (Handle obj, Integer index, Float x, Float y, Float z) . | ||||
Semantics |
Set the Euclidean 3D coordinate values. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.20 specifies the GetAspectRatio function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetAspectRatio(Handle obj) | ||||
Semantics |
Get the width of the frustum divided by its height. This value is used for perspective viewing if th use flag of the use_left_right_bottom_top function is FALSE. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.22 specifies the GetBottom function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetBottom(Handle obj) | ||||
Semantics |
Get the Y coordinate of the lower bottom corner of the rectangle in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.24 specifies the GetCameraFar function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetCameraFar(Handle obj) | ||||
Semantics |
Get the distance from camera position to far clipping plane, in metres. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.25 specifies the GetCameraNear function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetCameraNear(Handle obj) | ||||
Semantics |
Get the distance from camera position to near clipping plane, in metres. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.42 specifies the GetEdgeDirection function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Edge_Direction GetEdgeDirection(Handle obj) | ||||
Semantics |
Get whether the target edge direction is forwards or backwards. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.45 specifies the GetFaceDirection function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Face_Direction GetFaceDirection(Handle obj) See comment in Table 6.17. | ||||
Semantics |
Get whether the given topological face is the front or the back. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.52 specifies the GetHorizontalFieldOfView function.
Table 6.52 — GetHorizontalFieldOfView
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetHorizontalFieldOfView(Handle obj) | ||||
Semantics |
Get the angle, in radians, of the horizontal field of view. This value is used for perspective viewing if the use flag of the use_left_right_bottom_top function is FALSE, in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.63 specifies the GetLeft function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetLeft(Handle obj) | ||||
Semantics |
Get the X coordinate of the lower left corner of the rectangle in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.70 specifies the GetMajorAxisLength function.
Table 6.70 — GetMajorAxisLength
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetMajorAxisLength(Handle obj) | ||||
Semantics |
Get the major_axis_length of a ellipse. The major_axis_length field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.71 specifies the GetMajorAxisRadius function.
Table 6.71 — GetMajorAxisRadius
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetMajorAxisRadius(Handle obj) | ||||
Semantics |
Get the radius of the major axes that specify an elliptical cylinder volume relative
to the location of the volume centre. The minor_axis_radius field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.76 specifies the GetMaximumVerticesPerFace function.
Table 6.76 — GetMaximumVerticesPerFace
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Integer GetMaximumVerticesPerFace(Handle obj) | ||||
Semantics |
Get the maximum number of vertices in any one face element. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.77 specifies the GetMeshFaceCount function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Integer GetMeshFaceCount(Handle obj) | ||||
Semantics |
Get the total number of mesh faces in finite element mesh. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.81 specifies the GetMinorAxisLength function.
Table 6.81 — GetMinorAxisLength
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetMinorAxisLength(Handle obj) | ||||
Semantics |
Get the minor_axis_length field of an ellipse. The minor_axis_length field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.82 specifies the GetMinorAxisRadius function.
Table 6.82 — GetMinorAxisRadius
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetMinorAxisRadius(Handle obj) | ||||
Semantics |
Get the radius of the minor axes that specify an elliptical
cylinder volume relative
to the location of the volume centre. The minor_axis_radius field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.87 specifies the GetParallelepipedDimensions funciton.
Table 6.87 — GetParallelepipedDimensions
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Vector GetParallelepipedDimensions(Handle obj) | ||||
Semantics |
Get the length of each of the edges of a parallelepiped volume relative to the location of the volume centre. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.93 specifies the GetProjection function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Camera_Projection_Type GetProjection(Handle obj) |
||||
Semantics |
Get the type of projection. See comments in Table 6.36. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.97 specifies the GetRadius function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetRadius(Handle obj) | ||||
Semantics |
Get the radius of a spherical volume relative to the location of the
volume centre.
The radius field is in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.105 specifies the GetRight function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetRight(Handle obj) | ||||
Semantics |
Get the X coordinate of the upper right corner of the rectangle in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.122 specifies the GetTextureUV function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float[] GetTextureUV(Handle obj, Integer index) | ||||
Semantics |
Get the value of the specified texture coordinate. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.127 specifies the GetTop function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Float GetTop(Handle obj) | ||||
Semantics |
Get the Y coordinate of the upper right corner of the rectanglein the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.151 specifies the SetAdjacentFaceTablePresent function.
Table 6.151 — SetAdjacentFaceTablePresent
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetAdjacentFaceTablePresent(Handle obj, Boolean present) | ||||
Semantics |
Specify whether an adjacent face table is being provided. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.153 specifies the SetApplyToChildren function.
Table 6.153 — SetApplyToChildren
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetApplyToChildren(Handle obj, Boolen apply) | ||||
Semantics |
Provide mechanism for limiting the scope of the light source. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.154 specifies the SetAspectRatio function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetAspectRatio(Handle obj, Float width) | ||||
Semantics |
Specify the width of the frustum divided by its height. This value is used for perspective viewing if th use flag of the use_left_right_bottom_top function is FALSE. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.156 specifies the SetBottom function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetBottom(Handle obj, Float y) | ||||
Semantics |
Specify the Y coordinate of the lower left corner of the rectanglein the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.158 specifies the SetCameraFar function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetCameraFar(Handle obj, Float value) | ||||
Semantics |
Specify the distance from camera position to far clipping plane, in metres. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.159 specifies the SetCameraNear function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetCameraNear(Handle obj, Float value) | ||||
Semantics |
Specify the distance from camera position to near clipping plane, in metres. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.174 specifies the SetEdgeDirection function.
Table 6.174 — SetEdgeDirection
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetEdgeDirection(Handle obj, Edge_Direction direction) |
||||
Semantics |
Specify whether the target edge should be traversed forwards (from start node to end node) or backwards (in the opposite direction). | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.17 specifies the SetFaceDirection function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetFaceDirection(Handle obj, Face_Direction direction) | ||||
Semantics |
Specify whether the given topological face is the front or the back. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.183 specifies the SetHorizontalFieldOfView function.
Table 6.183 — SetHorizontalFieldOfView
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetHorizontalFieldOfView(Handle obj, Float angle) | ||||
Semantics |
Specify the angle, in radians, of the horizontal field of view. This value is used for perspective viewing if the use flag of the use_left_right_bottom_top function is FALSE, in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.194 specifies the SetLeft function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetLeft(Handle obj, Float x) | ||||
Semantics |
Specify the X coordinate of the lower left corner of the rectangle in the near clipping plane. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.201 specifies the SetMajorAxisLength function.
Table 6.201 — SetMajorAxisLength
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void set_major_axis_length(Handle obj, Float length) | ||||
Semantics |
Set the major_axis_length of a ellipse. The major_axis_length field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.202 specifies the SetMajorAxisRadius function.
Table 6.202 — SetMajorAxisRadius
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetMajorAxisRadius(Handle obj, Float radius) | ||||
Semantics |
Set the radius of the major axes that specify an elliptical cylinder volume relative
to the location of the volume centre. The minor_axis_radius field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.207 specifies the SetMaximumVerticesPerFace function.
Table 6.207 — SetMaximumVerticesPerFace
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetMaximumVerticesPerFace(Handle obj, Integer count) | ||||
Semantics |
Specify the maximum number of vertices in any one face element. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.208 specifies the SetMeshFaceCount function.
Table 6.208 — SetMeshFaceCount
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetMeshFaceCount(Handle obj, Integer count) | ||||
Semantics |
Specify the total number of mesh faces in a finite element mesh. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.212 specifies the SetMinorAxisLength function.
Table 6.212 — SetMinorAxisLength
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetMinorAxisLength(Handle obj, Float length) | ||||
Semantics |
Set the minor_axis_length field of an ellipse. The minor_axis_length field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.213 specifies the SetMinorAxisRadius function.
Table 6.213 — SetMinorAxisRadius
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetMinorAxisRadius(Handle obj, Float radius) | ||||
Semantics |
Set the radius of the minor axes that specify an elliptical cylinder volume relative
to the location of the volume centre. The minor_axis_radius field is specified in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.218 specifies the SetParallelepipedDimensions function.
Table 6.218 — SetParallelepipedDimensions
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetParallelepipedDimensions(Handle obj, Float width, Float depth, Float height) | ||||
Semantics |
Specify the length of each of the edges of a parallelepiped volume relative to the location of the volume centre. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.224 specifies the SetProjection function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetProjection(Handle obj, Camera_Projection_Type projection_type) | ||||
Semantics |
Specifies the type of projection. NOTE: ORTHOGRAPHIC is not a perspective projection but is instead a parallel projection in which the projectors are perpendicular to the reference plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.228 specifies the SetRadius function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetRadius(Handle obj, Float radius) | ||||
Semantics |
Specify the radius of a spherical volume relative to the location of the
volume centre.
The radius field is in metres. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.236 specifies the SetRight function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetRight(Handle obj, Float x) | ||||
Semantics |
Specify the X coordinate of the upper right corner of the rectangle in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.253 specifies the SetTextureUV function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
VOID SetTextureUV(Handle obj, Float u, Float v) | ||||
Semantics |
Set the specified texture coordinate. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.257 specifies the SetTop function.
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetTop(Handle obj, Float y) | ||||
Semantics |
Specify the Y coordinate of the upper right corner of the rectangle in the near clipping plane. | ||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
Table 6.264 specifies the SetUseLeftRightBottomTop function.
Table 6.264 — SetUseLeftRightBottomTop
Property | Description | ||||
---|---|---|---|---|---|
Declaration |
Void SetUseLeftRightBottomTop(Handle obj, Boolean use) | ||||
Semantics |
If the value of use parameter is TRUE, use the left, right, bottom, and top functions. These functions are always used for orthographic viewing. but perspective viewing can either use these functions or the field_of_view and aspect_ratio functions. |
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Exceptions |
|
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_TR_24788_Ed1.html