42 layout->
prop(fileptr,
"velocity_name",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
43 layout->
prop(fileptr,
"velocity_unit",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
68 row = &layout->
row(
false);
69 row->
label(
RPT_(
"Only Alembic Procedurals supported"), ICON_INFO);
71 else if (!engine_supports_procedural) {
72 row = &layout->
row(
false);
77 "The Cycles Alembic Procedural is only available with the experimental feature set"),
81 row->
label(
RPT_(
"The active render engine does not have an Alembic Procedural"), ICON_INFO);
85 row = &layout->
row(
false);
87 row->
prop(fileptr,
"use_render_procedural",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
89 const bool use_render_procedural =
RNA_boolean_get(fileptr,
"use_render_procedural");
92 row = &layout->
row(
false);
96 sub = &layout->
row(
false);
98 sub->
prop(fileptr,
"prefetch_cache_size",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
112 row = &layout->
row(
false);
115 row = &layout->
row(
true,
IFACE_(
"Override Frame"));
116 sub = &row->
row(
true);
119 subsub = &sub->
row(
true);
124 row = &layout->
row(
false);
169 "UI_UL_cache_file_layers",
183 col->op(
"cachefile.layer_add",
"", ICON_ADD);
184 col->op(
"cachefile.layer_remove",
"", ICON_REMOVE);
188 col->separator(1.0f);
189 col->op(
"cachefile.layer_move",
"", ICON_TRIA_UP);
190 col->op(
"cachefile.layer_move",
"", ICON_TRIA_DOWN);
201 printf(
"%s: property not found: %s.%s\n",
209 printf(
"%s: expected pointer property for %s.%s\n",
238 uiTemplateID(layout,
C,
ptr, propname,
nullptr,
"CACHEFILE_OT_open",
nullptr);
250 row = &layout->
row(
true);
252 sub = &row->
row(
true);
253 sub->
op(
"cachefile.reload",
"", ICON_FILE_REFRESH);
256 row = &layout->
row(
false);
262 row = &layout->
row(
false);
265 row = &layout->
row(
false);
SpaceProperties * CTX_wm_space_properties(const bContext *C)
Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
RenderEngineType * CTX_data_engine_type(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
bool BKE_scene_uses_cycles(const Scene *scene)
bool BKE_scene_uses_cycles_experimental_features(Scene *scene)
int BLI_listbase_count(const ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
char * STRNCPY(char(&dst)[N], const char *src)
T * DEG_get_evaluated(const Depsgraph *depsgraph, T *id)
void uiTemplateID(uiLayout *layout, const bContext *C, PointerRNA *ptr, blender::StringRefNull propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, std::optional< blender::StringRef > text=std::nullopt)
void uiTemplateList(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, blender::StringRefNull propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags)
@ UI_TEMPLATE_LIST_FLAG_NONE
void uiLayoutSetContextPointer(uiLayout *layout, blender::StringRef name, PointerRNA *ptr)
void uiLayoutSetActive(uiLayout *layout, bool active)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void uiItemDecoratorR(uiLayout *layout, PointerRNA *ptr, std::optional< blender::StringRefNull > propname, int index)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
constexpr const char * c_str() const
static void cache_file_layer_item(uiList *, const bContext *, uiLayout *layout, PointerRNA *, PointerRNA *itemptr, int, PointerRNA *, const char *, int, int)
void uiTemplateCacheFileProcedural(uiLayout *layout, const bContext *C, PointerRNA *fileptr)
void uiTemplateCacheFileLayers(uiLayout *layout, const bContext *C, PointerRNA *fileptr)
void uiTemplateCacheFileVelocity(uiLayout *layout, PointerRNA *fileptr)
bool uiTemplateCacheFilePointer(PointerRNA *ptr, const StringRefNull propname, PointerRNA *r_file_ptr)
uiListType * UI_UL_cache_file_layers()
void uiTemplateCacheFileTimeSettings(uiLayout *layout, PointerRNA *fileptr)
void uiTemplateCacheFile(uiLayout *layout, const bContext *C, PointerRNA *ptr, const StringRefNull propname)
bool RE_engine_supports_alembic_procedural(const RenderEngineType *render_type, Scene *scene)
void * MEM_callocN(size_t len, const char *str)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
PropertyType RNA_property_type(PropertyRNA *prop)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_identifier(const StructRNA *type)
bool RNA_pointer_is_null(const PointerRNA *ptr)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
PointerRNA op(wmOperatorType *ot, std::optional< blender::StringRef > name, int icon, wmOperatorCallContext context, eUI_Item_Flag flag)
void label(blender::StringRef name, int icon)
uiLayout & column(bool align)
uiLayout & row(bool align)
void prop(PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRef > name_opt, int icon, std::optional< blender::StringRef > placeholder=std::nullopt)
char idname[BKE_ST_MAXNAME]
uiListDrawItemFunc draw_item