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

Reply via email to