Blame scene.h

57bda0
57bda0
#ifndef SCENE_H
57bda0
#define SCENE_H
57bda0
57bda0
57bda0
#include "track.h"
57bda0
8ee194
class Model;
57bda0
class Simulator;
8ee194
class Tool;
8ee194
class Collider;
57bda0
57bda0
class Scene {
57bda0
public:
57bda0
    Track track;
57bda0
    Vector3 angles;
57bda0
    Vector3 offset;
57bda0
    int stars_seed;
57bda0
    
57bda0
    Real time;
57bda0
    Real time_forward;
57bda0
    Real time_backward;
57bda0
    Real time_speed;
1bcd85
1bcd85
    Real model_angle;
57bda0
    
8ee194
    Model *model;
57bda0
    Simulator *simulator;
57bda0
    
8ee194
    Vector3 tool_pos;
8ee194
    Vector3 tool_dir;
8ee194
    Tool *tool;
8ee194
    
8ee194
    Collider *collider;
8ee194
    
1bcd85
    bool move_tool;
1bcd85
    bool rotate_model;
1bcd85
    
57bda0
    Scene();
57bda0
    ~Scene();
57bda0
    
57bda0
    Vector4 color_by_time(Real t);
57bda0
    Vector4 color_by_time_future(Real t);
57bda0
    Vector4 color_by_time_past(Real t);
57bda0
    
57bda0
    Real random();
57bda0
    
57bda0
    void update(Real dt);
57bda0
    
57bda0
    void draw_stars();
57bda0
    void draw_axes();
57bda0
    void draw_track();
57bda0
    void draw();
57bda0
};
57bda0
57bda0
57bda0
#endif
57bda0
57bda0
57bda0
57bda0