Butis-C/butis/motor.c

58 lines
3.9 KiB
C

#include "motor.h"
extern inline void bt_motor_reset_fp32(BtMotorFP32* motor);
extern inline void bt_motor_reset_fp64(BtMotorFP64* motor);
extern inline void bt_motor_reset_at_point_fp32(const BgcVector3FP32* point, BtMotorFP32* motor);
extern inline void bt_motor_reset_at_point_fp64(const BgcVector3FP64* point, BtMotorFP64* motor);
extern inline void bt_motor_reset_with_values_fp32(const float x1, const float x2, const float x3, BtMotorFP32* motor);
extern inline void bt_motor_reset_with_values_fp64(const double x1, const double x2, const double x3, BtMotorFP64* motor);
extern inline void bt_motor_copy_fp32(const BtMotorFP32* source, BtMotorFP32* destination);
extern inline void bt_motor_copy_fp64(const BtMotorFP64* source, BtMotorFP64* destination);
extern inline void bt_motor_convert_fp32_to_fp64(const BtMotorFP32* source, BtMotorFP64* destination);
extern inline void bt_motor_convert_fp64_to_fp32(const BtMotorFP64* source, BtMotorFP32* destination);
extern inline void bt_motor_swap_fp32(BtMotorFP32* motor1, BtMotorFP32* motor2);
extern inline void bt_motor_swap_fp64(BtMotorFP64* motor1, BtMotorFP64* motor2);
extern inline void bt_motor_shift_at_fp32(const BtMotorFP32* motor, const BgcVector3FP32* shift, BtMotorFP32* moved);
extern inline void bt_motor_shift_at_fp64(const BtMotorFP64* motor, const BgcVector3FP64* shift, BtMotorFP64* moved);
extern inline void bt_motor_shift_to_fp32(const BtMotorFP32* motor, const BgcVector3FP32* destination, BtMotorFP32* moved);
extern inline void bt_motor_shift_to_fp64(const BtMotorFP64* motor, const BgcVector3FP64* destination, BtMotorFP64* moved);
extern inline void bt_motor_multiply_at_number_fp32(const BtMotorFP32* multiplicand, const float multiplier, BtMotorFP32* product);
extern inline void bt_motor_multiply_at_number_fp64(const BtMotorFP64* multiplicand, const double multiplier, BtMotorFP64* product);
extern inline void bt_motor_divide_at_number_fp32(const BtMotorFP32* divident, const float divisor, BtMotorFP32* quotient);
extern inline void bt_motor_divide_at_number_fp64(const BtMotorFP64* divident, const double divisor, BtMotorFP64* quotient);
extern inline void bt_motor_add_vector_fp32(const BgcVector3FP32* point, const BgcVector3FP32* vector, BtMotorFP32* sum);
extern inline void bt_motor_add_vector_fp64(const BgcVector3FP64* point, const BgcVector3FP64* vector, BtMotorFP64* sum);
extern inline void bt_motor_add_motor_fp32(const BtMotorFP32* motor, BtMotorFP32* sum);
extern inline void bt_motor_add_motor_fp64(const BtMotorFP64* motor, BtMotorFP64* sum);
extern inline void bt_motor_add_scaled_vector_fp32(const BgcVector3FP32* point, const BgcVector3FP32* vector, const float scale, BtMotorFP32* sum);
extern inline void bt_motor_add_scaled_vector_fp64(const BgcVector3FP64* point, const BgcVector3FP64* vector, const double scale, BtMotorFP64* sum);
extern inline void bt_motor_subtract_vector_fp32(const BgcVector3FP32* point, const BgcVector3FP32* vector, BtMotorFP32* difference);
extern inline void bt_motor_subtract_vector_fp64(const BgcVector3FP64* point, const BgcVector3FP64* vector, BtMotorFP64* difference);
extern inline void bt_motor_subtract_scaled_vector_fp32(const BgcVector3FP32* point, const BgcVector3FP32* vector, const float scale, BtMotorFP32* difference);
extern inline void bt_motor_subtract_scaled_vector_fp64(const BgcVector3FP64* point, const BgcVector3FP64* vector, const double scale, BtMotorFP64* differences);
extern inline int bt_motor_is_vector_fp32(const BtMotorFP32* motor);
extern inline int bt_motor_is_vector_fp64(const BtMotorFP64* motor);
extern inline int bt_motor_is_screw_fp32(const BtMotorFP32* motor);
extern inline int bt_motor_is_screw_fp64(const BtMotorFP64* motor);
extern inline void bt_motor_make_screw_fp32(BtMotorFP32* motor);
extern inline void bt_motor_make_screw_fp64(BtMotorFP64* motor);
extern inline void bt_motor_get_screw_fp32(const BtMotorFP32* motor, BtMotorFP32* screw);
extern inline void bt_motor_get_screw_fp64(const BtMotorFP64* motor, BtMotorFP64* screw);