Revision: 21129
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21129
Author:   blendix
Date:     2009-06-24 16:07:48 +0200 (Wed, 24 Jun 2009)

Log Message:
-----------
2.5: Object material slot operators add/remove/assign/select/deselect.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_material.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/material.c
    branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h
    branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
    branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
    branches/blender2.5/blender/source/blender/editors/curve/editfont.c
    branches/blender2.5/blender/source/blender/editors/include/ED_curve.h
    branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
    
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_intern.h
    
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_ops.c
    
branches/blender2.5/blender/source/blender/editors/space_buttons/space_buttons.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_material.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_material.h        
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_material.h        
2009-06-24 14:07:48 UTC (rev 21129)
@@ -39,6 +39,8 @@
 struct ID;
 struct Object;
 
+/* materials */
+
 void init_def_material(void);
 void free_material(struct Material *sc); 
 void test_object_materials(struct ID *id);
@@ -47,16 +49,23 @@
 struct Material *copy_material(struct Material *ma);
 void make_local_material(struct Material *ma);
 
+void automatname(struct Material *);
+
+/* material slots */
+
 struct Material ***give_matarar(struct Object *ob);
 short *give_totcolp(struct Object *ob);
 struct Material *give_current_material(struct Object *ob, int act);
 struct ID *material_from(struct Object *ob, int act);
 void assign_material(struct Object *ob, struct Material *ma, int act);
-void new_material_to_objectdata(struct Object *ob);
 
 int find_material_index(struct Object *ob, struct Material *ma);
 
+void object_add_material_slot(struct Object *ob);
+void object_remove_material_slot(struct Object *ob);
 
+/* rendering */
+
 void init_render_material(struct Material *, int, float *);
 void init_render_materials(int, float *);
 void end_render_material(struct Material *);
@@ -64,12 +73,8 @@
 
 int material_in_material(struct Material *parmat, struct Material *mat);
 
-void automatname(struct Material *);
-void delete_material_index(struct Object *ob);            
-
 void ramp_blend(int type, float *r, float *g, float *b, float fac, float *col);
 
-
 #ifdef __cplusplus
 }
 #endif

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/material.c     
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/material.c     
2009-06-24 14:07:48 UTC (rev 21129)
@@ -615,7 +615,7 @@
        return 0;          
 }
 
-void new_material_to_objectdata(Object *ob)
+void object_add_material_slot(Object *ob)
 {
        Material *ma;
        
@@ -854,7 +854,7 @@
 }
 
 
-void delete_material_index(Object *ob)
+void object_remove_material_slot(Object *ob)
 {
        Material *mao, ***matarar;
        Object *obt;

Modified: 
branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h     
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h     
2009-06-24 14:07:48 UTC (rev 21129)
@@ -49,7 +49,6 @@
 void FONT_OT_case_set(struct wmOperatorType *ot);
 void FONT_OT_style_toggle(struct wmOperatorType *ot);
 void FONT_OT_style_set(struct wmOperatorType *ot);
-void FONT_OT_material_set(struct wmOperatorType *ot);
 
 void FONT_OT_text_copy(struct wmOperatorType *ot);
 void FONT_OT_text_cut(struct wmOperatorType *ot);

Modified: branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c        
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c        
2009-06-24 14:07:48 UTC (rev 21129)
@@ -106,7 +106,6 @@
        WM_operatortype_append(FONT_OT_case_set);
        WM_operatortype_append(FONT_OT_style_toggle);
        WM_operatortype_append(FONT_OT_style_set);
-       WM_operatortype_append(FONT_OT_material_set);
 
        WM_operatortype_append(FONT_OT_text_copy);
        WM_operatortype_append(FONT_OT_text_cut);

Modified: branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c        
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/curve/editcurve.c        
2009-06-24 14:07:48 UTC (rev 21129)
@@ -189,7 +189,7 @@
                return select_bpoint(bp, SELECT, 1, VISIBLE);
 }
 
-short isNurbsel(Nurb *nu)
+int isNurbsel(Nurb *nu)
 {
        BezTriple *bezt;
        BPoint *bp;

Modified: branches/blender2.5/blender/source/blender/editors/curve/editfont.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/curve/editfont.c 
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/curve/editfont.c 
2009-06-24 14:07:48 UTC (rev 21129)
@@ -700,50 +700,6 @@
        RNA_def_enum(ot->srna, "style", style_items, CU_BOLD, "Style", "Style 
to set selection to.");
 }
 
-/******************* set material operator ********************/
-
-static int set_material_exec(bContext *C, wmOperator *op)
-{
-       Scene *scene= CTX_data_scene(C);
-       Object *obedit= CTX_data_edit_object(C);
-       Curve *cu= obedit->data;
-       EditFont *ef= cu->editfont;
-       int i, mat_nr, selstart, selend;
-
-       if(!BKE_font_getselection(obedit, &selstart, &selend))
-               return OPERATOR_CANCELLED;
-
-       if(RNA_property_is_set(op->ptr, "index"))
-               mat_nr= RNA_int_get(op->ptr, "index");
-       else
-               mat_nr= obedit->actcol;
-
-       for(i=selstart; i<=selend; i++)
-               ef->textbufinfo[i].mat_nr = mat_nr;
-
-       DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
-       WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_DATA, obedit);
-
-       return OPERATOR_FINISHED;
-}
-
-void FONT_OT_material_set(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name= "Set Material";
-       ot->idname= "FONT_OT_material_set";
-       
-       /* api callbacks */
-       ot->exec= set_material_exec;
-       ot->poll= ED_operator_editfont;
-       
-       /* flags */
-       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
-       /* properties */
-       RNA_def_int(ot->srna, "index", 0, 0, INT_MAX, "Material Index", 
"Material slot index.", 0, INT_MAX);
-}
-
 /******************* copy text operator ********************/
 
 static void copy_selection(Object *obedit)

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_curve.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_curve.h       
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_curve.h       
2009-06-24 14:07:48 UTC (rev 21129)
@@ -30,6 +30,7 @@
 
 struct Base;
 struct bContext;
+struct Nurb;
 struct Object;
 struct Scene;
 struct Text;
@@ -52,6 +53,8 @@
 
 struct Nurb *add_nurbs_primitive(struct bContext *C, int type, int newname);
 
+int            isNurbsel               (struct Nurb *nu);;
+
 /* editfont.h */
 void   undo_push_font  (struct bContext *C, char *name);
 void   make_editText   (struct Object *obedit);

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h        
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h        
2009-06-24 14:07:48 UTC (rev 21129)
@@ -147,6 +147,9 @@
 void           EM_hide_mesh(struct EditMesh *em, int swap);
 void           EM_reveal_mesh(struct EditMesh *em);
 
+void           EM_select_by_material(struct EditMesh *em, int index);
+void           EM_deselect_by_material(struct EditMesh *em, int index); 
+
 /* editface.c */
 struct MTFace  *EM_get_active_mtface(struct EditMesh *em, struct EditFace 
**act_efa, struct MCol **mcol, int sloppy);
 

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-06-24 14:07:48 UTC (rev 21129)
@@ -1556,7 +1556,7 @@
                /* clear selection, we're going to use that to select material 
group */
                EM_clear_flag_all(em, SELECT);
                /* select the material */
-               editmesh_select_by_material(em, curr_mat);
+               EM_select_by_material(em, curr_mat);
                /* and now separate */
                if(0==mesh_separate_selected(scene, editbase)) {
                        BKE_mesh_end_editmesh(me, em);

Modified: 
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c     
2009-06-24 14:03:55 UTC (rev 21128)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c     
2009-06-24 14:07:48 UTC (rev 21129)
@@ -3484,7 +3484,7 @@
        RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, 
"Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f);
 }
 
-void editmesh_select_by_material(EditMesh *em, int index) 
+void EM_select_by_material(EditMesh *em, int index) 
 {
        EditFace *efa;
        
@@ -3497,7 +3497,7 @@
        EM_selectmode_flush(em);
 }
 
-void editmesh_deselect_by_material(EditMesh *em, int index) 
+void EM_deselect_by_material(EditMesh *em, int index) 
 {
        EditFace *efa;
        

Modified: 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_intern.h
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_intern.h
   2009-06-24 14:03:55 UTC (rev 21128)
+++ 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_intern.h
   2009-06-24 14:07:48 UTC (rev 21129)
@@ -61,6 +61,12 @@
 void buttons_context_register(struct ARegionType *art);
 
 /* buttons_ops.c */
+void OBJECT_OT_material_slot_add(struct wmOperatorType *ot);
+void OBJECT_OT_material_slot_remove(struct wmOperatorType *ot);
+void OBJECT_OT_material_slot_assign(struct wmOperatorType *ot);
+void OBJECT_OT_material_slot_select(struct wmOperatorType *ot);
+void OBJECT_OT_material_slot_deselect(struct wmOperatorType *ot);
+
 void MATERIAL_OT_new(struct wmOperatorType *ot);
 void TEXTURE_OT_new(struct wmOperatorType *ot);
 void WORLD_OT_new(struct wmOperatorType *ot);

Modified: 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_ops.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_ops.c  
    2009-06-24 14:03:55 UTC (rev 21128)

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to