Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-03-31 11:22:18 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-03-31 11:22:18 +0400
commit2910d75f2c68f79054e47348925f13b127ada9d6 (patch)
treecbb146ee56708892fdc5ff92ceba84e4d3479c6f /source/blender/makesrna
parent7af91f6663564f1c3c85960b95f2c6e3ca213231 (diff)
svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27875:27895
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_curve.c63
1 files changed, 19 insertions, 44 deletions
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index c0ad35eb7c3..14cf36c2807 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include "RNA_define.h"
+#include "RNA_types.h"
#include "rna_internal.h"
@@ -216,58 +217,36 @@ static void rna_Curve_update_deps(Main *bmain, Scene *scene, PointerRNA *ptr)
rna_Curve_update_data(bmain, scene, ptr);
}
-static PointerRNA rna_Curve_bevelObject_get(PointerRNA *ptr)
+static void rna_Curve_update_taper(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Curve *cu= (Curve*)ptr->id.data;
- Object *ob= cu->bevobj;
-
- if(ob)
- return rna_pointer_inherit_refine(ptr, &RNA_Object, ob);
-
- return rna_pointer_inherit_refine(ptr, NULL, NULL);
-}
-
-static void rna_Curve_bevelObject_set(PointerRNA *ptr, PointerRNA value)
-{
- Curve *cu= (Curve*)ptr->id.data;
- Object *ob= (Object*)value.data;
+ Object *ob= cu->taperobj;
if (ob) {
- /* if bevel object has got the save curve, as object, for which it's */
- /* set as bevobj, there could be infinity loop in displist calculation */
- if (ob->type == OB_CURVE && ob->data != cu) {
- cu->bevobj = ob;
+ /* if taper object has got the save curve, as object, for which it's */
+ /* set as taperobj, there could be infinity loop in displist calculation */
+ if (ob->type != OB_CURVE || ob->data == cu) {
+ cu->taperobj = NULL;
}
- } else {
- cu->bevobj = NULL;
}
-}
-static PointerRNA rna_Curve_taperObject_get(PointerRNA *ptr)
-{
- Curve *cu= (Curve*)ptr->id.data;
- Object *ob= cu->taperobj;
-
- if(ob)
- return rna_pointer_inherit_refine(ptr, &RNA_Object, ob);
-
- return rna_pointer_inherit_refine(ptr, NULL, NULL);
+ rna_Curve_update_deps(bmain, scene, ptr);
}
-static void rna_Curve_taperObject_set(PointerRNA *ptr, PointerRNA value)
+static void rna_Curve_update_bevel(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Curve *cu= (Curve*)ptr->id.data;
- Object *ob= (Object*)value.data;
+ Object *ob= cu->bevobj;
if (ob) {
- /* if taper object has got the save curve, as object, for which it's */
+ /* if bevel object has got the save curve, as object, for which it's */
/* set as bevobj, there could be infinity loop in displist calculation */
- if (ob->type == OB_CURVE && ob->data != cu) {
- cu->taperobj = ob;
+ if (ob->type != OB_CURVE || ob->data == cu) {
+ cu->bevobj = NULL;
}
- } else {
- cu->taperobj = NULL;
}
+
+ rna_Curve_update_deps(bmain, scene, ptr);
}
static void rna_Curve_resolution_u_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -1087,21 +1066,17 @@ static void rna_def_curve(BlenderRNA *brna)
/* pointers */
prop= RNA_def_property(srna, "bevel_object", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "Object");
RNA_def_property_pointer_sdna(prop, NULL, "bevobj");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Bevel Object", "Curve object name that defines the bevel shape");
- RNA_def_property_update(prop, 0, "rna_Curve_update_deps");
- RNA_def_property_pointer_funcs(prop, "rna_Curve_bevelObject_get", "rna_Curve_bevelObject_set", NULL);
-
+ RNA_def_property_update(prop, 0, "rna_Curve_update_bevel");
+
prop= RNA_def_property(srna, "taper_object", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "Object");
RNA_def_property_pointer_sdna(prop, NULL, "taperobj");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Taper Object", "Curve object name that defines the taper (width)");
- RNA_def_property_update(prop, 0, "rna_Curve_update_deps");
- RNA_def_property_pointer_funcs(prop, "rna_Curve_taperObject_get", "rna_Curve_taperObject_set", NULL);
-
+ RNA_def_property_update(prop, 0, "rna_Curve_update_taper");
+
/* Flags */
prop= RNA_def_property(srna, "dimensions", PROP_ENUM, PROP_NONE); /* as an enum */