|
|
|
@ -1,7 +1,25 @@
|
|
|
|
#pragma once
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
#include <vector>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constexpr double degToRad(double degrees)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return degrees * (3.14159265 / 180.0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using stHelixPosition = struct _stHelixPosition
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// MUST be 3 elements: X, Y, Z
|
|
|
|
|
|
|
|
std::array<double, 3> arrCenterPosition;
|
|
|
|
|
|
|
|
std::array<double, 3> arrNormal;
|
|
|
|
|
|
|
|
double AngleDegree{ 0. }; // angle in degree
|
|
|
|
|
|
|
|
double deltaHeight{ 0. }; // height change
|
|
|
|
|
|
|
|
double endRadius{ 0. }; // end radius
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
unsigned long ulDwell{ 0 }; // dwell time in ms
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
using stPointPosition = struct _stPointPosition
|
|
|
|
using stPointPosition = struct _stPointPosition
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// axis position for each point (number of position MUST match number of axis)
|
|
|
|
// axis position for each point (number of position MUST match number of axis)
|
|
|
|
@ -26,6 +44,7 @@ using stMotionPath = struct _stMotionPath
|
|
|
|
// point path
|
|
|
|
// point path
|
|
|
|
std::vector<int> vecAxisId; // list of axis id
|
|
|
|
std::vector<int> vecAxisId; // list of axis id
|
|
|
|
std::vector<stPointPosition> vecPointPath; // list of axis position for each point
|
|
|
|
std::vector<stPointPosition> vecPointPath; // list of axis position for each point
|
|
|
|
|
|
|
|
std::vector<stHelixPosition> vecHelixPath; // list of helix position for each point
|
|
|
|
// speed profile
|
|
|
|
// speed profile
|
|
|
|
stAxSpeed AxSpeed; // speed for each axis
|
|
|
|
stAxSpeed AxSpeed; // speed for each axis
|
|
|
|
int nId{}; // Point Table Id for ECAT
|
|
|
|
int nId{}; // Point Table Id for ECAT
|
|
|
|
|