Files
auto_planner/game/motion.h
T

52 lines
986 B
C
Raw Normal View History

2024-01-06 13:43:22 -07:00
#pragma once
#include "math/mathutils.h"
#include "../include/SDL.h"
#include <stdint.h>
#include <stdbool.h>
typedef enum {
RED_ONE,
RED_TWO,
RED_THREE,
BLUE_ONE,
BLUE_TWO,
BLUE_THREE,
} StartPos;
typedef struct {
double startx, starty;
double w_meters;
double h_meters;
double xy_speed; // meters per second
double rot_speed; // radians per second
} Field;
typedef struct {
double leftx;
double lefty;
double rightx;
double righty;
uint32_t time;
} MotionPoint;
#define PATH_INIT_SIZE 700
typedef struct {
char *name;
MotionPoint *points;
uint32_t cap;
uint32_t len;
point *odo_path;
SDL_Rect bounding_box;
} MotionPath;
MotionPath load_path(const char *filename, Field *field);
void save_path(MotionPath *path);
bool free_path(MotionPath *path);
void build_odo_mpath(MotionPath *path, Field *field);
// void build_odo_bpath(MotionPath *path, Bezier *beziers);