cleap  0.3.2
A gpu-based library for handling and processing 3D meshes.
cleap_private.h
Go to the documentation of this file.
1 #ifndef _CLEAP_PRIVATE_H_
2 #define _CLEAP_PRIVATE_H_
3 
4 // gl headers
5 #include <GL/glew.h>
6 
7 // c headers
8 #include <stdlib.h>
9 #include <stdio.h>
10 #include <float.h>
11 #include <locale.h>
12 #include <vector_types.h>
13 #include <vector_functions.h>
14 #include <sys/time.h>
15 
16 #include "cleap.h"
17 
19  float4 *v;
20  float4 *n;
21  float4 *c;
22 };
23 
25  int2 *n;
26  int2 *a;
27  int2 *b;
28  int2 *op;
29 };
30 
32  struct cudaGraphicsResource *vbo_v_cuda, *vbo_n_cuda, *vbo_c_cuda, *eab_cuda;
33  GLuint vbo_v, vbo_n, vbo_c, eab;
37 };
38 
39 
40 struct _cleap_mesh {
43  GLuint* triangles;
48  CLEAP_RESULT status; // important flag!!
49 };
50 
51 
52 typedef struct{
53  int id;
54  int n1, n2;
55  int a1, a2;
56  int b1, b2;
57  int op1, op2;
58 } _tmp_edge;
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 // private functions
65 void _cleap_init_array_int(int* h_array, int size, int value);
66 void _cleap_init_device_array_int(int* d_array, int length, int value);
67 void _cleap_init_device_dual_arrays_int(int* d_array1, int* d_array2, int length, int value, dim3 &dimBlock, dim3 &dimGrid);
70 void _cleap_print_splash();
71 void _cleap_init_cuda();
72 void _cleap_start_timer();
73 double _cleap_stop_timer();
75 
78 CLEAP_RESULT _cleap_host_load_mesh(_cleap_mesh *m, const char *filename);
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 #endif
int2 * d_edges_n
Definition: cleap_private.h:34
CLEAP_RESULT status
Definition: cleap_private.h:36
int2 * d_edges_a
Definition: cleap_private.h:34
Definition: cleap_private.h:18
Definition: cleap_private.h:52
int n2
Definition: cleap_private.h:54
int id
Definition: cleap_private.h:53
float4 * n
Definition: cleap_private.h:20
struct cudaGraphicsResource * eab_cuda
Definition: cleap_private.h:32
int2 * b
Definition: cleap_private.h:27
int _cleap_choose_best_gpu_id()
float3 max_coords
Definition: cleap_private.h:45
int edge_count
Definition: cleap_private.h:44
void _cleap_init_cuda()
int op2
Definition: cleap_private.h:57
float3 min_coords
Definition: cleap_private.h:45
cleap_vnc_data vnc_data
Definition: cleap_private.h:41
int processed_edges
Definition: cleap_private.h:46
struct cudaGraphicsResource * vbo_n_cuda
Definition: cleap_private.h:32
void _cleap_print_gpu_mem()
int face_count
Definition: cleap_private.h:44
CLEAP_RESULT _cleap_host_load_mesh(_cleap_mesh *m, const char *filename)
int wireframe
Definition: cleap_private.h:46
int CLEAP_RESULT
Definition: cleap.h:31
int * d_listo
Definition: cleap_private.h:35
struct cudaGraphicsResource * vbo_v_cuda
Definition: cleap_private.h:32
GLuint vbo_c
Definition: cleap_private.h:33
Definition: cleap_private.h:31
cleap_device_mesh * dm
Definition: cleap_private.h:47
int2 * a
Definition: cleap_private.h:26
CLEAP_RESULT _cleap_init_glew()
CLEAP_RESULT _cleap_normalize_normals(_cleap_mesh *m)
GLuint * triangles
Definition: cleap_private.h:43
int solid
Definition: cleap_private.h:46
int2 * op
Definition: cleap_private.h:28
void _cleap_init_device_dual_arrays_int(int *d_array1, int *d_array2, int length, int value, dim3 &dimBlock, dim3 &dimGrid)
int b2
Definition: cleap_private.h:56
cleap_edge_data edge_data
Definition: cleap_private.h:42
double _cleap_stop_timer()
GLuint vbo_n
Definition: cleap_private.h:33
int * d_trireservs
Definition: cleap_private.h:35
int2 * d_edges_b
Definition: cleap_private.h:34
CLEAP_RESULT _cleap_device_load_mesh(_cleap_mesh *m)
void _cleap_reset_minmax(_cleap_mesh *m)
Definition: cleap_private.h:24
void _cleap_init_device_array_int(int *d_array, int length, int value)
int2 * d_edges_op
Definition: cleap_private.h:34
int2 * n
Definition: cleap_private.h:25
void _cleap_start_timer()
GLuint eab
Definition: cleap_private.h:33
void _cleap_print_splash()
struct cudaGraphicsResource * vbo_c_cuda
Definition: cleap_private.h:32
GLuint vbo_v
Definition: cleap_private.h:33
int a2
Definition: cleap_private.h:55
float4 * c
Definition: cleap_private.h:21
int vertex_count
Definition: cleap_private.h:44
void _cleap_init_array_int(int *h_array, int size, int value)
CLEAP_RESULT status
Definition: cleap_private.h:48
int * d_trirel
Definition: cleap_private.h:35
float4 * v
Definition: cleap_private.h:19
Definition: cleap_private.h:40