diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-03-25 12:20:19 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-03-25 12:20:19 +0400 |
commit | 3b711a6ed009b35bb69cd0ca878eeb8d55fa0e77 (patch) | |
tree | b3fdb366cb49bdea5b57dfa6ba4a82635c68d0ee /source/blender/editors/physics/particle_object.c | |
parent | a2ebfc82dbe954acc432ae017ac62a30a11b6a16 (diff) | |
parent | e99a23fc6b33b5097eab44aac19c2a089ddebce6 (diff) |
Merged changes in the trunk up to revision 45133.
Conflicts resolved:
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/bmesh/intern/bmesh_construct.c
source/blender/bmesh/intern/bmesh_mesh_conv.c
source/blender/bmesh/intern/bmesh_mesh_conv.h
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/resources.c
source/blender/editors/mesh/bmesh_select.c
source/blender/editors/mesh/bmesh_tools.c
source/blender/editors/space_view3d/drawobject.c
source/blender/render/intern/source/shadeoutput.c
Diffstat (limited to 'source/blender/editors/physics/particle_object.c')
-rw-r--r-- | source/blender/editors/physics/particle_object.c | 242 |
1 files changed, 121 insertions, 121 deletions
diff --git a/source/blender/editors/physics/particle_object.c b/source/blender/editors/physics/particle_object.c index da3f7e1f7c1..1e71cf61817 100644 --- a/source/blender/editors/physics/particle_object.c +++ b/source/blender/editors/physics/particle_object.c @@ -70,7 +70,7 @@ static int particle_system_add_exec(bContext *C, wmOperator *UNUSED(op)) Object *ob= ED_object_context(C); Scene *scene = CTX_data_scene(C); - if(!scene || !ob) + if (!scene || !ob) return OPERATOR_CANCELLED; object_add_particle_system(scene, ob, NULL); @@ -84,16 +84,16 @@ static int particle_system_add_exec(bContext *C, wmOperator *UNUSED(op)) void OBJECT_OT_particle_system_add(wmOperatorType *ot) { /* identifiers */ - ot->name= "Add Particle System Slot"; - ot->idname= "OBJECT_OT_particle_system_add"; - ot->description="Add a particle system"; + ot->name = "Add Particle System Slot"; + ot->idname = "OBJECT_OT_particle_system_add"; + ot->description = "Add a particle system"; /* api callbacks */ - ot->poll= ED_operator_object_active_editable; - ot->exec= particle_system_add_exec; + ot->poll = ED_operator_object_active_editable; + ot->exec = particle_system_add_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } static int particle_system_remove_exec(bContext *C, wmOperator *UNUSED(op)) @@ -101,7 +101,7 @@ static int particle_system_remove_exec(bContext *C, wmOperator *UNUSED(op)) Object *ob= ED_object_context(C); Scene *scene = CTX_data_scene(C); int mode_orig = ob->mode; - if(!scene || !ob) + if (!scene || !ob) return OPERATOR_CANCELLED; object_remove_particle_system(scene, ob); @@ -109,9 +109,9 @@ static int particle_system_remove_exec(bContext *C, wmOperator *UNUSED(op)) /* possible this isn't the active object * object_remove_particle_system() clears the mode on the last psys * */ - if(mode_orig & OB_MODE_PARTICLE_EDIT) - if((ob->mode & OB_MODE_PARTICLE_EDIT)==0) - if(scene->basact && scene->basact->object==ob) + 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); WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE, ob); @@ -123,16 +123,16 @@ static int particle_system_remove_exec(bContext *C, wmOperator *UNUSED(op)) void OBJECT_OT_particle_system_remove(wmOperatorType *ot) { /* identifiers */ - ot->name= "Remove Particle System Slot"; - ot->idname= "OBJECT_OT_particle_system_remove"; - ot->description="Remove the selected particle system"; + ot->name = "Remove Particle System Slot"; + ot->idname = "OBJECT_OT_particle_system_remove"; + ot->description = "Remove the selected particle system"; /* api callbacks */ - ot->poll= ED_operator_object_active_editable; - ot->exec= particle_system_remove_exec; + ot->poll = ED_operator_object_active_editable; + ot->exec = particle_system_remove_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /********************** new particle settings operator *********************/ @@ -157,14 +157,14 @@ static int new_particle_settings_exec(bContext *C, wmOperator *UNUSED(op)) psys = ptr.data; /* add or copy particle setting */ - if(psys->part) + if (psys->part) part= psys_copy_settings(psys->part); else part= psys_new_settings("ParticleSettings", bmain); ob= ptr.id.data; - if(psys->part) + if (psys->part) psys->part->id.us--; psys->part = part; @@ -182,16 +182,16 @@ static int new_particle_settings_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_new(wmOperatorType *ot) { /* identifiers */ - ot->name= "New Particle Settings"; - ot->idname= "PARTICLE_OT_new"; - ot->description="Add new particle settings"; + ot->name = "New Particle Settings"; + ot->idname = "PARTICLE_OT_new"; + ot->description = "Add new particle settings"; /* api callbacks */ - ot->exec= new_particle_settings_exec; - ot->poll= psys_poll; + ot->exec = new_particle_settings_exec; + ot->poll = psys_poll; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /********************** keyed particle target operators *********************/ @@ -206,11 +206,11 @@ static int new_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) ParticleTarget *pt; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; pt = psys->targets.first; - for(; pt; pt=pt->next) + for (; pt; pt=pt->next) pt->flag &= ~PTARGET_CURRENT; pt = MEM_callocN(sizeof(ParticleTarget), "keyed particle target"); @@ -231,15 +231,15 @@ static int new_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_new_target(wmOperatorType *ot) { /* identifiers */ - ot->name= "New Particle Target"; - ot->idname= "PARTICLE_OT_new_target"; - ot->description="Add a new particle target"; + ot->name = "New Particle Target"; + ot->idname = "PARTICLE_OT_new_target"; + ot->description = "Add a new particle target"; /* api callbacks */ - ot->exec= new_particle_target_exec; + ot->exec = new_particle_target_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } static int remove_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) @@ -252,12 +252,12 @@ static int remove_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) ParticleTarget *pt; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; pt = psys->targets.first; - for(; pt; pt=pt->next) { - if(pt->flag & PTARGET_CURRENT) { + for (; pt; pt=pt->next) { + if (pt->flag & PTARGET_CURRENT) { BLI_remlink(&psys->targets, pt); MEM_freeN(pt); break; @@ -266,7 +266,7 @@ static int remove_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) } pt = psys->targets.last; - if(pt) + if (pt) pt->flag |= PTARGET_CURRENT; DAG_scene_sort(bmain, scene); @@ -280,15 +280,15 @@ static int remove_particle_target_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_target_remove(wmOperatorType *ot) { /* identifiers */ - ot->name= "Remove Particle Target"; - ot->idname= "PARTICLE_OT_target_remove"; - ot->description="Remove the selected particle target"; + ot->name = "Remove Particle Target"; + ot->idname = "PARTICLE_OT_target_remove"; + ot->description = "Remove the selected particle target"; /* api callbacks */ - ot->exec= remove_particle_target_exec; + ot->exec = remove_particle_target_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /************************ move up particle target operator *********************/ @@ -300,12 +300,12 @@ static int target_move_up_exec(bContext *C, wmOperator *UNUSED(op)) Object *ob = ptr.id.data; ParticleTarget *pt; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; pt = psys->targets.first; - for(; pt; pt=pt->next) { - if(pt->flag & PTARGET_CURRENT && pt->prev) { + for (; pt; pt=pt->next) { + if (pt->flag & PTARGET_CURRENT && pt->prev) { BLI_remlink(&psys->targets, pt); BLI_insertlink(&psys->targets, pt->prev->prev, pt); @@ -320,14 +320,14 @@ static int target_move_up_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_target_move_up(wmOperatorType *ot) { - ot->name= "Move Up Target"; - ot->idname= "PARTICLE_OT_target_move_up"; - ot->description= "Move particle target up in the list"; + ot->name = "Move Up Target"; + ot->idname = "PARTICLE_OT_target_move_up"; + ot->description = "Move particle target up in the list"; - ot->exec= target_move_up_exec; + ot->exec = target_move_up_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /************************ move down particle target operator *********************/ @@ -339,11 +339,11 @@ static int target_move_down_exec(bContext *C, wmOperator *UNUSED(op)) Object *ob = ptr.id.data; ParticleTarget *pt; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; pt = psys->targets.first; - for(; pt; pt=pt->next) { - if(pt->flag & PTARGET_CURRENT && pt->next) { + for (; pt; pt=pt->next) { + if (pt->flag & PTARGET_CURRENT && pt->next) { BLI_remlink(&psys->targets, pt); BLI_insertlink(&psys->targets, pt->next, pt); @@ -358,14 +358,14 @@ static int target_move_down_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_target_move_down(wmOperatorType *ot) { - ot->name= "Move Down Target"; - ot->idname= "PARTICLE_OT_target_move_down"; - ot->description= "Move particle target down in the list"; + ot->name = "Move Down Target"; + ot->idname = "PARTICLE_OT_target_move_down"; + ot->description = "Move particle target down in the list"; - ot->exec= target_move_down_exec; + ot->exec = target_move_down_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /************************ move up particle dupliweight operator *********************/ @@ -377,12 +377,12 @@ static int dupliob_move_up_exec(bContext *C, wmOperator *UNUSED(op)) ParticleSettings *part; ParticleDupliWeight *dw; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; part = psys->part; - for(dw=part->dupliweights.first; dw; dw=dw->next) { - if(dw->flag & PART_DUPLIW_CURRENT && dw->prev) { + for (dw=part->dupliweights.first; dw; dw=dw->next) { + if (dw->flag & PART_DUPLIW_CURRENT && dw->prev) { BLI_remlink(&part->dupliweights, dw); BLI_insertlink(&part->dupliweights, dw->prev->prev, dw); @@ -396,14 +396,14 @@ static int dupliob_move_up_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_dupliob_move_up(wmOperatorType *ot) { - ot->name= "Move Up Dupli Object"; - ot->idname= "PARTICLE_OT_dupliob_move_up"; - ot->description= "Move dupli object up in the list"; + ot->name = "Move Up Dupli Object"; + ot->idname = "PARTICLE_OT_dupliob_move_up"; + ot->description = "Move dupli object up in the list"; - ot->exec= dupliob_move_up_exec; + ot->exec = dupliob_move_up_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /********************** particle dupliweight operators *********************/ @@ -415,11 +415,11 @@ static int copy_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) ParticleSettings *part; ParticleDupliWeight *dw; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; part = psys->part; - for(dw=part->dupliweights.first; dw; dw=dw->next) { - if(dw->flag & PART_DUPLIW_CURRENT) { + for (dw=part->dupliweights.first; dw; dw=dw->next) { + if (dw->flag & PART_DUPLIW_CURRENT) { dw->flag &= ~PART_DUPLIW_CURRENT; dw = MEM_dupallocN(dw); dw->flag |= PART_DUPLIW_CURRENT; @@ -436,15 +436,15 @@ static int copy_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_dupliob_copy(wmOperatorType *ot) { /* identifiers */ - ot->name= "Copy Particle Dupliob"; - ot->idname= "PARTICLE_OT_dupliob_copy"; - ot->description="Duplicate the current dupliobject"; + ot->name = "Copy Particle Dupliob"; + ot->idname = "PARTICLE_OT_dupliob_copy"; + ot->description = "Duplicate the current dupliobject"; /* api callbacks */ - ot->exec= copy_particle_dupliob_exec; + ot->exec = copy_particle_dupliob_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } static int remove_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) @@ -454,12 +454,12 @@ static int remove_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) ParticleSettings *part; ParticleDupliWeight *dw; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; part = psys->part; - for(dw=part->dupliweights.first; dw; dw=dw->next) { - if(dw->flag & PART_DUPLIW_CURRENT) { + for (dw=part->dupliweights.first; dw; dw=dw->next) { + if (dw->flag & PART_DUPLIW_CURRENT) { BLI_remlink(&part->dupliweights, dw); MEM_freeN(dw); break; @@ -468,7 +468,7 @@ static int remove_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) } dw = part->dupliweights.last; - if(dw) + if (dw) dw->flag |= PART_DUPLIW_CURRENT; WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE, NULL); @@ -479,15 +479,15 @@ static int remove_particle_dupliob_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_dupliob_remove(wmOperatorType *ot) { /* identifiers */ - ot->name= "Remove Particle Dupliobject"; - ot->idname= "PARTICLE_OT_dupliob_remove"; - ot->description="Remove the selected dupliobject"; + ot->name = "Remove Particle Dupliobject"; + ot->idname = "PARTICLE_OT_dupliob_remove"; + ot->description = "Remove the selected dupliobject"; /* api callbacks */ - ot->exec= remove_particle_dupliob_exec; + ot->exec = remove_particle_dupliob_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /************************ move down particle dupliweight operator *********************/ @@ -499,12 +499,12 @@ static int dupliob_move_down_exec(bContext *C, wmOperator *UNUSED(op)) ParticleSettings *part; ParticleDupliWeight *dw; - if(!psys) + if (!psys) return OPERATOR_CANCELLED; part = psys->part; - for(dw=part->dupliweights.first; dw; dw=dw->next) { - if(dw->flag & PART_DUPLIW_CURRENT && dw->next) { + for (dw=part->dupliweights.first; dw; dw=dw->next) { + if (dw->flag & PART_DUPLIW_CURRENT && dw->next) { BLI_remlink(&part->dupliweights, dw); BLI_insertlink(&part->dupliweights, dw->next, dw); @@ -518,14 +518,14 @@ static int dupliob_move_down_exec(bContext *C, wmOperator *UNUSED(op)) void PARTICLE_OT_dupliob_move_down(wmOperatorType *ot) { - ot->name= "Move Down Dupli Object"; - ot->idname= "PARTICLE_OT_dupliob_move_down"; - ot->description= "Move dupli object down in the list"; + ot->name = "Move Down Dupli Object"; + ot->idname = "PARTICLE_OT_dupliob_move_down"; + ot->description = "Move dupli object down in the list"; - ot->exec= dupliob_move_down_exec; + ot->exec = dupliob_move_down_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } /************************ connect/disconnect hair operators *********************/ @@ -542,27 +542,27 @@ static void disconnect_hair(Scene *scene, Object *ob, ParticleSystem *psys) int i, k; float hairmat[4][4]; - if(!ob || !psys || psys->flag & PSYS_GLOBAL_HAIR) + if (!ob || !psys || psys->flag & PSYS_GLOBAL_HAIR) return; - if(!psys->part || psys->part->type != PART_HAIR) + if (!psys->part || psys->part->type != PART_HAIR) return; edit = psys->edit; point= edit ? edit->points : NULL; - for(i=0, pa=psys->particles; i<psys->totpart; i++,pa++) { - if(point) { + for (i=0, pa=psys->particles; i<psys->totpart; i++,pa++) { + if (point) { ekey = point->keys; point++; } psys_mat_hair_to_global(ob, psmd->dm, psys->part->from, pa, hairmat); - for(k=0,key=pa->hair; k<pa->totkey; k++,key++) { + for (k=0,key=pa->hair; k<pa->totkey; k++,key++) { mul_m4_v3(hairmat,key->co); - if(ekey) { + if (ekey) { ekey->flag &= ~PEK_USE_WCO; ekey++; } @@ -573,7 +573,7 @@ static void disconnect_hair(Scene *scene, Object *ob, ParticleSystem *psys) psys->flag |= PSYS_GLOBAL_HAIR; - if(ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_PUFF)) + if (ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_PUFF)) pset->brushtype = PE_BRUSH_NONE; PE_update_object(scene, ob, 0); @@ -587,11 +587,11 @@ static int disconnect_hair_exec(bContext *C, wmOperator *op) ParticleSystem *psys= NULL; int all = RNA_boolean_get(op->ptr, "all"); - if(!ob) + if (!ob) return OPERATOR_CANCELLED; - if(all) { - for(psys=ob->particlesystem.first; psys; psys=psys->next) { + if (all) { + for (psys=ob->particlesystem.first; psys; psys=psys->next) { disconnect_hair(scene, ob, psys); } } @@ -608,14 +608,14 @@ static int disconnect_hair_exec(bContext *C, wmOperator *op) void PARTICLE_OT_disconnect_hair(wmOperatorType *ot) { - ot->name= "Disconnect Hair"; - ot->description= "Disconnect hair from the emitter mesh"; - ot->idname= "PARTICLE_OT_disconnect_hair"; + ot->name = "Disconnect Hair"; + ot->description = "Disconnect hair from the emitter mesh"; + ot->idname = "PARTICLE_OT_disconnect_hair"; - ot->exec= disconnect_hair_exec; + ot->exec = disconnect_hair_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; RNA_def_boolean(ot->srna, "all", 0, "All hair", "Disconnect all hair systems from the emitter mesh"); } @@ -637,13 +637,13 @@ static void connect_hair(Scene *scene, Object *ob, ParticleSystem *psys) float hairmat[4][4], imat[4][4]; float v[4][3], vec[3]; - if(!psys || !psys->part || psys->part->type != PART_HAIR) + if (!psys || !psys->part || psys->part->type != PART_HAIR) return; edit= psys->edit; point= edit ? edit->points : NULL; - if(psmd->dm->deformedOnly) + if (psmd->dm->deformedOnly) /* we don't want to mess up psmd->dm when converting to global coordinates below */ dm= CDDM_copy(psmd->dm); else @@ -661,7 +661,7 @@ static void connect_hair(Scene *scene, Object *ob, ParticleSystem *psys) bvhtree_from_mesh_faces(&bvhtree, dm, 0.0, 2, 6); - for(i=0, pa= psys->particles; i<psys->totpart; i++,pa++) { + for (i=0, pa= psys->particles; i<psys->totpart; i++,pa++) { key = pa->hair; nearest.index = -1; @@ -669,7 +669,7 @@ static void connect_hair(Scene *scene, Object *ob, ParticleSystem *psys) BLI_bvhtree_find_nearest(bvhtree.tree, key->co, &nearest, bvhtree.nearest_callback, &bvhtree); - if(nearest.index == -1) { + if (nearest.index == -1) { if (G.f & G_DEBUG) printf("No nearest point found for hair root!"); continue; @@ -680,7 +680,7 @@ static void connect_hair(Scene *scene, Object *ob, ParticleSystem *psys) copy_v3_v3(v[0], CDDM_get_vert(dm,mface->v1)->co); copy_v3_v3(v[1], CDDM_get_vert(dm,mface->v2)->co); copy_v3_v3(v[2], CDDM_get_vert(dm,mface->v3)->co); - if(mface->v4) { + if (mface->v4) { copy_v3_v3(v[3], CDDM_get_vert(dm,mface->v4)->co); interp_weights_poly_v3( pa->fuv,v, 4, nearest.co); } @@ -695,16 +695,16 @@ static void connect_hair(Scene *scene, Object *ob, ParticleSystem *psys) sub_v3_v3v3(vec, nearest.co, key->co); - if(point) { + if (point) { ekey = point->keys; point++; } - for(k=0,key=pa->hair; k<pa->totkey; k++,key++) { + for (k=0,key=pa->hair; k<pa->totkey; k++,key++) { add_v3_v3(key->co, vec); mul_m4_v3(imat,key->co); - if(ekey) { + if (ekey) { ekey->flag |= PEK_USE_WCO; ekey++; } @@ -729,11 +729,11 @@ static int connect_hair_exec(bContext *C, wmOperator *op) ParticleSystem *psys= NULL; int all = RNA_boolean_get(op->ptr, "all"); - if(!ob) + if (!ob) return OPERATOR_CANCELLED; - if(all) { - for(psys=ob->particlesystem.first; psys; psys=psys->next) { + if (all) { + for (psys=ob->particlesystem.first; psys; psys=psys->next) { connect_hair(scene, ob, psys); } } @@ -750,14 +750,14 @@ static int connect_hair_exec(bContext *C, wmOperator *op) void PARTICLE_OT_connect_hair(wmOperatorType *ot) { - ot->name= "Connect Hair"; - ot->description= "Connect hair to the emitter mesh"; - ot->idname= "PARTICLE_OT_connect_hair"; + ot->name = "Connect Hair"; + ot->description = "Connect hair to the emitter mesh"; + ot->idname = "PARTICLE_OT_connect_hair"; - ot->exec= connect_hair_exec; + ot->exec = connect_hair_exec; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; RNA_def_boolean(ot->srna, "all", 0, "All hair", "Connect all hair systems to the emitter mesh"); } |