Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_pbvh.h
| Show All 23 Lines | |||||
| struct BMLog; | struct BMLog; | ||||
| struct BMesh; | struct BMesh; | ||||
| struct CCGElem; | struct CCGElem; | ||||
| struct CCGKey; | struct CCGKey; | ||||
| struct CustomData; | struct CustomData; | ||||
| struct DMFlagMat; | struct DMFlagMat; | ||||
| struct IsectRayPrecalc; | struct IsectRayPrecalc; | ||||
| struct MLoop; | |||||
| struct MLoopTri; | struct MLoopTri; | ||||
| struct MPoly; | struct MPoly; | ||||
| struct Mesh; | struct Mesh; | ||||
| struct MeshElemMap; | struct MeshElemMap; | ||||
| struct PBVH; | struct PBVH; | ||||
| struct PBVHBatches; | struct PBVHBatches; | ||||
| struct PBVHNode; | struct PBVHNode; | ||||
| struct PBVH_GPU_Args; | struct PBVH_GPU_Args; | ||||
| ▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Lines | |||||
| typedef void (*BKE_pbvh_SearchNearestCallback)(PBVHNode *node, void *data, float *tmin); | typedef void (*BKE_pbvh_SearchNearestCallback)(PBVHNode *node, void *data, float *tmin); | ||||
| /* Building */ | /* Building */ | ||||
| PBVH *BKE_pbvh_new(PBVHType type); | PBVH *BKE_pbvh_new(PBVHType type); | ||||
| /** | /** | ||||
| * Do a full rebuild with on Mesh data structure. | * Do a full rebuild with on Mesh data structure. | ||||
| * | * | ||||
| * \note Unlike mpoly/mloop/verts, looptri is *totally owned* by PBVH | * \note Unlike mpoly/corner_verts/verts, looptri is *totally owned* by PBVH | ||||
| * (which means it may rewrite it if needed, see #BKE_pbvh_vert_coords_apply(). | * (which means it may rewrite it if needed, see #BKE_pbvh_vert_coords_apply(). | ||||
| */ | */ | ||||
| void BKE_pbvh_build_mesh(PBVH *pbvh, | void BKE_pbvh_build_mesh(PBVH *pbvh, | ||||
| struct Mesh *mesh, | struct Mesh *mesh, | ||||
| const struct MPoly *mpoly, | const struct MPoly *mpoly, | ||||
| const struct MLoop *mloop, | const int *corner_verts, | ||||
| float (*vert_positions)[3], | float (*vert_positions)[3], | ||||
| int totvert, | int totvert, | ||||
| struct CustomData *vdata, | struct CustomData *vdata, | ||||
| struct CustomData *ldata, | struct CustomData *ldata, | ||||
| struct CustomData *pdata, | struct CustomData *pdata, | ||||
| const struct MLoopTri *looptri, | const struct MLoopTri *looptri, | ||||
| int looptri_num); | int looptri_num); | ||||
| /** | /** | ||||
| ▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Lines | |||||
| int *maxgrid, | int *maxgrid, | ||||
| int *gridsize, | int *gridsize, | ||||
| struct CCGElem ***r_griddata); | struct CCGElem ***r_griddata); | ||||
| void BKE_pbvh_node_num_verts(PBVH *pbvh, PBVHNode *node, int *r_uniquevert, int *r_totvert); | void BKE_pbvh_node_num_verts(PBVH *pbvh, PBVHNode *node, int *r_uniquevert, int *r_totvert); | ||||
| const int *BKE_pbvh_node_get_vert_indices(PBVHNode *node); | const int *BKE_pbvh_node_get_vert_indices(PBVHNode *node); | ||||
| void BKE_pbvh_node_get_loops(PBVH *pbvh, | void BKE_pbvh_node_get_loops(PBVH *pbvh, | ||||
| PBVHNode *node, | PBVHNode *node, | ||||
| const int **r_loop_indices, | const int **r_loop_indices, | ||||
| const struct MLoop **r_loops); | const int **r_corner_verts); | ||||
| /* Get number of faces in the mesh; for PBVH_GRIDS the | /* Get number of faces in the mesh; for PBVH_GRIDS the | ||||
| * number of base mesh faces is returned. | * number of base mesh faces is returned. | ||||
| */ | */ | ||||
| int BKE_pbvh_num_faces(const PBVH *pbvh); | int BKE_pbvh_num_faces(const PBVH *pbvh); | ||||
| void BKE_pbvh_node_get_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); | void BKE_pbvh_node_get_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); | ||||
| void BKE_pbvh_node_get_original_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); | void BKE_pbvh_node_get_original_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); | ||||
| ▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Lines | |||||
| PBVHType pbvh_type_; | PBVHType pbvh_type_; | ||||
| int verts_size_; | int verts_size_; | ||||
| GSetIterator bm_faces_iter_; | GSetIterator bm_faces_iter_; | ||||
| int cd_hide_poly_, cd_face_set_; | int cd_hide_poly_, cd_face_set_; | ||||
| bool *hide_poly_; | bool *hide_poly_; | ||||
| int *face_sets_; | int *face_sets_; | ||||
| const struct MPoly *mpoly_; | const struct MPoly *mpoly_; | ||||
| const struct MLoopTri *looptri_; | const struct MLoopTri *looptri_; | ||||
| const struct MLoop *mloop_; | const int *corner_verts_; | ||||
| int prim_index_; | int prim_index_; | ||||
| const struct SubdivCCG *subdiv_ccg_; | const struct SubdivCCG *subdiv_ccg_; | ||||
| const struct BMesh *bm; | const struct BMesh *bm; | ||||
| CCGKey subdiv_key_; | CCGKey subdiv_key_; | ||||
| int last_face_index_; | int last_face_index_; | ||||
| } PBVHFaceIter; | } PBVHFaceIter; | ||||
| ▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines | |||||