BRender Technical Reference Manual:4 Data Structures (Alphabetical Reference):br_euler
Next|Prev|Up
The Structure
Members
Arithmetic
Conversion
BrEulerToQuat()
BrEulerToMatrix34()
BrEulerToMatrix4()
Copy/Assign
Initialisation

` br_euler`

The Structure

Euler
*1 angles can be used to represent the orientation of an object. Three separate rotations are applied in turn, in a specific order. Euler angles can be either static or relative. With relative Euler angles, the rotations are performed around axes relative to the rotations already performed. With static Euler angles, the rotations are performed around static axes.

The `typedef`

(See `angles.h `for precise declaration and ordering)

`br_angle a First angle`

`br_angle b Second angle`

`br_angle c Third angle`

`br_uint_8 order Rotation order (static/relative)`

Related Functions

Maths

See `BrMatrix34ToEuler()`204, `BrMatrix4ToEuler()`221, `BrQuatToEuler()`314.

Related Structures

Maths

See `br_transform`339.

Members

`br_angle a`

First angle of rotation.

`br_angle b`

Second angle of rotation.

`br_angle c`

Third angle of rotation.

`br_uint_8 order`

The order in which the angles of rotation are applied. The following symbols define the set of values which may be used. The first three letters (of the suffix to `BR_EULER`) indicate the order in which rotations occur about which axes. The last letter indicates whether the rotations are static or relative.

For Example

`BR_EULER_XYZ_S `is equivalent to the matrix transform:

`BR_EULER_XZY_R `is equivalent to the matrix transform:

Arithmetic

See `br_transform`339.

Conversion

From Quaternions, Matrices and Transforms

See `BrQuatToEuler()`
314, `BrMatrix34ToEuler()`204, `BrTransformToTransform()`343.

To Quaternions, Matrices and Transforms

See `BrEulerToQuat()`120, `BrEulerToMatrix34()`120, and `BrEulerToMatrix4()`121` `as described below.

Also see `BrTransformToTransform()`343.

`BrEulerToQuat()`

Description:
Convert a `br_euler`
118 to a quaternion, that would have the same transformational effect.

Declaration:
`br_quat* BrEulerToQuat(br_quat* q, br_euler* euler)`

Arguments:
`br_quat * q`

A pointer to the destination quaternion to receive the conversion.

`br_euler * euler`

A pointer to the source Euler angle.

Result:
`br_quat *`

Returns `q `for convenience.

`BrEulerToMatrix34()`

Description:
Convert a `br_euler`
118 to a 3D affine matrix, that would have the same transformational effect.

Declaration:
`br_matrix34* BrEulerToMatrix34(br_matrix34* mat, const br_euler* euler)`

Arguments:
`br_matrix34 * mat`

A pointer to the destination matrix to receive the conversion.

`const br_euler * euler`

A pointer to the source Euler angle.

Result:
`br_matrix34 *`

Returns `mat `for convenience.

`BrEulerToMatrix4()`

Description:
Convert a `br_euler`
118 to a 3D affine matrix, that would have the same transformational effect.

Declaration:
`br_matrix4* BrEulerToMatrix4(br_matrix4* mat, const br_euler* euler)`

Arguments:
`br_matrix4 * mat`

A pointer to the destination matrix to receive the conversion.

`const br_euler * euler`

A pointer to the source Euler angle.

Result:
`br_matrix4 *`

Returns `mat `for convenience.

Remarks:
Equivalent to `BrEulerToMatrix34()`120.

Copy/Assign

Copy by assignment. Freely reference.

Initialisation

Initialise by member (use `BR_ANGLE_DEG() `or `BR_ANGLE_RAD()`) or structure assignment. Zero is a valid order.

Generated with
CERN WebMaker