static PointerRNA rna_ShapeKey_data_get(CollectionPropertyIterator *iter) { Key *key = rna_ShapeKey_find_key(iter->parent.id.data); StructRNA *type; Curve *cu; Nurb *nu; if (GS(key->from->name) == ID_CU) { cu = (Curve *)key->from; nu = cu->nurb.first; if (nu->bezt) type = &RNA_ShapeKeyBezierPoint; else type = &RNA_ShapeKeyCurvePoint; } else type = &RNA_ShapeKeyPoint; return rna_pointer_inherit_refine(&iter->parent, type, rna_iterator_array_get(iter)); }
static PointerRNA MotionPath_points_get(CollectionPropertyIterator *iter) { return rna_pointer_inherit_refine(&iter->parent, &RNA_MotionPathVert, rna_iterator_array_get(iter)); }