diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:17:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:21:24 +0300 |
commit | e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch) | |
tree | 8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/blenkernel/intern/pbvh_intern.h | |
parent | b3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff) |
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/blenkernel/intern/pbvh_intern.h')
-rw-r--r-- | source/blender/blenkernel/intern/pbvh_intern.h | 285 |
1 files changed, 150 insertions, 135 deletions
diff --git a/source/blender/blenkernel/intern/pbvh_intern.h b/source/blender/blenkernel/intern/pbvh_intern.h index b9610179630..5fc41c560b2 100644 --- a/source/blender/blenkernel/intern/pbvh_intern.h +++ b/source/blender/blenkernel/intern/pbvh_intern.h @@ -23,146 +23,146 @@ /* Axis-aligned bounding box */ typedef struct { - float bmin[3], bmax[3]; + float bmin[3], bmax[3]; } BB; /* Axis-aligned bounding box with centroid */ typedef struct { - float bmin[3], bmax[3], bcentroid[3]; + float bmin[3], bmax[3], bcentroid[3]; } BBC; /* Note: this structure is getting large, might want to split it into * union'd structs */ struct PBVHNode { - /* Opaque handle for drawing code */ - struct GPU_PBVH_Buffers *draw_buffers; - - /* Voxel bounds */ - BB vb; - BB orig_vb; - - /* For internal nodes, the offset of the children in the PBVH - * 'nodes' array. */ - int children_offset; - - /* Pointer into the PBVH prim_indices array and the number of - * primitives used by this leaf node. - * - * Used for leaf nodes in both mesh- and multires-based PBVHs. - */ - int *prim_indices; - unsigned int totprim; - - /* Array of indices into the mesh's MVert array. Contains the - * indices of all vertices used by faces that are within this - * node's bounding box. - * - * Note that a vertex might be used by a multiple faces, and - * these faces might be in different leaf nodes. Such a vertex - * will appear in the vert_indices array of each of those leaf - * nodes. - * - * In order to support cases where you want access to multiple - * nodes' vertices without duplication, the vert_indices array - * is ordered such that the first part of the array, up to - * index 'uniq_verts', contains "unique" vertex indices. These - * vertices might not be truly unique to this node, but if - * they appear in another node's vert_indices array, they will - * be above that node's 'uniq_verts' value. - * - * Used for leaf nodes in a mesh-based PBVH (not multires.) - */ - const int *vert_indices; - unsigned int uniq_verts, face_verts; - - /* An array mapping face corners into the vert_indices - * array. The array is sized to match 'totprim', and each of - * the face's corners gets an index into the vert_indices - * array, in the same order as the corners in the original - * MLoopTri. - * - * Used for leaf nodes in a mesh-based PBVH (not multires.) - */ - const int (*face_vert_indices)[3]; - - /* Indicates whether this node is a leaf or not; also used for - * marking various updates that need to be applied. */ - PBVHNodeFlags flag : 16; - - /* Used for raycasting: how close bb is to the ray point. */ - float tmin; - - /* Scalar displacements for sculpt mode's layer brush. */ - float *layer_disp; - - int proxy_count; - PBVHProxyNode *proxies; - - /* Dyntopo */ - GSet *bm_faces; - GSet *bm_unique_verts; - GSet *bm_other_verts; - float (*bm_orco)[3]; - int (*bm_ortri)[3]; - int bm_tot_ortri; + /* Opaque handle for drawing code */ + struct GPU_PBVH_Buffers *draw_buffers; + + /* Voxel bounds */ + BB vb; + BB orig_vb; + + /* For internal nodes, the offset of the children in the PBVH + * 'nodes' array. */ + int children_offset; + + /* Pointer into the PBVH prim_indices array and the number of + * primitives used by this leaf node. + * + * Used for leaf nodes in both mesh- and multires-based PBVHs. + */ + int *prim_indices; + unsigned int totprim; + + /* Array of indices into the mesh's MVert array. Contains the + * indices of all vertices used by faces that are within this + * node's bounding box. + * + * Note that a vertex might be used by a multiple faces, and + * these faces might be in different leaf nodes. Such a vertex + * will appear in the vert_indices array of each of those leaf + * nodes. + * + * In order to support cases where you want access to multiple + * nodes' vertices without duplication, the vert_indices array + * is ordered such that the first part of the array, up to + * index 'uniq_verts', contains "unique" vertex indices. These + * vertices might not be truly unique to this node, but if + * they appear in another node's vert_indices array, they will + * be above that node's 'uniq_verts' value. + * + * Used for leaf nodes in a mesh-based PBVH (not multires.) + */ + const int *vert_indices; + unsigned int uniq_verts, face_verts; + + /* An array mapping face corners into the vert_indices + * array. The array is sized to match 'totprim', and each of + * the face's corners gets an index into the vert_indices + * array, in the same order as the corners in the original + * MLoopTri. + * + * Used for leaf nodes in a mesh-based PBVH (not multires.) + */ + const int (*face_vert_indices)[3]; + + /* Indicates whether this node is a leaf or not; also used for + * marking various updates that need to be applied. */ + PBVHNodeFlags flag : 16; + + /* Used for raycasting: how close bb is to the ray point. */ + float tmin; + + /* Scalar displacements for sculpt mode's layer brush. */ + float *layer_disp; + + int proxy_count; + PBVHProxyNode *proxies; + + /* Dyntopo */ + GSet *bm_faces; + GSet *bm_unique_verts; + GSet *bm_other_verts; + float (*bm_orco)[3]; + int (*bm_ortri)[3]; + int bm_tot_ortri; }; typedef enum { - PBVH_DYNTOPO_SMOOTH_SHADING = 1, + PBVH_DYNTOPO_SMOOTH_SHADING = 1, } PBVHFlags; typedef struct PBVHBMeshLog PBVHBMeshLog; struct PBVH { - PBVHType type; - PBVHFlags flags; + PBVHType type; + PBVHFlags flags; - PBVHNode *nodes; - int node_mem_count, totnode; + PBVHNode *nodes; + int node_mem_count, totnode; - int *prim_indices; - int totprim; - int totvert; + int *prim_indices; + int totprim; + int totvert; - int leaf_limit; + int leaf_limit; - /* Mesh data */ - MVert *verts; - const MPoly *mpoly; - const MLoop *mloop; - const MLoopTri *looptri; - CustomData *vdata; + /* Mesh data */ + MVert *verts; + const MPoly *mpoly; + const MLoop *mloop; + const MLoopTri *looptri; + CustomData *vdata; - /* Grid Data */ - CCGKey gridkey; - CCGElem **grids; - void **gridfaces; - const DMFlagMat *grid_flag_mats; - int totgrid; - BLI_bitmap **grid_hidden; + /* Grid Data */ + CCGKey gridkey; + CCGElem **grids; + void **gridfaces; + const DMFlagMat *grid_flag_mats; + int totgrid; + BLI_bitmap **grid_hidden; - /* Only used during BVH build and update, - * don't need to remain valid after */ - BLI_bitmap *vert_bitmap; + /* Only used during BVH build and update, + * don't need to remain valid after */ + BLI_bitmap *vert_bitmap; #ifdef PERFCNTRS - int perf_modified; + int perf_modified; #endif - /* flag are verts/faces deformed */ - bool deformed; + /* flag are verts/faces deformed */ + bool deformed; - bool show_diffuse_color; - bool show_mask; + bool show_diffuse_color; + bool show_mask; - /* Dynamic topology */ - BMesh *bm; - float bm_max_edge_len; - float bm_min_edge_len; - int cd_vert_node_offset; - int cd_face_node_offset; + /* Dynamic topology */ + BMesh *bm; + float bm_max_edge_len; + float bm_min_edge_len; + int cd_vert_node_offset; + int cd_face_node_offset; - struct BMLog *bm_log; + struct BMLog *bm_log; }; /* pbvh.c */ @@ -172,35 +172,50 @@ void BB_expand_with_bb(BB *bb, BB *bb2); void BBC_update_centroid(BBC *bbc); int BB_widest_axis(const BB *bb); void pbvh_grow_nodes(PBVH *bvh, int totnode); -bool ray_face_intersection_quad( - const float ray_start[3], const float ray_normal[3], - const float *t0, const float *t1, const float *t2, const float *t3, - float *depth); -bool ray_face_intersection_tri( - const float ray_start[3], const float ray_normal[3], - const float *t0, const float *t1, const float *t2, - float *depth); - -bool ray_face_nearest_quad( - const float ray_start[3], const float ray_normal[3], - const float *t0, const float *t1, const float *t2, const float *t3, - float *r_depth, float *r_dist_sq); -bool ray_face_nearest_tri( - const float ray_start[3], const float ray_normal[3], - const float *t0, const float *t1, const float *t2, - float *r_depth, float *r_dist_sq); +bool ray_face_intersection_quad(const float ray_start[3], + const float ray_normal[3], + const float *t0, + const float *t1, + const float *t2, + const float *t3, + float *depth); +bool ray_face_intersection_tri(const float ray_start[3], + const float ray_normal[3], + const float *t0, + const float *t1, + const float *t2, + float *depth); + +bool ray_face_nearest_quad(const float ray_start[3], + const float ray_normal[3], + const float *t0, + const float *t1, + const float *t2, + const float *t3, + float *r_depth, + float *r_dist_sq); +bool ray_face_nearest_tri(const float ray_start[3], + const float ray_normal[3], + const float *t0, + const float *t1, + const float *t2, + float *r_depth, + float *r_dist_sq); void pbvh_update_BB_redraw(PBVH *bvh, PBVHNode **nodes, int totnode, int flag); /* pbvh_bmesh.c */ -bool pbvh_bmesh_node_raycast( - PBVHNode *node, const float ray_start[3], - const float ray_normal[3], float *dist, - bool use_original); -bool pbvh_bmesh_node_nearest_to_ray( - PBVHNode *node, const float ray_start[3], - const float ray_normal[3], float *depth, float *dist_sq, - bool use_original); +bool pbvh_bmesh_node_raycast(PBVHNode *node, + const float ray_start[3], + const float ray_normal[3], + float *dist, + bool use_original); +bool pbvh_bmesh_node_nearest_to_ray(PBVHNode *node, + const float ray_start[3], + const float ray_normal[3], + float *depth, + float *dist_sq, + bool use_original); void pbvh_bmesh_normals_update(PBVHNode **nodes, int totnode); |