Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r--source/blender/blenkernel/intern/object.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 875d716305f..2cb4356a52a 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -42,6 +42,7 @@
#include "DNA_constraint_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_group_types.h"
+#include "DNA_groom_types.h"
#include "DNA_key_types.h"
#include "DNA_lamp_types.h"
#include "DNA_lattice_types.h"
@@ -74,6 +75,7 @@
#include "BKE_pbvh.h"
#include "BKE_main.h"
#include "BKE_global.h"
+#include "BKE_groom.h"
#include "BKE_idprop.h"
#include "BKE_armature.h"
#include "BKE_action.h"
@@ -337,6 +339,13 @@ void BKE_object_free_derived_caches(Object *ob)
atomic_fetch_and_or_int32(&cu->bb->flag, BOUNDBOX_DIRTY);
}
}
+ else if (ELEM(ob->type, OB_GROOM)) {
+ Groom *groom = ob->data;
+
+ if (groom && groom->bb) {
+ atomic_fetch_and_or_int32(&groom->bb->flag, BOUNDBOX_DIRTY);
+ }
+ }
if (ob->bb) {
MEM_freeN(ob->bb);
@@ -527,6 +536,11 @@ bool BKE_object_is_in_editmode(const Object *ob)
if (cu->editnurb)
return true;
}
+ else if (ob->type == OB_GROOM) {
+ Groom *groom = ob->data;
+ if (groom->editgroom)
+ return true;
+ }
return false;
}
@@ -602,6 +616,7 @@ static const char *get_obdata_defname(int type)
case OB_SURF: return DATA_("Surf");
case OB_FONT: return DATA_("Text");
case OB_MBALL: return DATA_("Mball");
+ case OB_GROOM: return DATA_("Groom");
case OB_CAMERA: return DATA_("Camera");
case OB_LAMP: return DATA_("Lamp");
case OB_LATTICE: return DATA_("Lattice");
@@ -632,6 +647,7 @@ void *BKE_object_obdata_add_from_type(Main *bmain, int type, const char *name)
case OB_ARMATURE: return BKE_armature_add(bmain, name);
case OB_SPEAKER: return BKE_speaker_add(bmain, name);
case OB_LIGHTPROBE:return BKE_lightprobe_add(bmain, name);
+ case OB_GROOM: return BKE_groom_add(bmain, name);
case OB_EMPTY: return NULL;
default:
printf("%s: Internal error, bad type: %d\n", __func__, type);