Go to the documentation of this file.
34 #ifndef __CudaSurface_H
35 #define __CudaSurface_H
53 #include <cuda_runtime.h>
54 #include <driver_types.h>
56 #include <boost/shared_array.hpp>
64 if (err != cudaSuccess) {
65 printf(
"%s in %s at line %d\n", cudaGetErrorString( err ),
70 #define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ ))
72 using Vec = BaseVector<float>;
73 typedef boost::shared_array<float>
floatArr;
177 int max_mem_shared,
int max_threads_per_block,
178 int& out_blocks_per_grid,
int& out_threads_per_block,
int& needed_shared_memory);
180 template <
typename T>
183 template <
typename T>
186 template <
typename T>
230 #endif // !__CudaSurface_H
boost::shared_array< float > floatArr
bool m_reconstruction_mode
int * m_size_thread_block
ColorVertex< float, unsigned char > cVertex
void setReconstructionMode(bool mode=true)
CudaSurface(LBPointArray< float > &points, int device=0)
Constructor.
void interpolateNormals()
QueryPoint< Vec > QueryPointC
void getNormals(LBPointArray< float > &output_normals)
Get the resulting normals of the normal calculation. After calling "start".
void calculateNormals()
Starts calculation the normals on GPU.
void setKn(int kn)
Set the number of k nearest neighbors k-neighborhood.
void calculateBlocksThreads(int n, int elements, int element_size, int max_mem_shared, int max_threads_per_block, int &out_blocks_per_grid, int &out_threads_per_block, int &needed_shared_memory)
void getCudaInformation(int device)
LBPointArray< float > D_Normals
LBPointArray< float > * kd_tree_values
LBPointArray< float > D_kd_tree_values
void setKd(int kd)
Set the number of k nearest neighbors k-neighborhood for distance.
void setFlippoint(float v_x, float v_y, float v_z)
Set the viewpoint to orientate the normals.
LBPointArray< float > D_V
A query Vector for marching cubes reconstructions. It represents a Vector in space together with a 'd...
void copyToHostPointArray(LBPointArray< float > &D_m, LBPointArray< float > *m)
void setKi(int ki)
Set the number of k nearest neighbors k-neighborhood for interpolation.
LBPointArray< unsigned char > D_kd_tree_splits
void setMethod(std::string &method)
Set Method for normal calculation.
LBPointArray< float > Result_Normals
boost::shared_ptr< LBKdTree > kd_tree_gen
void distances(std::vector< QueryPoint< Vec > > &query_points, float voxel_size)
void copyToDevicePointArray(LBPointArray< T > *m, LBPointArray< T > &D_m)
unsigned long long m_device_global_memory
void generateDevicePointArray(LBPointArray< T > &D_m, int width, int dim)
LBPointArray< unsigned char > * kd_tree_splits
static void HandleError(cudaError_t err, const char *file, int line)
lvr2
Author(s): Thomas Wiemann
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:23