bgc-c/basic-geometry/position3.c

49 lines
4.1 KiB
C

#include "position3.h"
extern inline void bgc_fp32_position3_reset(BGC_FP32_Position3 * node);
extern inline void bgc_fp64_position3_reset(BGC_FP64_Position3 * node);
extern inline void bgc_fp32_position3_make(const BGC_FP32_Versor * turn, const BGC_FP32_Vector3 * shift, BGC_FP32_Position3 * position);
extern inline void bgc_fp64_position3_make(const BGC_FP64_Versor * turn, const BGC_FP64_Vector3 * shift, BGC_FP64_Position3 * position);
extern inline void bgc_fp32_position3_copy(const BGC_FP32_Position3 * source, BGC_FP32_Position3 * destination);
extern inline void bgc_fp64_position3_copy(const BGC_FP64_Position3 * source, BGC_FP64_Position3 * destination);
extern inline void bgc_fp32_position3_swap(BGC_FP32_Position3 * first, BGC_FP32_Position3 * second);
extern inline void bgc_fp64_position3_swap(BGC_FP64_Position3 * first, BGC_FP64_Position3 * second);
extern inline void bgc_fp64_position3_convert_to_fp32(const BGC_FP64_Position3 * source, BGC_FP32_Position3 * destination);
extern inline void bgc_fp32_position3_convert_to_fp64(const BGC_FP32_Position3 * source, BGC_FP64_Position3 * destination);
extern inline int bgc_fp32_position3_is_idle(const BGC_FP32_Position3 * position);
extern inline int bgc_fp64_position3_is_idle(const BGC_FP64_Position3 * position);
extern inline void bgc_fp32_position3_invert(BGC_FP32_Position3 * position);
extern inline void bgc_fp64_position3_invert(BGC_FP64_Position3 * position);
extern inline void bgc_fp32_position3_get_inverse(const BGC_FP32_Position3 * position, BGC_FP32_Position3 * inverted);
extern inline void bgc_fp64_position3_get_inverse(const BGC_FP64_Position3 * position, BGC_FP64_Position3 * inverted);
extern inline void bgc_fp32_position3_combine(const BGC_FP32_Position3 * first, const BGC_FP32_Position3 * second, BGC_FP32_Position3 * combination);
extern inline void bgc_fp64_position3_combine(const BGC_FP64_Position3 * first, const BGC_FP64_Position3 * second, BGC_FP64_Position3 * combination);
extern inline void bgc_fp32_position3_exclude(const BGC_FP32_Position3 * base, const BGC_FP32_Position3 * excludant, BGC_FP32_Position3 * difference);
extern inline void bgc_fp64_position3_exclude(const BGC_FP64_Position3 * base, const BGC_FP64_Position3 * excludant, BGC_FP64_Position3 * difference);
extern inline void bgc_fp32_position3_get_outward_affine(const BGC_FP32_Position3 * position, BGC_FP32_Affine3 * outward_affine_map);
extern inline void bgc_fp64_position3_get_outward_affine(const BGC_FP64_Position3 * position, BGC_FP64_Affine3 * outward_affine_map);
extern inline void bgc_fp32_position3_get_inward_affine(const BGC_FP32_Position3 * position, BGC_FP32_Affine3 * inward_affine_map);
extern inline void bgc_fp64_position3_get_inward_affine(const BGC_FP64_Position3 * position, BGC_FP64_Affine3 * inward_affine_map);
extern inline void bgc_fp32_position3_transform_point_outwards(const BGC_FP32_Position3 * position, const BGC_FP32_Vector3 * inner_point, BGC_FP32_Vector3 * outer_point);
extern inline void bgc_fp64_position3_transform_point_outwards(const BGC_FP64_Position3 * position, const BGC_FP64_Vector3 * inner_point, BGC_FP64_Vector3 * outer_point);
extern inline void bgc_fp32_position3_transform_point_inwards(const BGC_FP32_Position3 * position, const BGC_FP32_Vector3 * outer_point, BGC_FP32_Vector3 * inner_point);
extern inline void bgc_fp64_position3_transform_point_inwards(const BGC_FP64_Position3 * position, const BGC_FP64_Vector3 * outer_point, BGC_FP64_Vector3 * inner_point);
extern inline void bgc_fp32_position3_transform_vector_outwards(const BGC_FP32_Position3 * position, const BGC_FP32_Vector3 * inner_vector, BGC_FP32_Vector3 * outer_vector);
extern inline void bgc_fp64_position3_transform_vector_outwards(const BGC_FP64_Position3 * position, const BGC_FP64_Vector3 * inner_vector, BGC_FP64_Vector3 * outer_vector);
extern inline void bgc_fp32_position3_transform_vector_inwards(const BGC_FP32_Position3 * position, const BGC_FP32_Vector3 * outer_vector, BGC_FP32_Vector3 * inner_vector);
extern inline void bgc_fp64_position3_transform_vector_inwards(const BGC_FP64_Position3 * position, const BGC_FP64_Vector3 * outer_vector, BGC_FP64_Vector3 * inner_vector);