Removed remaining uses of the particle edit mode flag.
This commit is contained in:
@@ -91,7 +91,7 @@ void id_clear_lib_data_ex(struct Main *bmain, struct ID *id, bool id_in_mainlist
|
||||
|
||||
struct ListBase *which_libbase(struct Main *mainlib, short type);
|
||||
|
||||
#define MAX_LIBARRAY 34
|
||||
#define MAX_LIBARRAY 33
|
||||
int set_listbasepointers(struct Main *main, struct ListBase *lb[MAX_LIBARRAY]);
|
||||
|
||||
/* Main API */
|
||||
|
||||
@@ -304,11 +304,6 @@ void cloth_clear_cache(Object *ob, ClothModifierData *clmd, float framenr)
|
||||
PTCacheID pid;
|
||||
|
||||
BKE_ptcache_id_from_cloth(&pid, ob, clmd);
|
||||
|
||||
// don't do anything as long as we're in editmode!
|
||||
if (pid.cache->edit && ob->mode & OB_MODE_PARTICLE_EDIT)
|
||||
return;
|
||||
|
||||
BKE_ptcache_id_clear(&pid, PTCACHE_CLEAR_AFTER, framenr);
|
||||
}
|
||||
|
||||
|
||||
@@ -4989,7 +4989,7 @@ static void direct_link_object(FileData *fd, Object *ob)
|
||||
* See [#34776, #42780] for more information.
|
||||
*/
|
||||
if (fd->memfile || (ob->id.tag & (LIB_TAG_EXTERN | LIB_TAG_INDIRECT))) {
|
||||
ob->mode &= ~(OB_MODE_EDIT | OB_MODE_PARTICLE_EDIT);
|
||||
ob->mode &= ~OB_MODE_EDIT;
|
||||
if (!fd->memfile) {
|
||||
ob->mode &= ~OB_MODE_POSE;
|
||||
}
|
||||
|
||||
@@ -1560,12 +1560,9 @@ static EnumPropertyItem *object_mode_set_itemsf(bContext *C, PointerRNA *UNUSED(
|
||||
|
||||
ob = CTX_data_active_object(C);
|
||||
if (ob) {
|
||||
const bool use_mode_particle_edit = (ob->soft != NULL) ||
|
||||
(modifiers_findByType(ob, eModifierType_Cloth) != NULL);
|
||||
while (input->identifier) {
|
||||
if ((input->value == OB_MODE_EDIT && OB_TYPE_SUPPORT_EDITMODE(ob->type)) ||
|
||||
(input->value == OB_MODE_POSE && (ob->type == OB_ARMATURE)) ||
|
||||
(input->value == OB_MODE_PARTICLE_EDIT && use_mode_particle_edit) ||
|
||||
(ELEM(input->value, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT,
|
||||
OB_MODE_WEIGHT_PAINT, OB_MODE_TEXTURE_PAINT) && (ob->type == OB_MESH)) ||
|
||||
(input->value == OB_MODE_OBJECT))
|
||||
@@ -1607,8 +1604,6 @@ static const char *object_mode_op_string(int mode)
|
||||
return "PAINT_OT_weight_paint_toggle";
|
||||
if (mode == OB_MODE_TEXTURE_PAINT)
|
||||
return "PAINT_OT_texture_paint_toggle";
|
||||
if (mode == OB_MODE_PARTICLE_EDIT)
|
||||
return "PARTICLE_OT_particle_edit_toggle";
|
||||
if (mode == OB_MODE_POSE)
|
||||
return "OBJECT_OT_posemode_toggle";
|
||||
if (mode == OB_MODE_GPENCIL)
|
||||
@@ -1630,7 +1625,7 @@ static bool object_mode_compat_test(Object *ob, ObjectMode mode)
|
||||
switch (ob->type) {
|
||||
case OB_MESH:
|
||||
if (mode & (OB_MODE_EDIT | OB_MODE_SCULPT | OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT |
|
||||
OB_MODE_TEXTURE_PAINT | OB_MODE_PARTICLE_EDIT))
|
||||
OB_MODE_TEXTURE_PAINT))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -299,11 +299,6 @@ static bool object_modifier_remove(Main *bmain, Object *ob, ModifierData *md,
|
||||
modifier_skin_customdata_delete(ob);
|
||||
}
|
||||
|
||||
if (ELEM(md->type, eModifierType_Softbody, eModifierType_Cloth))
|
||||
{
|
||||
ob->mode &= ~OB_MODE_PARTICLE_EDIT;
|
||||
}
|
||||
|
||||
DAG_relations_tag_update(bmain);
|
||||
|
||||
BLI_remlink(&ob->modifiers, md);
|
||||
@@ -733,21 +728,13 @@ ModifierData *edit_modifier_property_get(wmOperator *op, Object *ob, int type)
|
||||
static int modifier_remove_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
Main *bmain = CTX_data_main(C);
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
Object *ob = ED_object_active_context(C);
|
||||
ModifierData *md = edit_modifier_property_get(op, ob, 0);
|
||||
int mode_orig = ob->mode;
|
||||
|
||||
if (!md || !ED_object_modifier_remove(op->reports, bmain, ob, md))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
|
||||
|
||||
/* if cloth/softbody was removed, particle mode could be cleared */
|
||||
if (mode_orig & OB_MODE_PARTICLE_EDIT)
|
||||
if ((ob->mode & OB_MODE_PARTICLE_EDIT) == 0)
|
||||
if (scene->basact && scene->basact->object == ob)
|
||||
WM_event_add_notifier(C, NC_SCENE | ND_MODE | NS_MODE_OBJECT, NULL);
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
@@ -391,12 +391,6 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
|
||||
return 1;
|
||||
}
|
||||
else if (CTX_data_equals(member, "particle_edit_object")) {
|
||||
if (obact && (obact->mode & OB_MODE_PARTICLE_EDIT))
|
||||
CTX_data_id_pointer_set(result, &obact->id);
|
||||
|
||||
return 1;
|
||||
}
|
||||
else if (CTX_data_equals(member, "sequences")) {
|
||||
Editing *ed = BKE_sequencer_editing_get(scene, false);
|
||||
if (ed) {
|
||||
|
||||
@@ -4161,12 +4161,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
|
||||
* with the background. */
|
||||
|
||||
if ((dflag & DRAW_CONSTCOLOR) == 0) {
|
||||
if (is_obact && (ob->mode & OB_MODE_PARTICLE_EDIT)) {
|
||||
ob_wire_color_blend_theme_id(ob_wire_col, TH_BACK, 0.15f);
|
||||
}
|
||||
else {
|
||||
glColor3ubv(ob_wire_col);
|
||||
}
|
||||
glColor3ubv(ob_wire_col);
|
||||
}
|
||||
|
||||
/* If drawing wire and drawtype is not OB_WIRE then we are
|
||||
|
||||
@@ -1332,11 +1332,6 @@ static void backdrawview3d(Scene *scene, wmWindow *win, ARegion *ar, View3D *v3d
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
else if ((base && (base->object->mode & OB_MODE_PARTICLE_EDIT)) &&
|
||||
V3D_IS_ZBUF(v3d))
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
else if (scene->obedit &&
|
||||
V3D_IS_ZBUF(v3d))
|
||||
{
|
||||
|
||||
@@ -345,7 +345,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
|
||||
}
|
||||
|
||||
/* Manipulators aren't used in paint modes */
|
||||
if (!ELEM(ob->mode, OB_MODE_SCULPT, OB_MODE_PARTICLE_EDIT)) {
|
||||
if (ob->mode != OB_MODE_SCULPT) {
|
||||
/* masks aren't used for sculpt and particle painting */
|
||||
PointerRNA meshptr;
|
||||
|
||||
|
||||
@@ -2807,7 +2807,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
|
||||
RNA_int_get(op->ptr, "y")};
|
||||
|
||||
if (CTX_data_edit_object(C) || BKE_paint_select_elem_test(obact) ||
|
||||
(obact && (obact->mode & (OB_MODE_PARTICLE_EDIT | OB_MODE_POSE))) )
|
||||
(obact && (obact->mode & OB_MODE_POSE)) )
|
||||
{
|
||||
ViewContext vc;
|
||||
|
||||
|
||||
@@ -1011,7 +1011,7 @@ int getTransformOrientation_ex(const bContext *C, float normal[3], float plane[3
|
||||
result = ORIENTATION_EDGE;
|
||||
}
|
||||
}
|
||||
else if (ob && (ob->mode & (OB_MODE_ALL_PAINT | OB_MODE_PARTICLE_EDIT))) {
|
||||
else if (ob && (ob->mode & OB_MODE_ALL_PAINT)) {
|
||||
/* pass */
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -497,8 +497,6 @@ static void initSnappingMode(TransInfo *t)
|
||||
{
|
||||
ToolSettings *ts = t->settings;
|
||||
Object *obedit = t->obedit;
|
||||
Scene *scene = t->scene;
|
||||
Base *base_act = scene->basact;
|
||||
|
||||
if (t->spacetype == SPACE_NODE) {
|
||||
/* force project off when not supported */
|
||||
@@ -537,12 +535,6 @@ static void initSnappingMode(TransInfo *t)
|
||||
t->tsnap.modeSelect = t->tsnap.snap_self ? SNAP_ALL : SNAP_NOT_OBEDIT;
|
||||
}
|
||||
}
|
||||
/* Particles edit mode*/
|
||||
else if (t->tsnap.applySnap != NULL && // A snapping function actually exist
|
||||
(obedit == NULL && base_act && base_act->object && base_act->object->mode & OB_MODE_PARTICLE_EDIT))
|
||||
{
|
||||
t->tsnap.modeSelect = SNAP_ALL;
|
||||
}
|
||||
/* Object mode */
|
||||
else if (t->tsnap.applySnap != NULL && // A snapping function actually exist
|
||||
(obedit == NULL) ) // Object Mode
|
||||
@@ -1969,21 +1961,6 @@ static bool snapObjectsRay(
|
||||
r_loc, r_no, r_dist_px, r_index, r_ob, r_obmat);
|
||||
}
|
||||
|
||||
/* Need an exception for particle edit because the base is flagged with BA_HAS_RECALC_DATA
|
||||
* which makes the loop skip it, even the derived mesh will never change
|
||||
*
|
||||
* To solve that problem, we do it first as an exception.
|
||||
* */
|
||||
base = base_act;
|
||||
if (base && base->object && base->object->mode & OB_MODE_PARTICLE_EDIT) {
|
||||
Object *ob = base->object;
|
||||
retval |= snapObject(
|
||||
scene, ar, ob, ob->obmat, false,
|
||||
mval, snap_to,
|
||||
ray_start, ray_normal, ray_origin, ray_depth,
|
||||
r_loc, r_no, r_dist_px, r_index, r_ob, r_obmat);
|
||||
}
|
||||
|
||||
for (base = FIRSTBASE; base != NULL; base = base->next) {
|
||||
if ((BASE_VISIBLE_BGMODE(v3d, scene, base)) &&
|
||||
(base->flag & (BA_HAS_RECALC_OB | BA_HAS_RECALC_DATA)) == 0 &&
|
||||
|
||||
@@ -668,7 +668,7 @@ typedef enum ObjectMode {
|
||||
OB_MODE_VERTEX_PAINT = 1 << 2,
|
||||
OB_MODE_WEIGHT_PAINT = 1 << 3,
|
||||
OB_MODE_TEXTURE_PAINT = 1 << 4,
|
||||
OB_MODE_PARTICLE_EDIT = 1 << 5,
|
||||
/*OB_MODE_PARTICLE_EDIT = 1 << 5,*/ /* DEPRECATED */
|
||||
OB_MODE_POSE = 1 << 6,
|
||||
OB_MODE_GPENCIL = 1 << 7, /* NOTE: Just a dummy to make the UI nicer */
|
||||
} ObjectMode;
|
||||
|
||||
Reference in New Issue
Block a user