Struct ProgramPosToMcMap
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
Transformationmat4d_tThe program-to-machine transformation the point goes through (
pos * Transformation).Abc_radvec3d_tThe 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
Transformation
The program-to-machine transformation the point goes through (pos * Transformation).
public mat4d_t Transformation { get; init; }
Property Value
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
programPosvec3d_tA position in program coordinates.