summaryrefslogtreecommitdiff
path: root/src/math.h
blob: 13f4d635c30800eb4d9a4239782b3e5d16ee91af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef _HACKVR_MATH_H_
#define _HACKVR_MATH_H_

#include "common.h" //should define c3_t

#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

real distance2(c2_t p1,c2_t p2);
c2_t rotate_c2(c2_t p1,c2_t p2,radians dr);
c3_t rotate_c3_xr(c3_t p1,c3_t p2,radians xr);
c3_t rotate_c3_yr(c3_t p1,c3_t p2,radians yr);
c3_t rotate_c3_zr(c3_t p1,c3_t p2,radians zr);
c3_group_rel_t *get_group_relative(char *id);
radians d2r(degrees d);
degrees r2d(radians r);
radians points_to_angle(c2_t p1,c2_t p2);
int between_angles(degrees d,real lower,real upper);
c3_s_t apply_group_relative(c3_s_t s,c3_group_rel_t *group_rel);
c3_t c3_add(c3_t p1,c3_t p2);
c2_t c2_add(c2_t p1,c2_t p2);
real distance3(c3_t p1,c3_t p2);
void print_point(c3_t p);

int isLeft(c2_t, c2_t, c2_t);
int cn_PnPoly(c2_t, c2_t *, int);
int wn_PnPoly(c2_t, c2_t *, int);
int epoch_PnPoly(c2_t, c2_t *,int);
#endif