naev
0.10.4
src
physics.h
1
/*
2
* See Licensing and Copyright notice in naev.h
3
*/
4
#pragma once
5
6
#include "vec2.h"
7
8
/*
9
* Update options.
10
*/
11
#define SOLID_UPDATE_RK4 0
12
#define SOLID_UPDATE_EULER 1
17
typedef
struct
Solid_ {
18
double
mass
;
19
double
dir
;
20
double
dir_vel
;
21
vec2
vel
;
22
vec2
pos
;
23
double
thrust
;
24
double
speed_max
;
25
void (*update)(
struct
Solid_*, double );
26
}
Solid
;
27
28
/*
29
* solid manipulation
30
*/
31
double
solid_maxspeed(
const
Solid
*s,
double
speed,
double
thrust );
32
void
solid_init(
Solid
* dest,
double
mass,
double
dir,
33
const
vec2
* pos,
const
vec2
* vel,
int
update );
34
Solid
* solid_create(
double
mass,
double
dir,
35
const
vec2
* pos,
const
vec2
* vel,
int
update );
36
void
solid_free(
Solid
* src );
37
38
/*
39
* misc
40
*/
41
double
angle_diff(
double
ref,
double
a );
Solid
Represents a solid in the game.
Definition:
physics.h:17
Solid::dir_vel
double dir_vel
Definition:
physics.h:20
Solid::speed_max
double speed_max
Definition:
physics.h:24
Solid::vel
vec2 vel
Definition:
physics.h:21
Solid::thrust
double thrust
Definition:
physics.h:23
Solid::dir
double dir
Definition:
physics.h:19
Solid::mass
double mass
Definition:
physics.h:18
Solid::pos
vec2 pos
Definition:
physics.h:22
vec2
Represents a 2d vector.
Definition:
vec2.h:32
Generated by
1.9.3