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_transform339.

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:

See br_matrix34187.

Arithmetic

See br_transform339.

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