#ifndef Spline_h
#define Spline_h
#include "Energia.h"
#include <Command.h>
#include <Machine.h>
class SplineAxis;
class Axis;
typedef void (SplineAxis::*BroadcastToSplineAxes)();
// This class performs interpolations linear and cubic Bezier
class Spline : public Command {
static const char myName[7];
void calculateProgramTarget();
void broadcastToSplineAxes(
BroadcastToSplineAxes method );
public:
virtual const char*
name();
Spline(
char*,
Axis* firstMachineAxis,
String* msgPtr );
~Spline();
SplineAxis* firstAxis;
StepControl stepControl;
bool aborting;
bool execute(
Machine* machine );
void trackPadJogAbort(
Machine* machine );
void report(
Machine* machine,
String* msgPtr );
void reportInterpolationStatus(
Machine* machine,
String* msgPtr );
};
#endif