Commit: e69b046825c9886a66aeca4afda7ca30a8c36d85 Author: Lukas Tönne Date: Sun Aug 12 13:48:01 2018 +0100 Branches: hair_object https://developer.blender.org/rBe69b046825c9886a66aeca4afda7ca30a8c36d85
Remove the hair modifier. A new object type for hair will be used instead. =================================================================== M intern/cycles/blender/blender_curves.cpp M release/scripts/startup/bl_ui/properties_data_modifier.py M release/scripts/startup/bl_ui/space_view3d_toolbar.py M source/blender/blenloader/intern/readfile.c M source/blender/blenloader/intern/writefile.c M source/blender/draw/engines/eevee/eevee_materials.c M source/blender/editors/object/object_intern.h M source/blender/editors/object/object_modifier.c M source/blender/editors/object/object_ops.c M source/blender/editors/space_outliner/outliner_draw.c M source/blender/makesdna/DNA_modifier_types.h M source/blender/makesrna/RNA_access.h M source/blender/makesrna/intern/rna_modifier.c M source/blender/modifiers/CMakeLists.txt M source/blender/modifiers/MOD_modifiertypes.h D source/blender/modifiers/intern/MOD_hair.c M source/blender/modifiers/intern/MOD_util.c =================================================================== diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp index 9e0921a8f6c..840e90670b5 100644 --- a/intern/cycles/blender/blender_curves.cpp +++ b/intern/cycles/blender/blender_curves.cpp @@ -429,24 +429,6 @@ static bool ObtainCacheDataFromObject(Mesh *mesh, &curvenum, &keyno); } - if((b_mod->type() == b_mod->type_HAIR)) { - BL::HairModifier b_hmd((const PointerRNA)b_mod->ptr); - BL::HairSystem b_hsys = b_hmd.hair_system(); - - const int material_index = 1; /* TODO */ - int shader = clamp(material_index - 1, 0, mesh->used_shaders.size()-1); - - BL::Mesh b_scalp(b_ob->data()); - - ObtainCacheDataFromHairSystem(b_ob, - &b_hsys, - &b_scalp, - shader, - background, - CData, - &curvenum, - &keyno); - } } } diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index e2a537acadd..93e789bbd19 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -20,7 +20,7 @@ import bpy from bpy.types import Panel from bpy.app.translations import pgettext_iface as iface_ -from .properties_hair_common import draw_hair_display_settings + class ModifierButtonsPanel: bl_space_type = 'PROPERTIES' @@ -1577,27 +1577,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): if md.rest_source == 'BIND': layout.operator("object.correctivesmooth_bind", text="Unbind" if is_bind else "Bind") - def HAIR(self, layout, ob, md): - hsys = md.hair_system - - split = layout.split() - - col = split.column() - col.label("Follicles:") - col.prop(md, "follicle_seed") - col.prop(md, "follicle_count") - col.operator("object.hair_generate_follicles", text="Generate") - - col = split.column() - - col.separator() - - col.prop(hsys, "material_slot", text="") - - col = layout.column() - col.label("Display Settings:") - draw_hair_display_settings(col, md.draw_settings) - def WEIGHTED_NORMAL(self, layout, ob, md): layout.label("Weighting Mode:") split = layout.split(align=True) diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index febe95c5522..66f15f6a8ce 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -78,6 +78,7 @@ def is_not_gpencil_edit_mode(context): ) return not is_gpmode + # ********** default tools for editmode_mesh **************** diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 9655d69ca4a..208c03b8004 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5438,16 +5438,6 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb) } } } - else if (md->type == eModifierType_Hair) { - HairModifierData *hmd = (HairModifierData *)md; - - hmd->hair_system = newdataadr(fd, hmd->hair_system); - direct_link_hair(fd, hmd->hair_system); - - hmd->draw_settings = newdataadr(fd, hmd->draw_settings); - - BLI_listbase_clear(&hmd->fiber_curves); // runtime - } } } diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index f5ee0bdb244..29c640eff37 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -1801,18 +1801,6 @@ static void write_modifiers(WriteData *wd, ListBase *modbase) } } } - else if (md->type == eModifierType_Hair) { - HairModifierData *hmd = (HairModifierData *)md; - - if (hmd->hair_system) { - writestruct(wd, DATA, HairSystem, 1, hmd->hair_system); - write_hair(wd, hmd->hair_system); - } - if (hmd->draw_settings) - { - writestruct(wd, DATA, HairDrawSettings, 1, hmd->draw_settings); - } - } } } diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 1eb63e0f0eb..3cc6593ea6e 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1835,14 +1835,6 @@ void EEVEE_hair_cache_populate(EEVEE_Data *vedata, EEVEE_ViewLayerData *sldata, material_particle_hair(vedata, sldata, ob, psys, md); *cast_shadow = true; } - else if (md->type == eModifierType_Hair) { - HairModifierData *hmd = (HairModifierData *)md; - - const int material_index = 1; /* TODO */ - Material *material = give_current_material(ob, material_index); - - material_hair(vedata, sldata, ob, hmd->hair_system, hmd->draw_settings, material, ob->data); - } } } } diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h index 2cc8671d84b..ef8653541f0 100644 --- a/source/blender/editors/object/object_intern.h +++ b/source/blender/editors/object/object_intern.h @@ -175,7 +175,6 @@ void OBJECT_OT_skin_radii_equalize(struct wmOperatorType *ot); void OBJECT_OT_skin_armature_create(struct wmOperatorType *ot); void OBJECT_OT_laplaciandeform_bind(struct wmOperatorType *ot); void OBJECT_OT_surfacedeform_bind(struct wmOperatorType *ot); -void OBJECT_OT_hair_generate_follicles(struct wmOperatorType *ot); /* grease pencil modifiers */ void OBJECT_OT_gpencil_modifier_add(struct wmOperatorType *ot); diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 8384755c679..43f651b0532 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -37,7 +37,6 @@ #include "DNA_anim_types.h" #include "DNA_armature_types.h" #include "DNA_curve_types.h" -#include "DNA_hair_types.h" #include "DNA_key_types.h" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" @@ -59,14 +58,12 @@ #include "BKE_DerivedMesh.h" #include "BKE_effect.h" #include "BKE_global.h" -#include "BKE_hair.h" #include "BKE_key.h" #include "BKE_lattice.h" #include "BKE_main.h" #include "BKE_mesh.h" #include "BKE_mesh_mapping.h" #include "BKE_mesh_runtime.h" -#include "BKE_mesh_sample.h" #include "BKE_modifier.h" #include "BKE_multires.h" #include "BKE_report.h" @@ -2420,88 +2417,3 @@ void OBJECT_OT_surfacedeform_bind(wmOperatorType *ot) ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL; edit_modifier_properties(ot); } - -/************************ Hair follicle generate operator *********************/ - -static int hair_generate_follicles_poll(bContext *C) -{ - return edit_modifier_poll_generic(C, &RNA_HairModifier, 0); -} - -static int hair_generate_follicles_exec(bContext *C, wmOperator *op) -{ - Object *ob = ED_object_active_context(C); - HairModifierData *hmd = (HairModifierData *)edit_modifier_property_get(op, ob, eModifierType_Hair); - - if (!hmd) - return OPERATOR_CANCELLED; - - BLI_assert(hmd->hair_system != NULL); - - struct Depsgraph *depsgraph = CTX_data_depsgraph(C); - - BLI_assert(ob && ob->type == OB_MESH); - Mesh *scalp = (Mesh *)DEG_get_evaluated_id(depsgraph, ob->data); - HairSystem *hsys = hmd->hair_system; - - BKE_hair_generate_follicles( - hsys, - scalp, - (unsigned int)hmd->follicle_seed, - hmd->follicle_count); - - { - const int numverts = 5; - const float hairlen = 0.05f; - const float taper_length = 0.02f; - const float taper_thickness = 0.8f; - BKE_hair_fiber_curves_begin(hsys, hsys->pattern->num_follicles); - for (int i = 0; i < hsys->pattern->num_follicles; ++i) - { - BKE_hair_set_fiber_curve(hsys, i, numverts, taper_length, taper_thickness); - } - BKE_hair_fiber_curves_end(hsys); - for (int i = 0; i < hsys->pattern->num_follicles; ++i) - { - float loc[3], nor[3], tan[3]; - BKE_mesh_sample_eval(scalp, &hsys->pattern->follicles[i].mesh_sample, loc, nor, tan); - for (int j = 0; j < numverts; ++j) - { - madd_v3_v3fl(loc, nor, hairlen / (numverts-1)); - BKE_hair_set_fiber_vertex(hsys, i * numverts + j, 0, loc); - } - } - } - - BKE_hair_bind_follicles(hmd->hair_system, scalp); - - DEG_id_tag_update(&ob->id, OB_RECALC_DATA); - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); - - return OPERATOR_FINISHED; -} - -static int hair_generate_follicles_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) -{ - if (edit_modifier_invoke_properties(C, op)) - return hair_generate_follicles_exec(C, op); - else - return OPERATOR_CANCELLED; -} - -void OBJECT_OT_hair_generate_follicles(wmOperatorType *ot) -{ - /* identifiers */ - ot->name = "Hair Follicles Generate"; - ot->description = "Generate hair follicles for a hair modifier"; - ot->idname = "OBJECT_OT_hair_generate_follicles"; - - /* api callbacks */ - ot->poll = hair_generate_follicles_poll; - ot->invoke = hair_generate_follicles_invoke; - ot->exec = hair_generate_follicles_exec; - - /* flags */ - ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL; - edit_modifier_properties(ot); -} diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index 16ea0791adf..ac2eb60456f 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -263,7 +263,6 @@ void ED_operatortypes_object(void) WM_operatortype_append(OBJECT_OT_data_transfer); WM_operatortype_append(OBJECT_OT_datalayout_transfer); WM_operatortype_append(OBJECT_OT_surfacedeform_bind); - WM_operatortype_append(OBJECT_OT_hair_generate_follicles); WM_operatortype_append(OBJECT_OT_hide_view_clear); WM_operatortype_append(OBJECT_OT_hide_view_set); diff --git a/source/blender/editors/space_outliner/outliner_draw.c @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs