Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_pbvh.h
| Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | |||||
| struct MLoopTri; | struct MLoopTri; | ||||
| struct MPoly; | struct MPoly; | ||||
| struct MVert; | struct MVert; | ||||
| struct Mesh; | struct Mesh; | ||||
| struct PBVH; | struct PBVH; | ||||
| struct PBVHNode; | struct PBVHNode; | ||||
| struct SubdivCCG; | struct SubdivCCG; | ||||
| struct TaskParallelTLS; | struct TaskParallelTLS; | ||||
| struct TaskParallelSettings; | |||||
| typedef struct PBVH PBVH; | typedef struct PBVH PBVH; | ||||
| typedef struct PBVHNode PBVHNode; | typedef struct PBVHNode PBVHNode; | ||||
| typedef struct { | typedef struct { | ||||
| float (*co)[3]; | float (*co)[3]; | ||||
| } PBVHProxyNode; | } PBVHProxyNode; | ||||
| ▲ Show 20 Lines • Show All 391 Lines • ▼ Show 20 Lines | |||||
| bool pbvh_has_mask(PBVH *bvh); | bool pbvh_has_mask(PBVH *bvh); | ||||
| void pbvh_show_mask_set(PBVH *bvh, bool show_mask); | void pbvh_show_mask_set(PBVH *bvh, bool show_mask); | ||||
| bool pbvh_has_face_sets(PBVH *bvh); | bool pbvh_has_face_sets(PBVH *bvh); | ||||
| void pbvh_show_face_sets_set(PBVH *bvh, bool show_face_sets); | void pbvh_show_face_sets_set(PBVH *bvh, bool show_face_sets); | ||||
| /* Parallelization */ | /* Parallelization */ | ||||
| typedef void (*PBVHParallelRangeFunc)(void *__restrict userdata, | void BKE_pbvh_parallel_range_settings(struct TaskParallelSettings *settings, | ||||
| const int iter, | |||||
| const struct TaskParallelTLS *__restrict tls); | |||||
| typedef void (*PBVHParallelReduceFunc)(const void *__restrict userdata, | |||||
| void *__restrict chunk_join, | |||||
| void *__restrict chunk); | |||||
| typedef struct PBVHParallelSettings { | |||||
| bool use_threading; | |||||
| void *userdata_chunk; | |||||
| size_t userdata_chunk_size; | |||||
| PBVHParallelReduceFunc func_reduce; | |||||
| } PBVHParallelSettings; | |||||
| void BKE_pbvh_parallel_range_settings(struct PBVHParallelSettings *settings, | |||||
| bool use_threading, | bool use_threading, | ||||
| int totnode); | int totnode); | ||||
| void BKE_pbvh_parallel_range(const int start, | |||||
| const int stop, | |||||
| void *userdata, | |||||
| PBVHParallelRangeFunc func, | |||||
| const struct PBVHParallelSettings *settings); | |||||
| struct MVert *BKE_pbvh_get_verts(const PBVH *bvh); | struct MVert *BKE_pbvh_get_verts(const PBVH *bvh); | ||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||
| #endif /* __BKE_PBVH_H__ */ | #endif /* __BKE_PBVH_H__ */ | ||||