Class ProgramZeroLegs
- Namespace
- Hi.MachiningSteps
- Assembly
- HiMech.dll
The two legs of a workpiece's program-zero chain as the step pipeline reads them off the
workpiece's topology – program zero to geometry anchor and geometry anchor to program zero –
in one immutable object that every step built on one workpiece instance refers to, in place
of two 128-byte matrices embedded in every step (2026-10-05: over a whole play the embedded
pair was one value on every step). MachiningVolumeRemovalProc builds a holder when its
step cache is refreshed (a workpiece instance swapped in, or the cache cleared) and hands it
to every step until the next refresh; a holder is never written after it is built, so a
reference to one is a whole pair or nothing. A step given one leg through its setter takes a
holder of its own (ProgramToWorkpieceGeomMat4d,
WorkpieceGeomToProgramMat4d). A record: two holders with the
same legs are equal and print their legs, as the two matrices they replace did.
public sealed record ProgramZeroLegs : IEquatable<ProgramZeroLegs>
- Inheritance
-
ProgramZeroLegs
- Implements
- Inherited Members
- Extension Methods
Constructors
ProgramZeroLegs(mat4d_t, mat4d_t)
Initializes a holder of the two legs.
public ProgramZeroLegs(mat4d_t programZeroToWorkpieceGeomMat4d, mat4d_t workpieceGeomToProgramZeroMat4d)
Parameters
programZeroToWorkpieceGeomMat4dmat4d_tThe transformation matrix from program zero to workpiece geometry.
workpieceGeomToProgramZeroMat4dmat4d_tThe transformation matrix from workpiece geometry to program zero.
Properties
Identity
Both legs identity: the placeholder the step pipeline carries while the workpiece has no program-zero chain (such a step is a no-step).
public static ProgramZeroLegs Identity { get; }
Property Value
ProgramZeroToWorkpieceGeomMat4d
The transformation matrix from program zero to workpiece geometry (ProgramToWorkpieceGeomMat4d).
public mat4d_t ProgramZeroToWorkpieceGeomMat4d { get; }
Property Value
WorkpieceGeomToProgramZeroMat4d
The transformation matrix from workpiece geometry to program zero (WorkpieceGeomToProgramMat4d).
public mat4d_t WorkpieceGeomToProgramZeroMat4d { get; }