#pragma once #include using stPointPosition = struct _stPointPosition { // axis position for each point (number of position MUST match number of axis) std::vector vecAxisPosition; // unsigned long ulDwell{ 0 }; // dwell time in ms }; using stAxSpeed = struct _stAxSpeed { double dStartSpeed{ 0. }; // axis start speed double dMaxSpeed{ 0. }; // axis max speed double dEndSpeed{ 0. }; // axis end speed // reserved double dSCurve{ 0.5 }; // s-curve double dAcc{ 0. }; // axis acceleration double dDec{ 0. }; // axis deceleration }; using stMotionPath = struct _stMotionPath { // point path std::vector vecAxisId; // list of axis id std::vector vecPointPath; // list of axis position for each point // speed profile stAxSpeed AxSpeed; // speed for each axis int nId{}; // Point Table Id for ECAT bool bUseAbsolutePos{}; // true: absolute position, false: relative position (default) };