[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23959] trunk/blender: - added xmirror to the weightpaint options

Campbell Barton ideasman42 at gmail.com
Mon Oct 19 16:03:02 CEST 2009


Revision: 23959
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23959
Author:   campbellbarton
Date:     2009-10-19 16:03:02 +0200 (Mon, 19 Oct 2009)

Log Message:
-----------
- added xmirror to the weightpaint options
- made texture_slot return the texture slot for the node texture

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/buttons_texture.py
    trunk/blender/release/scripts/ui/space_view3d_toolbar.py
    trunk/blender/source/blender/blenkernel/BKE_material.h
    trunk/blender/source/blender/blenkernel/intern/material.c
    trunk/blender/source/blender/editors/interface/interface_icons.c
    trunk/blender/source/blender/editors/space_buttons/buttons_context.c
    trunk/blender/source/blender/makesrna/intern/rna_material.c

Modified: trunk/blender/release/scripts/ui/buttons_texture.py
===================================================================
--- trunk/blender/release/scripts/ui/buttons_texture.py	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/release/scripts/ui/buttons_texture.py	2009-10-19 14:03:02 UTC (rev 23959)
@@ -219,8 +219,12 @@
 
 class TEXTURE_PT_influence(TextureSlotPanel):
 	__label__ = "Influence"
+	def poll(self, context):
+		return 1
+		
 	
 	def draw(self, context):
+		
 		layout = self.layout
 		
 		idblock = context_tex_datablock(context)

Modified: trunk/blender/release/scripts/ui/space_view3d_toolbar.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d_toolbar.py	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/release/scripts/ui/space_view3d_toolbar.py	2009-10-19 14:03:02 UTC (rev 23959)
@@ -650,6 +650,11 @@
 		col.itemR(wpaint, "normals")
 		col.itemR(wpaint, "spray")
 		col.itemR(wpaint, "vertex_dist", text="Distance")
+		
+		
+		data = context.weight_paint_object.data
+		if type(data) == bpy.types.Mesh:
+			col.itemR(data, "use_mirror_x")
 
 # Commented out because the Apply button isn't an operator yet, making these settings useless
 #		col.itemL(text="Gamma:")

Modified: trunk/blender/source/blender/blenkernel/BKE_material.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_material.h	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/source/blender/blenkernel/BKE_material.h	2009-10-19 14:03:02 UTC (rev 23959)
@@ -47,6 +47,7 @@
 void init_material(struct Material *ma);
 struct Material *add_material(char *name);
 struct Material *copy_material(struct Material *ma);
+struct Material *give_node_material(struct Material *ma); /* returns node material or self */
 void make_local_material(struct Material *ma);
 
 void automatname(struct Material *);

Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/source/blender/blenkernel/intern/material.c	2009-10-19 14:03:02 UTC (rev 23959)
@@ -485,6 +485,18 @@
 	else return ob->data;
 }
 
+Material *give_node_material(Material *ma)
+{
+	if(ma && ma->use_nodes && ma->nodetree) {
+		bNode *node= nodeGetActiveID(ma->nodetree, ID_MA);
+
+		if(node)
+			return (Material *)node->id;
+	}
+
+	return NULL;
+}
+
 /* GS reads the memory pointed at in a specific ordering. There are,
  * however two definitions for it. I have jotted them down here, both,
  * but I think the first one is actually used. The thing is that

Modified: trunk/blender/source/blender/editors/interface/interface_icons.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_icons.c	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/source/blender/editors/interface/interface_icons.c	2009-10-19 14:03:02 UTC (rev 23959)
@@ -38,6 +38,8 @@
 #endif   
 #include "MEM_guardedalloc.h"
 
+#include "GPU_extensions.h"
+
 #include "BLI_arithb.h"
 #include "BLI_blenlib.h"
 #include "BLI_storage_types.h"

Modified: trunk/blender/source/blender/editors/space_buttons/buttons_context.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/buttons_context.c	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/source/blender/editors/space_buttons/buttons_context.c	2009-10-19 14:03:02 UTC (rev 23959)
@@ -622,7 +622,9 @@
 		PointerRNA *ptr;
 
 		if((ptr=get_pointer_type(path, &RNA_Material))) {
-			Material *ma= ptr->data;
+			Material *ma= ptr->data; /* should this be made a different option? */
+			Material *ma_node= give_node_material(ma);
+			ma= ma_node?ma_node:ma;
 
 			if(ma)
 				CTX_data_pointer_set(result, &ma->id, &RNA_MaterialTextureSlot, ma->mtex[(int)ma->texact]);

Modified: trunk/blender/source/blender/makesrna/intern/rna_material.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_material.c	2009-10-19 13:41:02 UTC (rev 23958)
+++ trunk/blender/source/blender/makesrna/intern/rna_material.c	2009-10-19 14:03:02 UTC (rev 23959)
@@ -58,6 +58,7 @@
 
 #include "BKE_depsgraph.h"
 #include "BKE_main.h"
+#include "BKE_material.h"
 #include "BKE_texture.h"
 #include "BKE_node.h"
 
@@ -143,19 +144,8 @@
 
 static PointerRNA rna_Material_active_node_material_get(PointerRNA *ptr)
 {
-	Material *ma= (Material*)ptr->data;
-	Material *ma_node= NULL;
-
-	/* used in buttons to check context, also checks for edited groups */
-
-	if(ma && ma->use_nodes && ma->nodetree) {
-		bNode *node= nodeGetActiveID(ma->nodetree, ID_MA);
-
-		if(node)
-			ma_node= (Material *)node->id;
-	}
-
-	return rna_pointer_inherit_refine(ptr, &RNA_Material, ma_node);
+	Material *ma= give_node_material((Material*)ptr->data);
+	return rna_pointer_inherit_refine(ptr, &RNA_Material, ma);
 }
 
 static void rna_Material_active_node_material_set(PointerRNA *ptr, PointerRNA value)





More information about the Bf-blender-cvs mailing list