[Bf-blender-cvs] [3fbbef51c8b] hair_guides: "add" operator for groom objects.
Lukas Tönne
noreply at git.blender.org
Sun Dec 10 13:46:29 CET 2017
Commit: 3fbbef51c8b22d83e524639700fcda02941bf166
Author: Lukas Tönne
Date: Sun Dec 10 12:46:11 2017 +0000
Branches: hair_guides
https://developer.blender.org/rB3fbbef51c8b22d83e524639700fcda02941bf166
"add" operator for groom objects.
===================================================================
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
M source/blender/editors/object/object_add.c
M source/blender/editors/object/object_intern.h
M source/blender/editors/object/object_ops.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index a46358b2e38..d6f7edc06c2 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -195,6 +195,7 @@ class VIEW3D_PT_tools_add_object(View3DPanel, Panel):
layout.operator("object.empty_add", text="Empty", icon='OUTLINER_OB_EMPTY').type = 'PLAIN_AXES'
layout.operator("object.speaker_add", text="Speaker", icon='OUTLINER_OB_SPEAKER')
layout.operator("object.camera_add", text="Camera", icon='OUTLINER_OB_CAMERA')
+ layout.operator("object.groom_add", text="Groom", icon='NONE')
def draw(self, context):
layout = self.layout
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 98ee42f127b..3eb26fa52b8 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -36,6 +36,7 @@
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_curve_types.h"
+#include "DNA_groom_types.h"
#include "DNA_group_types.h"
#include "DNA_lamp_types.h"
#include "DNA_key_types.h"
@@ -72,6 +73,7 @@
#include "BKE_displist.h"
#include "BKE_effect.h"
#include "BKE_font.h"
+#include "BKE_groom.h"
#include "BKE_group.h"
#include "BKE_lamp.h"
#include "BKE_lattice.h"
@@ -776,6 +778,41 @@ void OBJECT_OT_metaball_add(wmOperatorType *ot)
ED_object_add_generic_props(ot, true);
}
+/********************* Add Groom Operator ********************/
+
+static int object_groom_add_exec(bContext *C, wmOperator *op)
+{
+ bool enter_editmode;
+ unsigned int layer;
+ float loc[3], rot[3];
+ if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, &enter_editmode, &layer, NULL))
+ return OPERATOR_CANCELLED;
+
+ Object *ob = ED_object_add_type(C, OB_GROOM, NULL, loc, rot, false, layer);
+
+ Groom *groom = ob->data;
+ UNUSED_VARS(groom);
+
+ return OPERATOR_FINISHED;
+}
+
+void OBJECT_OT_groom_add(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Add Groom";
+ ot->description = "Add a groom object to the scene";
+ ot->idname = "OBJECT_OT_groom_add";
+
+ /* api callbacks */
+ ot->exec = object_groom_add_exec;
+ ot->poll = ED_operator_objectmode;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ ED_object_add_generic_props(ot, true);
+}
+
/********************* Add Text Operator ********************/
static int object_add_text_exec(bContext *C, wmOperator *op)
diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h
index 3fde40af033..54c737801e5 100644
--- a/source/blender/editors/object/object_intern.h
+++ b/source/blender/editors/object/object_intern.h
@@ -120,6 +120,7 @@ void OBJECT_OT_lamp_add(struct wmOperatorType *ot);
void OBJECT_OT_effector_add(struct wmOperatorType *ot);
void OBJECT_OT_camera_add(struct wmOperatorType *ot);
void OBJECT_OT_speaker_add(struct wmOperatorType *ot);
+void OBJECT_OT_groom_add(struct wmOperatorType *ot);
void OBJECT_OT_group_instance_add(struct wmOperatorType *ot);
void OBJECT_OT_duplicates_make_real(struct wmOperatorType *ot);
diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c
index 1e68b67555b..9177725606d 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -114,6 +114,7 @@ void ED_operatortypes_object(void)
WM_operatortype_append(OBJECT_OT_lamp_add);
WM_operatortype_append(OBJECT_OT_camera_add);
WM_operatortype_append(OBJECT_OT_speaker_add);
+ WM_operatortype_append(OBJECT_OT_groom_add);
WM_operatortype_append(OBJECT_OT_add);
WM_operatortype_append(OBJECT_OT_add_named);
WM_operatortype_append(OBJECT_OT_effector_add);
More information about the Bf-blender-cvs
mailing list