diff options
| author | Thomas Herzog | 2017-05-19 22:12:14 +0000 |
|---|---|---|
| committer | GitHub | 2017-05-19 22:12:14 +0000 |
| commit | 6fd217d7c3afb1f7e4c68f9ab40883593f617a7e (patch) | |
| tree | e1c16a806b9b5ec71730a5b09c2ff6a4b17bc93c /modules/gdnative/godot/godot_vector3.h | |
| parent | a75623f436c215e107ede321afa08a1897552deb (diff) | |
| parent | abcb044bf3f197ef68715f89abec77102bbe58ec (diff) | |
| download | godot-6fd217d.tar.gz godot-6fd217d.tar.zst godot-6fd217d.zip | |
Merge pull request #8821 from touilleMan/gdnative_missing_functions
Finish implementing GDnative builtins bindings
Diffstat (limited to 'modules/gdnative/godot/godot_vector3.h')
| -rw-r--r-- | modules/gdnative/godot/godot_vector3.h | 120 |
1 files changed, 70 insertions, 50 deletions
diff --git a/modules/gdnative/godot/godot_vector3.h b/modules/gdnative/godot/godot_vector3.h index 654ddd779..8e2aed817 100644 --- a/modules/gdnative/godot/godot_vector3.h +++ b/modules/gdnative/godot/godot_vector3.h @@ -37,74 +37,94 @@ extern "C" { #include <stdint.h> #ifndef GODOT_CORE_API_GODOT_VECTOR3_TYPE_DEFINED +#define GODOT_CORE_API_GODOT_VECTOR3_TYPE_DEFINED typedef struct godot_vector3 { uint8_t _dont_touch_that[12]; } godot_vector3; #endif -#define GODOT_VECTOR3_AXIX_X 0 -#define GODOT_VECTOR3_AXIX_Y 1 -#define GODOT_VECTOR3_AXIX_Z 2 - #include "../godot.h" #include "godot_basis.h" -godot_vector3 GDAPI godot_vector3_new(const godot_real p_x, const godot_real p_y, const godot_real p_z); +typedef enum { + GODOT_VECTOR3_AXIS_X, + GODOT_VECTOR3_AXIS_Y, + GODOT_VECTOR3_AXIS_Z, +} godot_vector3_axis; + +void GDAPI godot_vector3_new(godot_vector3 *r_dest, const godot_real p_x, const godot_real p_y, const godot_real p_z); + +godot_string GDAPI godot_vector3_as_string(const godot_vector3 *p_self); + +godot_int GDAPI godot_vector3_min_axis(const godot_vector3 *p_self); + +godot_int GDAPI godot_vector3_max_axis(const godot_vector3 *p_self); + +godot_real GDAPI godot_vector3_length(const godot_vector3 *p_self); + +godot_real GDAPI godot_vector3_length_squared(const godot_vector3 *p_self); + +godot_bool GDAPI godot_vector3_is_normalized(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_normalized(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_inverse(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_snapped(const godot_vector3 *p_self, const godot_real p_by); + +godot_vector3 GDAPI godot_vector3_rotated(const godot_vector3 *p_self, const godot_vector3 *p_axis, const godot_real p_phi); + +godot_vector3 GDAPI godot_vector3_linear_interpolate(const godot_vector3 *p_self, const godot_vector3 *p_b, const godot_real p_t); + +godot_vector3 GDAPI godot_vector3_cubic_interpolate(const godot_vector3 *p_self, const godot_vector3 *p_b, const godot_vector3 *p_pre_a, const godot_vector3 *p_post_b, const godot_real p_t); + +godot_real GDAPI godot_vector3_dot(const godot_vector3 *p_self, const godot_vector3 *p_b); + +godot_vector3 GDAPI godot_vector3_cross(const godot_vector3 *p_self, const godot_vector3 *p_b); + +godot_basis GDAPI godot_vector3_outer(const godot_vector3 *p_self, const godot_vector3 *p_b); + +godot_basis GDAPI godot_vector3_to_diagonal_matrix(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_abs(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_floor(const godot_vector3 *p_self); + +godot_vector3 GDAPI godot_vector3_ceil(const godot_vector3 *p_self); + +godot_real GDAPI godot_vector3_distance_to(const godot_vector3 *p_self, const godot_vector3 *p_b); + +godot_real GDAPI godot_vector3_distance_squared_to(const godot_vector3 *p_self, const godot_vector3 *p_b); + +godot_real GDAPI godot_vector3_angle_to(const godot_vector3 *p_self, const godot_vector3 *p_to); + +godot_vector3 GDAPI godot_vector3_slide(const godot_vector3 *p_self, const godot_vector3 *p_n); + +godot_vector3 GDAPI godot_vector3_bounce(const godot_vector3 *p_self, const godot_vector3 *p_n); + +godot_vector3 GDAPI godot_vector3_reflect(const godot_vector3 *p_self, const godot_vector3 *p_n); + +godot_vector3 GDAPI godot_vector3_operator_add(const godot_vector3 *p_self, const godot_vector3 *p_b); -void GDAPI godot_vector3_set_axis(godot_vector3 *p_v, const godot_int p_axis, const godot_real p_val); -godot_real GDAPI godot_vector3_get_axis(const godot_vector3 *p_v, const godot_int p_axis); +godot_vector3 GDAPI godot_vector3_operator_substract(const godot_vector3 *p_self, const godot_vector3 *p_b); -godot_int GDAPI godot_vector3_min_axis(const godot_vector3 *p_v); -godot_int GDAPI godot_vector3_max_axis(const godot_vector3 *p_v); +godot_vector3 GDAPI godot_vector3_operator_multiply_vector(const godot_vector3 *p_self, const godot_vector3 *p_b); -godot_real GDAPI godot_vector3_length(const godot_vector3 *p_v); -godot_real GDAPI godot_vector3_length_squared(const godot_vector3 *p_v); +godot_vector3 GDAPI godot_vector3_operator_multiply_scalar(const godot_vector3 *p_self, const godot_real p_b); -void GDAPI godot_vector3_normalize(godot_vector3 *p_v); -godot_vector3 GDAPI godot_vector3_normalized(const godot_vector3 *p_v); +godot_vector3 GDAPI godot_vector3_operator_divide_vector(const godot_vector3 *p_self, const godot_vector3 *p_b); -godot_vector3 GDAPI godot_vector3_inverse(const godot_vector3 *p_v); -void GDAPI godot_vector3_zero(godot_vector3 *p_v); -void GDAPI godot_vector3_snap(godot_vector3 *p_v, const godot_real val); -godot_vector3 GDAPI godot_vector3_snapped(const godot_vector3 *p_v, const godot_real val); -void GDAPI godot_vector3_rotate(godot_vector3 *p_v, const godot_vector3 p_axis, const godot_real phi); -godot_vector3 GDAPI godot_vector3_rotated(const godot_vector3 *p_v, - const godot_vector3 p_axis, const godot_real phi); -godot_vector3 GDAPI godot_vector3_linear_interpolate(const godot_vector3 *p_v, - const godot_vector3 p_b, const godot_real t); -godot_vector3 GDAPI godot_vector3_cubic_interpolate(const godot_vector3 *p_v, - const godot_vector3 p_b, const godot_vector3 p_pre_a, - const godot_vector3 p_post_b, const godot_real t); -godot_vector3 GDAPI godot_vector3_cubic_interpolaten(const godot_vector3 *p_v, - const godot_vector3 p_b, const godot_vector3 p_pre_a, - const godot_vector3 p_post_b, const godot_real t); -godot_vector3 GDAPI godot_vector3_cross(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_real GDAPI godot_vector3_dot(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_basis GDAPI godot_vector3_outer(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_basis GDAPI godot_vector3_to_diagonal_matrix(const godot_vector3 *p_v); -godot_vector3 GDAPI godot_vector3_abs(const godot_vector3 *p_v); -godot_vector3 GDAPI godot_vector3_floor(const godot_vector3 *p_v); -godot_vector3 GDAPI godot_vector3_ceil(const godot_vector3 *p_v); +godot_vector3 GDAPI godot_vector3_operator_divide_scalar(const godot_vector3 *p_self, const godot_real p_b); -godot_real GDAPI godot_vector3_distance_to(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_real GDAPI godot_vector3_distance_squared_to(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_real GDAPI godot_vector3_angle_to(const godot_vector3 *p_v, const godot_vector3 p_b); +godot_bool GDAPI godot_vector3_operator_equal(const godot_vector3 *p_self, const godot_vector3 *p_b); -godot_vector3 GDAPI godot_vector3_slide(const godot_vector3 *p_v, const godot_vector3 p_vec); -godot_vector3 GDAPI godot_vector3_bounce(const godot_vector3 *p_v, const godot_vector3 p_vec); -godot_vector3 GDAPI godot_vector3_reflect(const godot_vector3 *p_v, const godot_vector3 p_vec); +godot_bool GDAPI godot_vector3_operator_less(const godot_vector3 *p_self, const godot_vector3 *p_b); -godot_vector3 GDAPI godot_vector3_operator_add(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_vector3 GDAPI godot_vector3_operator_subtract(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_vector3 GDAPI godot_vector3_operator_multiply_vector(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_vector3 GDAPI godot_vector3_operator_multiply_scalar(const godot_vector3 *p_v, const godot_real p_b); -godot_vector3 GDAPI godot_vector3_operator_divide_vector(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_vector3 GDAPI godot_vector3_operator_divide_scalar(const godot_vector3 *p_v, const godot_real p_b); +godot_vector3 GDAPI godot_vector3_operator_neg(const godot_vector3 *p_self); -godot_bool GDAPI godot_vector3_operator_equal(const godot_vector3 *p_v, const godot_vector3 p_b); -godot_bool GDAPI godot_vector3_operator_less(const godot_vector3 *p_v, const godot_vector3 p_b); +void GDAPI godot_vector3_set_axis(godot_vector3 *p_self, const godot_vector3_axis p_axis, const godot_real p_val); -godot_string GDAPI godot_vector3_to_string(const godot_vector3 *p_v); +godot_real GDAPI godot_vector3_get_axis(const godot_vector3 *p_self, const godot_vector3_axis p_axis); #ifdef __cplusplus } |
