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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-03-23 18:30:57 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-03-23 18:35:53 +0300
commit0c753c1dc4ad2085fbdb9ea5fdc2a31d44d126e9 (patch)
tree77249a020f058f446c8712e0f988485897806d34 /source/blender/makesrna/RNA_access.h
parent21f16bb93e1e29a9737edc5bfddcecdcbdfd9f73 (diff)
RNA comparison/override: better control over property processing.
This commit essentially introduces a new RNA property flag, which when set prevents affected property from being processed at all in comparison code (also used to automatically generate static override rules). The idea is to use it on very low-level data in RNA, like e.g. mesh's geometry or psys' particles collections. For now only applied to psys' particle collections, on the main mesh of Agent327 pigeon, it goes from 100ms to 0.5ms on a full auto-override-generating comparison... Also added some new RNA property helper funcs to check on comparable and overridable status.
Diffstat (limited to 'source/blender/makesrna/RNA_access.h')
-rw-r--r--source/blender/makesrna/RNA_access.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index c00f8cd5a5f..562855c01cc 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -900,6 +900,9 @@ bool RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index);
bool RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */
bool RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop);
+bool RNA_property_overridable(PointerRNA *ptr, PropertyRNA *prop);
+bool RNA_property_overridden(PointerRNA *ptr, PropertyRNA *prop);
+bool RNA_property_comparable(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);