#ifndef __GPUBPTOOL_CUH___ #define __GPUBPTOOL_CUH___ #include "BaseConstVariable.h" #include "GPUTool.cuh" #include #include #include #include #include "GPUTool.cuh" extern __device__ double angleBetweenVectors(Vector3 a, Vector3 b, bool returnDegrees = false); extern __device__ Vector3 vec_sub(Vector3 a, Vector3 b); extern __device__ double vec_dot(Vector3 a, Vector3 b); extern __device__ Vector3 vec_cross(Vector3 a, Vector3 b); extern __device__ Vector3 vec_normalize(Vector3 v); extern __device__ Vector3 compute_T(Vector3 S, Vector3 ray_dir, double H); extern __device__ Vector3 compute_P(Vector3 S, Vector3 T, double R, double H ); extern __device__ double angleBetweenVectors_single(Vector3_single a, Vector3_single b, bool returnDegrees = false); extern __device__ Vector3_single vec_sub_single(Vector3_single a, Vector3_single b); extern __device__ float vec_dot_single(Vector3_single a, Vector3_single b); extern __device__ Vector3_single vec_cross_single(Vector3_single a, Vector3_single b); #endif