summaryrefslogtreecommitdiff
path: root/app/bin/tbezier.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/tbezier.h')
-rw-r--r--app/bin/tbezier.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/app/bin/tbezier.h b/app/bin/tbezier.h
index 823992e..5699eca 100644
--- a/app/bin/tbezier.h
+++ b/app/bin/tbezier.h
@@ -21,9 +21,10 @@
*/
#include "common.h"
-#include "track.h"
+#include "track.h" //- drawLineType
-typedef struct {
+typedef struct extraDataBezier_t {
+ extraDataBase_t base;
coOrd pos[4];
DIST_T minCurveRadius;
ANGLE_T a0, a1;
@@ -33,7 +34,7 @@ typedef struct {
DIST_T segsWidth;
wDrawColor segsColor;
drawLineType_e lineType;
- } BezierData_t;
+ } extraDataBezier_t;
void BezierSplit(coOrd[4], coOrd[4], coOrd[4] , double );
@@ -45,16 +46,18 @@ double BezierCurvature(coOrd[4], double , coOrd *);
double BezierMaxCurve(coOrd[4]);
double BezierMathMinRadius(coOrd[4]);
coOrd BezierMathFindNearestPoint(coOrd *, coOrd[4] , int );
-track_p NewBezierTrack(coOrd[4], trkSeg_t * , int );
-track_p NewBezierLine(coOrd[4], trkSeg_t * , int, wDrawColor, DIST_T);
+void SetBezierData( track_p p, coOrd pos[4], wDrawColor color, DIST_T width );
+track_p NewBezierTrack(coOrd[4], trkSeg_p , int );
+track_p NewBezierLine(coOrd[4], trkSeg_p , int, wDrawColor, DIST_T);
DIST_T BezierMathDistance( coOrd *, coOrd[4], int , double * );
-void FixUpBezier(coOrd[4], struct extraData*, BOOL_T);
+void FixUpBezier(coOrd[4], struct extraDataBezier_t*, BOOL_T);
void FixUpBezierSeg(coOrd[4], trkSeg_p , BOOL_T);
void FixUpBezierSegs(trkSeg_p p,int segCnt);
BOOL_T GetBezierSegmentFromTrack(track_p, trkSeg_p);
BOOL_T GetTracksFromBezierTrack(track_p trk, track_p newTracks[2]);
BOOL_T GetTracksFromBezierSegment(trkSeg_p bezSeg, track_p newTracks[2], track_p old);
void SetBezierLineType( track_p trk, int width );
+BOOL_T GetBezierMiddle( track_p, coOrd * );
DIST_T BezierDescriptionDistance(coOrd pos,track_p trk, coOrd *, BOOL_T, BOOL_T * );
STATUS_T BezierDescriptionMove(track_p trk,wAction_t action,coOrd pos );