Table of Contents

Struct ProgramPosToMcMap

Namespace
Hi.Numerical.Acts
Assembly
HiMech.dll

The flat form of the program-to-machine closure an ActMcXyzSpiralContour runs its sampled points through (play-core migration P11): the XYZ of a program position through Transformation (the block's composed program-to-MC transform), the ABC the constant modal rotary state Abc_rad – what LinearMotionUtil.CreateProgramPosToMcMap resolves for a non-RTCP arc block. Being data, it is what the act's record for core.dll carries (act_record_t: mat and vec[4] of the mc_xyz_spiral_contour row), where an opaque Func<T, TResult> closure cannot cross and keeps the act on its managed enumerator (HardNcRunner's per-point solve).

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

Constructors

ProgramPosToMcMap(mat4d_t, vec3d_t)

The flat form of the program-to-machine closure an ActMcXyzSpiralContour runs its sampled points through (play-core migration P11): the XYZ of a program position through Transformation (the block's composed program-to-MC transform), the ABC the constant modal rotary state Abc_rad – what LinearMotionUtil.CreateProgramPosToMcMap resolves for a non-RTCP arc block. Being data, it is what the act's record for core.dll carries (act_record_t: mat and vec[4] of the mc_xyz_spiral_contour row), where an opaque Func<T, TResult> closure cannot cross and keeps the act on its managed enumerator (HardNcRunner's per-point solve).

public ProgramPosToMcMap(mat4d_t Transformation, vec3d_t Abc_rad)

Parameters

Transformation mat4d_t

The program-to-machine transformation the point goes through (pos * Transformation).

Abc_rad vec3d_t

The machine ABC, radians, constant across the contour's points.

Properties

Abc_rad

The machine ABC, radians, constant across the contour's points.

public vec3d_t Abc_rad { get; init; }

Property Value

vec3d_t

Transformation

The program-to-machine transformation the point goes through (pos * Transformation).

public mat4d_t Transformation { get; init; }

Property Value

mat4d_t

Methods

Map(vec3d_t)

The closure's arithmetic: new dvec3d_t(programPos * Transformation, Abc_rad), bit for bit what LinearMotionUtil's closure computed before the map existed.

public dvec3d_t Map(vec3d_t programPos)

Parameters

programPos vec3d_t

A position in program coordinates.

Returns

dvec3d_t

The machine coordinate: the transformed point, Normal the ABC in radians.