Table of Contents

Struct EulerSequence

Namespace
Hi.NcParsers.NcWriteback
Assembly
HiMech.dll

An euler rotation sequence: three axis rotations applied in FirstSecondThird order, composing to R(Third)·R(Second)·R(First) in this codebase's row-vector matrix convention (mirroring how IsoG68p2TiltSyntax composes G68.2 I/J/K). Adjacent axes must differ; the twelve valid sequences split into the proper-euler family (First == Third, e.g. ZXZ) and the Tait-Bryan family (all three axes distinct, e.g. XYZ roll-pitch-yaw).

public readonly record struct EulerSequence : IEquatable<EulerSequence>
Implements
Inherited Members
Extension Methods

Constructors

EulerSequence(EulerAxis, EulerAxis, EulerAxis)

Creates a sequence; adjacent axes must differ (a repeated adjacent axis folds two rotations into one and cannot span SO(3)).

public EulerSequence(EulerAxis first, EulerAxis second, EulerAxis third)

Parameters

first EulerAxis
second EulerAxis
third EulerAxis

Exceptions

ArgumentException

When second equals first or third.

Fields

Xyz

Roll-pitch-yaw (X, then Y, then Z) — e.g. the Fanuc G68.2 P1 format.

public static readonly EulerSequence Xyz

Field Value

EulerSequence

Zxz

The Fanuc G68.2 standard-format sequence (euler angles about Z, then X, then Z) — the default this writeback layer emits.

public static readonly EulerSequence Zxz

Field Value

EulerSequence

Properties

First

Axis of the first applied rotation (G68.2 I in the ZXZ default).

public EulerAxis First { get; }

Property Value

EulerAxis

IsProperEuler

True for the proper-euler family (first axis reused as the third).

public bool IsProperEuler { get; }

Property Value

bool

Second

Axis of the second applied rotation (G68.2 J in the ZXZ default).

public EulerAxis Second { get; }

Property Value

EulerAxis

Third

Axis of the third applied rotation (G68.2 K in the ZXZ default).

public EulerAxis Third { get; }

Property Value

EulerAxis

Methods

ToString()

Returns the fully qualified type name of this instance.

public override string ToString()

Returns

string

The fully qualified type name.