naev 0.12.5
vec3.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6typedef struct vec3_ {
7 double v[3];
8} vec3;
9
10void vec3_print( const vec3 *v );
11void vec3_copy( vec3 *o, const vec3 *i );
12
13void vec3_add( vec3 *out, const vec3 *a, const vec3 *b );
14void vec3_sub( vec3 *out, const vec3 *a, const vec3 *b );
15void vec3_wadd( vec3 *out, const vec3 *a, const vec3 *b, double wa, double wb );
16void vec3_max( vec3 *out, const vec3 *a, const vec3 *b );
17void vec3_min( vec3 *out, const vec3 *a, const vec3 *b );
18double vec3_dot( const vec3 *a, const vec3 *b );
19void vec3_cross( vec3 *out, const vec3 *a, const vec3 *b );
20void vec3_normalize( vec3 *a );
21double vec3_dist( const vec3 *a, const vec3 *b );
22double vec3_length( const vec3 *a );
23void vec3_scale( vec3 *v, double s );
24
25double vec3_distPointTriangle( const vec3 *point, const vec3 tri[3] );
Definition vec3.h:6