You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
/**
|
|
* FILENAME: World
|
|
* DESCRIPTION: World data from Python
|
|
* AUTHOR: Miguel Abreu (m.abreu@fe.up.pt)
|
|
* DATE: 2021
|
|
*/
|
|
|
|
#pragma once
|
|
#include "Vector3f.h"
|
|
#include "Singleton.h"
|
|
#include "Matrix4D.h"
|
|
#include "Line6f.h"
|
|
#include <vector>
|
|
#include <array>
|
|
|
|
using namespace std;
|
|
|
|
|
|
class World {
|
|
friend class Singleton<World>;
|
|
|
|
private:
|
|
|
|
World(){};
|
|
|
|
public:
|
|
|
|
//Feet variables: (0) left, (1) right
|
|
bool foot_touch[2]; // is foot touching ground
|
|
Vector3f foot_contact_rel_pos[2]; // foot_transform * translation(foot_contact_pt)
|
|
|
|
bool ball_seen;
|
|
Vector3f ball_rel_pos_cart;
|
|
Vector3f ball_cheat_abs_cart_pos;
|
|
Vector3f my_cheat_abs_cart_pos;
|
|
|
|
struct sLMark {
|
|
bool seen;
|
|
bool isCorner;
|
|
Vector3f pos;
|
|
Vector3f rel_pos;
|
|
};
|
|
|
|
sLMark landmark[8];
|
|
|
|
struct sLine {
|
|
Vector3f start, end;
|
|
sLine(const Vector3f& s, const Vector3f& e) : start(s), end(e) {};
|
|
};
|
|
|
|
vector<sLine> lines_polar;
|
|
|
|
|
|
};
|
|
|
|
typedef Singleton<World> SWorld; |