forked from bartvdbraak/blender
Mesh API: rename 'octree' to 'spatial' since internally its using kdtree
This commit is contained in:
parent
5bceb00a61
commit
35ed7486c7
@ -403,7 +403,7 @@ static void add_verts_to_dgroups(ReportList *reports, Scene *scene, Object *ob,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* only generated in some cases but can call anyway */
|
/* only generated in some cases but can call anyway */
|
||||||
mesh_octree_table(ob, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(ob, NULL, NULL, 'e');
|
||||||
|
|
||||||
/* free the memory allocated */
|
/* free the memory allocated */
|
||||||
MEM_freeN(bonelist);
|
MEM_freeN(bonelist);
|
||||||
|
@ -301,8 +301,8 @@ int join_mesh_exec(struct bContext *C, struct wmOperator *op);
|
|||||||
int join_mesh_shapes_exec(struct bContext *C, struct wmOperator *op);
|
int join_mesh_shapes_exec(struct bContext *C, struct wmOperator *op);
|
||||||
|
|
||||||
/* mirror lookup api */
|
/* mirror lookup api */
|
||||||
int mesh_octree_table(struct Object *ob, struct BMEditMesh *em, const float co[3], char mode);
|
int ED_mesh_mirror_spatial_table(struct Object *ob, struct BMEditMesh *em, const float co[3], char mode);
|
||||||
int mesh_mirrtopo_table(struct Object *ob, char mode);
|
int ED_mesh_mirror_topo_table(struct Object *ob, char mode);
|
||||||
|
|
||||||
/* retrieves mirrored cache vert, or NULL if there isn't one.
|
/* retrieves mirrored cache vert, or NULL if there isn't one.
|
||||||
* note: calling this without ensuring the mirror cache state
|
* note: calling this without ensuring the mirror cache state
|
||||||
|
@ -402,8 +402,8 @@ void EDBM_mesh_free(BMEditMesh *em)
|
|||||||
/* These tables aren't used yet, so it's not strictly necessary
|
/* These tables aren't used yet, so it's not strictly necessary
|
||||||
* to 'end' them (with 'e' param) but if someone tries to start
|
* to 'end' them (with 'e' param) but if someone tries to start
|
||||||
* using them, having these in place will save a lot of pain */
|
* using them, having these in place will save a lot of pain */
|
||||||
mesh_octree_table(NULL, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(NULL, NULL, NULL, 'e');
|
||||||
mesh_mirrtopo_table(NULL, 'e');
|
ED_mesh_mirror_topo_table(NULL, 'e');
|
||||||
|
|
||||||
BKE_editmesh_free(em);
|
BKE_editmesh_free(em);
|
||||||
}
|
}
|
||||||
|
@ -670,11 +670,11 @@ static struct { void *tree; } MirrKdStore = {NULL};
|
|||||||
|
|
||||||
/* mode is 's' start, or 'e' end, or 'u' use */
|
/* mode is 's' start, or 'e' end, or 'u' use */
|
||||||
/* if end, ob can be NULL */
|
/* if end, ob can be NULL */
|
||||||
int mesh_octree_table(Object *ob, BMEditMesh *em, const float co[3], char mode)
|
int ED_mesh_mirror_spatial_table(Object *ob, BMEditMesh *em, const float co[3], char mode)
|
||||||
{
|
{
|
||||||
if (mode == 'u') { /* use table */
|
if (mode == 'u') { /* use table */
|
||||||
if (MirrKdStore.tree == NULL)
|
if (MirrKdStore.tree == NULL)
|
||||||
mesh_octree_table(ob, em, NULL, 's');
|
ED_mesh_mirror_spatial_table(ob, em, NULL, 's');
|
||||||
|
|
||||||
if (MirrKdStore.tree) {
|
if (MirrKdStore.tree) {
|
||||||
KDTreeNearest nearest;
|
KDTreeNearest nearest;
|
||||||
@ -696,7 +696,7 @@ int mesh_octree_table(Object *ob, BMEditMesh *em, const float co[3], char mode)
|
|||||||
int totvert;
|
int totvert;
|
||||||
|
|
||||||
if (MirrKdStore.tree) /* happens when entering this call without ending it */
|
if (MirrKdStore.tree) /* happens when entering this call without ending it */
|
||||||
mesh_octree_table(ob, em, co, 'e');
|
ED_mesh_mirror_spatial_table(ob, em, co, 'e');
|
||||||
|
|
||||||
if (em && me->edit_btmesh == em) {
|
if (em && me->edit_btmesh == em) {
|
||||||
totvert = em->bm->totvert;
|
totvert = em->bm->totvert;
|
||||||
@ -758,11 +758,11 @@ static MirrTopoStore_t mesh_topo_store = {NULL, -1. - 1, -1};
|
|||||||
/* mode is 's' start, or 'e' end, or 'u' use */
|
/* mode is 's' start, or 'e' end, or 'u' use */
|
||||||
/* if end, ob can be NULL */
|
/* if end, ob can be NULL */
|
||||||
/* note, is supposed return -1 on error, which callers are currently checking for, but is not used so far */
|
/* note, is supposed return -1 on error, which callers are currently checking for, but is not used so far */
|
||||||
int mesh_mirrtopo_table(Object *ob, char mode)
|
int ED_mesh_mirror_topo_table(Object *ob, char mode)
|
||||||
{
|
{
|
||||||
if (mode == 'u') { /* use table */
|
if (mode == 'u') { /* use table */
|
||||||
if (ED_mesh_mirrtopo_recalc_check(ob->data, ob->mode, &mesh_topo_store)) {
|
if (ED_mesh_mirrtopo_recalc_check(ob->data, ob->mode, &mesh_topo_store)) {
|
||||||
mesh_mirrtopo_table(ob, 's');
|
ED_mesh_mirror_topo_table(ob, 's');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (mode == 's') { /* start table */
|
else if (mode == 's') { /* start table */
|
||||||
@ -792,12 +792,12 @@ static int mesh_get_x_mirror_vert_spatial(Object *ob, int index)
|
|||||||
vec[1] = mvert->co[1];
|
vec[1] = mvert->co[1];
|
||||||
vec[2] = mvert->co[2];
|
vec[2] = mvert->co[2];
|
||||||
|
|
||||||
return mesh_octree_table(ob, NULL, vec, 'u');
|
return ED_mesh_mirror_spatial_table(ob, NULL, vec, 'u');
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mesh_get_x_mirror_vert_topo(Object *ob, int index)
|
static int mesh_get_x_mirror_vert_topo(Object *ob, int index)
|
||||||
{
|
{
|
||||||
if (mesh_mirrtopo_table(ob, 'u') == -1)
|
if (ED_mesh_mirror_topo_table(ob, 'u') == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return mesh_topo_store.index_lookup[index];
|
return mesh_topo_store.index_lookup[index];
|
||||||
@ -830,7 +830,7 @@ static BMVert *editbmesh_get_x_mirror_vert_spatial(Object *ob, BMEditMesh *em, c
|
|||||||
vec[1] = co[1];
|
vec[1] = co[1];
|
||||||
vec[2] = co[2];
|
vec[2] = co[2];
|
||||||
|
|
||||||
i = mesh_octree_table(ob, em, vec, 'u');
|
i = ED_mesh_mirror_spatial_table(ob, em, vec, 'u');
|
||||||
if (i != -1) {
|
if (i != -1) {
|
||||||
return BM_vert_at_index(em->bm, i);
|
return BM_vert_at_index(em->bm, i);
|
||||||
}
|
}
|
||||||
@ -840,7 +840,7 @@ static BMVert *editbmesh_get_x_mirror_vert_spatial(Object *ob, BMEditMesh *em, c
|
|||||||
static BMVert *editbmesh_get_x_mirror_vert_topo(Object *ob, struct BMEditMesh *em, BMVert *eve, int index)
|
static BMVert *editbmesh_get_x_mirror_vert_topo(Object *ob, struct BMEditMesh *em, BMVert *eve, int index)
|
||||||
{
|
{
|
||||||
intptr_t poinval;
|
intptr_t poinval;
|
||||||
if (mesh_mirrtopo_table(ob, 'u') == -1)
|
if (ED_mesh_mirror_topo_table(ob, 'u') == -1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
@ -1018,12 +1018,12 @@ int *mesh_get_x_mirror_faces(Object *ob, BMEditMesh *em)
|
|||||||
mirrorverts = MEM_callocN(sizeof(int) * me->totvert, "MirrorVerts");
|
mirrorverts = MEM_callocN(sizeof(int) * me->totvert, "MirrorVerts");
|
||||||
mirrorfaces = MEM_callocN(sizeof(int) * 2 * me->totface, "MirrorFaces");
|
mirrorfaces = MEM_callocN(sizeof(int) * 2 * me->totface, "MirrorFaces");
|
||||||
|
|
||||||
mesh_octree_table(ob, em, NULL, 's');
|
ED_mesh_mirror_spatial_table(ob, em, NULL, 's');
|
||||||
|
|
||||||
for (a = 0, mv = mvert; a < me->totvert; a++, mv++)
|
for (a = 0, mv = mvert; a < me->totvert; a++, mv++)
|
||||||
mirrorverts[a] = mesh_get_x_mirror_vert(ob, a, use_topology);
|
mirrorverts[a] = mesh_get_x_mirror_vert(ob, a, use_topology);
|
||||||
|
|
||||||
mesh_octree_table(ob, em, NULL, 'e');
|
ED_mesh_mirror_spatial_table(ob, em, NULL, 'e');
|
||||||
|
|
||||||
fhash = BLI_ghash_new_ex(mirror_facehash, mirror_facecmp, "mirror_facehash gh", me->totface);
|
fhash = BLI_ghash_new_ex(mirror_facehash, mirror_facecmp, "mirror_facehash gh", me->totface);
|
||||||
for (a = 0, mf = mface; a < me->totface; a++, mf++)
|
for (a = 0, mf = mface; a < me->totface; a++, mf++)
|
||||||
|
@ -338,8 +338,8 @@ static bool ED_object_editmode_load_ex(Object *obedit, const bool freedata)
|
|||||||
me->edit_btmesh = NULL;
|
me->edit_btmesh = NULL;
|
||||||
}
|
}
|
||||||
if (obedit->restore_mode & OB_MODE_WEIGHT_PAINT) {
|
if (obedit->restore_mode & OB_MODE_WEIGHT_PAINT) {
|
||||||
mesh_octree_table(NULL, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(NULL, NULL, NULL, 'e');
|
||||||
mesh_mirrtopo_table(NULL, 'e');
|
ED_mesh_mirror_topo_table(NULL, 'e');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (obedit->type == OB_ARMATURE) {
|
else if (obedit->type == OB_ARMATURE) {
|
||||||
|
@ -193,7 +193,7 @@ static bool object_shape_key_mirror(bContext *C, Object *ob,
|
|||||||
float *fp1, *fp2;
|
float *fp1, *fp2;
|
||||||
float tvec[3];
|
float tvec[3];
|
||||||
|
|
||||||
mesh_octree_table(ob, NULL, NULL, 's');
|
ED_mesh_mirror_spatial_table(ob, NULL, NULL, 's');
|
||||||
|
|
||||||
for (i1 = 0, mv = me->mvert; i1 < me->totvert; i1++, mv++) {
|
for (i1 = 0, mv = me->mvert; i1 < me->totvert; i1++, mv++) {
|
||||||
i2 = mesh_get_x_mirror_vert(ob, i1, use_topology);
|
i2 = mesh_get_x_mirror_vert(ob, i1, use_topology);
|
||||||
@ -224,7 +224,7 @@ static bool object_shape_key_mirror(bContext *C, Object *ob,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mesh_octree_table(ob, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(ob, NULL, NULL, 'e');
|
||||||
}
|
}
|
||||||
else if (ob->type == OB_LATTICE) {
|
else if (ob->type == OB_LATTICE) {
|
||||||
Lattice *lt = ob->data;
|
Lattice *lt = ob->data;
|
||||||
|
@ -2060,8 +2060,8 @@ static int wpaint_mode_toggle_exec(bContext *C, wmOperator *op)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* weight paint specific */
|
/* weight paint specific */
|
||||||
mesh_octree_table(NULL, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(NULL, NULL, NULL, 'e');
|
||||||
mesh_mirrtopo_table(NULL, 'e');
|
ED_mesh_mirror_topo_table(NULL, 'e');
|
||||||
|
|
||||||
paint_cursor_delete_textures();
|
paint_cursor_delete_textures();
|
||||||
}
|
}
|
||||||
@ -2076,7 +2076,7 @@ static int wpaint_mode_toggle_exec(bContext *C, wmOperator *op)
|
|||||||
BKE_paint_init(&wp->paint, PAINT_CURSOR_WEIGHT_PAINT);
|
BKE_paint_init(&wp->paint, PAINT_CURSOR_WEIGHT_PAINT);
|
||||||
|
|
||||||
/* weight paint specific */
|
/* weight paint specific */
|
||||||
mesh_octree_table(ob, NULL, NULL, 's');
|
ED_mesh_mirror_spatial_table(ob, NULL, NULL, 's');
|
||||||
ED_vgroup_sync_from_pose(ob);
|
ED_vgroup_sync_from_pose(ob);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5687,7 +5687,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
|
|||||||
if (t->obedit->type == OB_MESH) {
|
if (t->obedit->type == OB_MESH) {
|
||||||
BMEditMesh *em = BKE_editmesh_from_object(t->obedit);
|
BMEditMesh *em = BKE_editmesh_from_object(t->obedit);
|
||||||
/* table needs to be created for each edit command, since vertices can move etc */
|
/* table needs to be created for each edit command, since vertices can move etc */
|
||||||
mesh_octree_table(t->obedit, em, NULL, 'e');
|
ED_mesh_mirror_spatial_table(t->obedit, em, NULL, 'e');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((t->flag & T_POSE) && (t->poseobj)) {
|
else if ((t->flag & T_POSE) && (t->poseobj)) {
|
||||||
|
@ -137,8 +137,8 @@ void ED_editors_exit(bContext *C)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* global in meshtools... */
|
/* global in meshtools... */
|
||||||
mesh_octree_table(NULL, NULL, NULL, 'e');
|
ED_mesh_mirror_spatial_table(NULL, NULL, NULL, 'e');
|
||||||
mesh_mirrtopo_table(NULL, 'e');
|
ED_mesh_mirror_topo_table(NULL, 'e');
|
||||||
}
|
}
|
||||||
|
|
||||||
/* flush any temp data from object editing to DNA before writing files,
|
/* flush any temp data from object editing to DNA before writing files,
|
||||||
|
@ -457,8 +457,8 @@ float ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vert
|
|||||||
void ED_vgroup_delete(struct Object *ob, struct bDeformGroup *defgroup) RET_NONE
|
void ED_vgroup_delete(struct Object *ob, struct bDeformGroup *defgroup) RET_NONE
|
||||||
void ED_vgroup_clear(struct Object *ob) RET_NONE
|
void ED_vgroup_clear(struct Object *ob) RET_NONE
|
||||||
bool ED_vgroup_object_is_edit_mode(struct Object *ob) RET_ZERO
|
bool ED_vgroup_object_is_edit_mode(struct Object *ob) RET_ZERO
|
||||||
int mesh_mirrtopo_table(struct Object *ob, char mode) RET_ZERO
|
int ED_mesh_mirror_topo_table(struct Object *ob, char mode) RET_ZERO
|
||||||
int mesh_octree_table(struct Object *ob, struct BMEditMesh *em, const float co[3], char mode) RET_ZERO
|
int ED_mesh_mirror_spatial_table(struct Object *ob, struct BMEditMesh *em, const float co[3], char mode) RET_ZERO
|
||||||
|
|
||||||
float ED_rollBoneToVector(EditBone *bone, const float new_up_axis[3], const short axis_only) RET_ZERO
|
float ED_rollBoneToVector(EditBone *bone, const float new_up_axis[3], const short axis_only) RET_ZERO
|
||||||
void ED_space_image_get_size(struct SpaceImage *sima, int *width, int *height) RET_NONE
|
void ED_space_image_get_size(struct SpaceImage *sima, int *width, int *height) RET_NONE
|
||||||
|
Loading…
Reference in New Issue
Block a user