36 explicit PathFillet(QObject *parent =
nullptr);
58 virtual bool configure(QWidget *callingUi =
nullptr);
68 enum arc_center_results { CENTER_FOUND, COINCIDENT_POINTS, INSUFFICIENT_RADIUS };
73 void setNewWaypoint(
int index,
float *pos,
float velocity,
float curvature);
75 int addNonCircleToSwitchingLoci(
float position[3],
float finalVelocity,
float radius,
79 float VectorMagnitude(
float *);
82 double VectorMagnitude(
double *);
85 float circular_modulus_rad(
float err);
88 enum arc_center_results find_arc_center(
float start_point[2],
float end_point[2],
float radius,
89 float center[2],
bool clockwise,
bool minor);
92 float measure_arc_rad(
float oldPosition_NE[2],
float newPosition_NE[2],
float arcCenter_NE[2]);
95 float angle_between_2d_vectors(
float a[2],
float b[2]);
98 #endif // PATHFILLET_H
virtual bool configure(QWidget *callingUi=nullptr)=0
virtual bool processPath(FlightDataModel *model)=0
virtual bool verifyPath(FlightDataModel *model, QString &err)=0