38 #ifndef PCL_GPU_SURFACE_DEVICE_H_
39 #define PCL_GPU_SURFACE_DEVICE_H_
42 #include <pcl/gpu/utils/device/vector_math.hpp>
55 __device__ __host__ __forceinline__
56 float4
compute_plane(
const float3& v,
const float3& v1,
const float3& v2,
const float3& p)
58 float3 n =
cross(v1 - v, v2 - v);
62 if (
dot(n, p) + d < 0)
67 return make_float4(n.x, n.y, n.z, d);
70 __device__ __host__ __forceinline__ float3
tr(
const PointType& p) {
return make_float3(p.x, p.y, p.z); }
74 __device__ __forceinline__
77 int i1 = (int)(e1 >> 32);
82 __device__ __host__ __forceinline__
float compue_inv_normal_norm(
const float4& p) {
return 1.f/sqrt(p.x*p.x + p.y*p.y + p.z*p.z); }
85 __device__ __host__ __forceinline__ float4&
operator*=(float4& p,
float v) { p.x*=v; p.y*=v; p.z*=v; p.w*=v;
return p; }