[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18263] branches/blender2.5/blender/source /blender: RNA

Brecht Van Lommel brecht at blender.org
Fri Jan 2 15:48:03 CET 2009


Revision: 18263
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18263
Author:   blendix
Date:     2009-01-02 15:48:03 +0100 (Fri, 02 Jan 2009)

Log Message:
-----------
RNA
* Finished last Lattice properties, is done now.
* Some tweaks to Mesh structs naming.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c

Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-01-02 14:11:18 UTC (rev 18262)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-01-02 14:48:03 UTC (rev 18263)
@@ -3168,15 +3168,15 @@
 		return ICON_OBJECT;
 	else if(rnatype == &RNA_Mesh)
 		return ICON_MESH;
-	else if(rnatype == &RNA_MVert)
+	else if(rnatype == &RNA_MeshVertex)
 		return ICON_VERTEXSEL;
-	else if(rnatype == &RNA_MEdge)
+	else if(rnatype == &RNA_MeshEdge)
 		return ICON_EDGESEL;
-	else if(rnatype == &RNA_MFace)
+	else if(rnatype == &RNA_MeshFace)
 		return ICON_FACESEL;
-	else if(rnatype == &RNA_MTFace)
+	else if(rnatype == &RNA_MeshTextureFace)
 		return ICON_FACESEL_HLT;
-	else if(rnatype == &RNA_MVertGroup)
+	else if(rnatype == &RNA_MeshVertexGroup)
 		return ICON_VGROUP;
 	else if(rnatype == &RNA_Curve)
 		return ICON_CURVE;

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-02 14:11:18 UTC (rev 18262)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-02 14:48:03 UTC (rev 18263)
@@ -110,28 +110,29 @@
 extern StructRNA RNA_Lamp;
 extern StructRNA RNA_Lattice;
 extern StructRNA RNA_LatticeModifier;
+extern StructRNA RNA_LatticePoint;
 extern StructRNA RNA_Library;
 extern StructRNA RNA_MCol;
 extern StructRNA RNA_MColLayer;
-extern StructRNA RNA_MEdge;
-extern StructRNA RNA_MFace;
 extern StructRNA RNA_MFloatProperty;
 extern StructRNA RNA_MFloatPropertyLayer;
 extern StructRNA RNA_MIntProperty;
 extern StructRNA RNA_MIntPropertyLayer;
-extern StructRNA RNA_MMultires;
 extern StructRNA RNA_MSticky;
 extern StructRNA RNA_MStringProperty;
 extern StructRNA RNA_MStringPropertyLayer;
-extern StructRNA RNA_MTFace;
-extern StructRNA RNA_MTFaceLayer;
-extern StructRNA RNA_MVert;
-extern StructRNA RNA_MVertGroup;
 extern StructRNA RNA_Main;
 extern StructRNA RNA_MaskModifier;
 extern StructRNA RNA_Material;
 extern StructRNA RNA_Mesh;
 extern StructRNA RNA_MeshDeformModifier;
+extern StructRNA RNA_MeshEdge;
+extern StructRNA RNA_MeshFace;
+extern StructRNA RNA_MeshMultires;
+extern StructRNA RNA_MeshTextureFace;
+extern StructRNA RNA_MeshTextureFaceLayer;
+extern StructRNA RNA_MeshVertex;
+extern StructRNA RNA_MeshVertexGroup;
 extern StructRNA RNA_MessageSensor;
 extern StructRNA RNA_MetaBall;
 extern StructRNA RNA_MetaElement;

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c	2009-01-02 14:11:18 UTC (rev 18262)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c	2009-01-02 14:48:03 UTC (rev 18263)
@@ -29,17 +29,91 @@
 
 #include "rna_internal.h"
 
+#include "DNA_key_types.h"
 #include "DNA_lattice_types.h"
-#include "DNA_key_types.h"
+#include "DNA_meshdata_types.h"
 
 #ifdef RNA_RUNTIME
+
+static float rna_LatticePoint_co_get(PointerRNA *ptr, int index)
+{
+	Lattice *lt= (Lattice*)ptr->id.data;
+	BPoint *bp= (BPoint*)ptr->data;
+	int a= bp - lt->def;
+
+	if(index == 0) {
+		int x= a % lt->pntsu;
+		return lt->fu + x*lt->du;
+	}
+	else if(index == 1) {
+		int y= (a/lt->pntsu) % lt->pntsv;
+		return lt->fv + y*lt->dv;
+	}
+	else {
+		int z= (a/(lt->pntsu*lt->pntsv));
+		return lt->fw + z*lt->dw;
+	}
+}
+
+static void rna_LatticePoint_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+	Lattice *lt= (Lattice*)ptr->id.data;
+
+	if(lt->dvert) {
+		BPoint *bp= (BPoint*)ptr->data;
+		MDeformVert *dvert= lt->dvert + (bp-lt->def);
+
+		rna_iterator_array_begin(iter, (void*)dvert->dw, sizeof(MDeformWeight), dvert->totweight, NULL);
+	}
+	else
+		rna_iterator_array_begin(iter, NULL, 0, 0, NULL);
+}
+
+static void rna_Lattice_points_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+	Lattice *lt= (Lattice*)ptr->data;
+
+	if(lt->def) {
+		int tot= lt->pntsu*lt->pntsv*lt->pntsw;
+		rna_iterator_array_begin(iter, (void*)lt->def, sizeof(BPoint), tot, NULL);
+	}
+	else
+		rna_iterator_array_begin(iter, NULL, 0, 0, NULL);
+}
+
 #else
 
-void RNA_def_lattice(BlenderRNA *brna)
+static void rna_def_latticepoint(BlenderRNA *brna)
 {
 	StructRNA *srna;
 	PropertyRNA *prop;
 
+	srna= RNA_def_struct(brna, "LatticePoint", NULL);
+	RNA_def_struct_sdna(srna, "BPoint");
+	RNA_def_struct_ui_text(srna, "LatticePoint", "Point in the lattice grid.");
+
+	prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+	RNA_def_property_float_funcs(prop, "rna_LatticePoint_co_get", NULL, NULL);
+	RNA_def_property_ui_text(prop, "Location", "");
+
+	prop= RNA_def_property(srna, "deformed_co", PROP_FLOAT, PROP_VECTOR);
+	RNA_def_property_float_sdna(prop, NULL, "vec");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Deformed Location", "");
+
+	prop= RNA_def_property(srna, "groups", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_funcs(prop, "rna_LatticePoint_groups_begin", "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_get", 0, 0, 0, 0);
+	RNA_def_property_struct_type(prop, "MeshVertexGroup");
+	RNA_def_property_ui_text(prop, "Groups", "Weights for the vertex groups this point is member of.");
+}
+
+static void rna_def_lattice(BlenderRNA *brna)
+{
+	StructRNA *srna;
+	PropertyRNA *prop;
+
 	static EnumPropertyItem prop_keyblock_type_items[] = {
 		{KEY_LINEAR, "KEY_LINEAR", "Linear", ""},
 		{KEY_CARDINAL, "KEY_CARDINAL", "Cardinal", ""},
@@ -87,7 +161,18 @@
 
 	prop= RNA_def_property(srna, "key", PROP_POINTER, PROP_NONE);
 	RNA_def_property_ui_text(prop, "Shape Keys", "");
+
+	prop= RNA_def_property(srna, "points", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_struct_type(prop, "LatticePoint");
+	RNA_def_property_collection_funcs(prop, "rna_Lattice_points_begin", "rna_iterator_array_next", "rna_iterator_array_end", "rna_iterator_array_get", 0, 0, 0, 0);
+	RNA_def_property_ui_text(prop, "Points", "Points of the lattice.");
 }
 
+void RNA_def_lattice(BlenderRNA *brna)
+{
+	rna_def_lattice(brna);
+	rna_def_latticepoint(brna);
+}
+
 #endif
 

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c	2009-01-02 14:11:18 UTC (rev 18262)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c	2009-01-02 14:48:03 UTC (rev 18263)
@@ -38,19 +38,19 @@
 
 #ifdef RNA_RUNTIME
 
-/*static float rna_MVert_no_get(PointerRNA *ptr, int index)
+/*static float rna_MeshVertex_no_get(PointerRNA *ptr, int index)
 {
 	MVert *mvert= (MVert*)ptr->data;
 	return mvert->no[index]/32767.0f;
 }*/
 
-static float rna_MVert_bevel_weight_get(PointerRNA *ptr)
+static float rna_MeshVertex_bevel_weight_get(PointerRNA *ptr)
 {
 	MVert *mvert= (MVert*)ptr->data;
 	return mvert->bweight/255.0f;
 }
 
-static void rna_MVert_bevel_weight_set(PointerRNA *ptr, float value)
+static void rna_MeshVertex_bevel_weight_set(PointerRNA *ptr, float value)
 {
 	MVert *mvert= (MVert*)ptr->data;
 	mvert->bweight= (char)(CLAMPIS(value*255.0f, 0, 255));
@@ -134,7 +134,7 @@
 	return (me->texflag & AUTOSPACE)? PROP_NOT_EDITABLE: 0;
 }
 
-static void rna_MVert_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+static void rna_MeshVertex_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 
@@ -148,14 +148,14 @@
 		rna_iterator_array_begin(iter, NULL, 0, 0, NULL);
 }
 
-static void rna_MMultires_level_range(PointerRNA *ptr, int *min, int *max)
+static void rna_MeshMultires_level_range(PointerRNA *ptr, int *min, int *max)
 {
 	Multires *mr= (Multires*)ptr->data;
 	*min= 1;
 	*max= mr->level_count;
 }
 
-static void rna_MFace_mat_index_range(PointerRNA *ptr, int *min, int *max)
+static void rna_MeshFace_material_index_range(PointerRNA *ptr, int *min, int *max)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	*min= 0;
@@ -213,83 +213,83 @@
 	return rna_CustomDataLayer_length(ptr, CD_MTFACE);
 }
 
-static float rna_MTFace_uv1_get(PointerRNA *ptr, int index)
+static float rna_MeshTextureFace_uv1_get(PointerRNA *ptr, int index)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	return mtface->uv[0][index];
 }
 
-static void rna_MTFace_uv1_set(PointerRNA *ptr, int index, float value)
+static void rna_MeshTextureFace_uv1_set(PointerRNA *ptr, int index, float value)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	mtface->uv[0][index]= value;
 }
 
-static float rna_MTFace_uv2_get(PointerRNA *ptr, int index)
+static float rna_MeshTextureFace_uv2_get(PointerRNA *ptr, int index)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	return mtface->uv[1][index];
 }
 
-static void rna_MTFace_uv2_set(PointerRNA *ptr, int index, float value)
+static void rna_MeshTextureFace_uv2_set(PointerRNA *ptr, int index, float value)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	mtface->uv[1][index]= value;
 }
 
-static float rna_MTFace_uv3_get(PointerRNA *ptr, int index)
+static float rna_MeshTextureFace_uv3_get(PointerRNA *ptr, int index)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	return mtface->uv[2][index];
 }
 
-static void rna_MTFace_uv3_set(PointerRNA *ptr, int index, float value)
+static void rna_MeshTextureFace_uv3_set(PointerRNA *ptr, int index, float value)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	mtface->uv[2][index]= value;
 }
 
-static float rna_MTFace_uv4_get(PointerRNA *ptr, int index)
+static float rna_MeshTextureFace_uv4_get(PointerRNA *ptr, int index)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	return mtface->uv[3][index];
 }
 
-static void rna_MTFace_uv4_set(PointerRNA *ptr, int index, float value)
+static void rna_MeshTextureFace_uv4_set(PointerRNA *ptr, int index, float value)
 {
 	MTFace *mtface= (MTFace*)ptr->data;
 	mtface->uv[3][index]= value;
 }
 
-static void rna_MTFaceLayer_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+static void rna_MeshTextureFaceLayer_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list