Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_array.c
| Show First 20 Lines • Show All 829 Lines • ▼ Show 20 Lines | static bool isDisabled(const struct Scene *UNUSED(scene), | ||||
| } | } | ||||
| if (amd->end_cap && amd->end_cap->type != OB_MESH) { | if (amd->end_cap && amd->end_cap->type != OB_MESH) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| static void panel_draw(const bContext *C, Panel *panel) | static void panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | |||||
| PointerRNA ob_ptr; | PointerRNA ob_ptr; | ||||
| modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr); | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr); | ||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiItemR(layout, &ptr, "fit_type", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "fit_type", 0, NULL, ICON_NONE); | ||||
| int fit_type = RNA_enum_get(&ptr, "fit_type"); | int fit_type = RNA_enum_get(ptr, "fit_type"); | ||||
| if (fit_type == MOD_ARR_FIXEDCOUNT) { | if (fit_type == MOD_ARR_FIXEDCOUNT) { | ||||
| uiItemR(layout, &ptr, "count", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "count", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| else if (fit_type == MOD_ARR_FITLENGTH) { | else if (fit_type == MOD_ARR_FITLENGTH) { | ||||
| uiItemR(layout, &ptr, "fit_length", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "fit_length", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| else if (fit_type == MOD_ARR_FITCURVE) { | else if (fit_type == MOD_ARR_FITCURVE) { | ||||
| uiItemR(layout, &ptr, "curve", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "curve", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| modifier_panel_end(layout, &ptr); | modifier_panel_end(layout, ptr); | ||||
| } | } | ||||
| static void relative_offset_header_draw(const bContext *C, Panel *panel) | static void relative_offset_header_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiItemR(layout, &ptr, "use_relative_offset", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "use_relative_offset", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| static void relative_offset_draw(const bContext *C, Panel *panel) | static void relative_offset_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiLayout *col = uiLayoutColumn(layout, false); | uiLayout *col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_relative_offset")); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_relative_offset")); | ||||
| uiItemR(col, &ptr, "relative_offset_displace", 0, IFACE_("Factor"), ICON_NONE); | uiItemR(col, ptr, "relative_offset_displace", 0, IFACE_("Factor"), ICON_NONE); | ||||
| } | } | ||||
| static void constant_offset_header_draw(const bContext *C, Panel *panel) | static void constant_offset_header_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiItemR(layout, &ptr, "use_constant_offset", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "use_constant_offset", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| static void constant_offset_draw(const bContext *C, Panel *panel) | static void constant_offset_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiLayout *col = uiLayoutColumn(layout, false); | uiLayout *col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_constant_offset")); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_constant_offset")); | ||||
| uiItemR(col, &ptr, "constant_offset_displace", 0, IFACE_("Distance"), ICON_NONE); | uiItemR(col, ptr, "constant_offset_displace", 0, IFACE_("Distance"), ICON_NONE); | ||||
| } | } | ||||
| /** | /** | ||||
| * Object offset in a subpanel for consistency with the other offset types. | * Object offset in a subpanel for consistency with the other offset types. | ||||
| */ | */ | ||||
| static void object_offset_header_draw(const bContext *C, Panel *panel) | static void object_offset_header_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiItemR(layout, &ptr, "use_object_offset", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "use_object_offset", 0, NULL, ICON_NONE); | ||||
| } | } | ||||
| static void object_offset_draw(const bContext *C, Panel *panel) | static void object_offset_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiLayout *col = uiLayoutColumn(layout, false); | uiLayout *col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_object_offset")); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_object_offset")); | ||||
| uiItemR(col, &ptr, "offset_object", 0, IFACE_("Object"), ICON_NONE); | uiItemR(col, ptr, "offset_object", 0, IFACE_("Object"), ICON_NONE); | ||||
| } | } | ||||
| static void symmetry_panel_header_draw(const bContext *C, Panel *panel) | static void symmetry_panel_header_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiItemR(layout, &ptr, "use_merge_vertices", 0, IFACE_("Merge"), ICON_NONE); | uiItemR(layout, ptr, "use_merge_vertices", 0, IFACE_("Merge"), ICON_NONE); | ||||
| } | } | ||||
| static void symmetry_panel_draw(const bContext *C, Panel *panel) | static void symmetry_panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| uiLayout *col = uiLayoutColumn(layout, false); | uiLayout *col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_merge_vertices")); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_merge_vertices")); | ||||
| uiItemR(col, &ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE); | uiItemR(col, ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE); | ||||
| uiItemR(col, &ptr, "use_merge_vertices_cap", 0, IFACE_("First and Last Copies"), ICON_NONE); | uiItemR(col, ptr, "use_merge_vertices_cap", 0, IFACE_("First and Last Copies"), ICON_NONE); | ||||
| } | } | ||||
| static void uv_panel_draw(const bContext *C, Panel *panel) | static void uv_panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *col; | uiLayout *col; | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| col = uiLayoutColumn(layout, true); | col = uiLayoutColumn(layout, true); | ||||
| uiItemR(col, &ptr, "offset_u", UI_ITEM_R_EXPAND, IFACE_("Offset U"), ICON_NONE); | uiItemR(col, ptr, "offset_u", UI_ITEM_R_EXPAND, IFACE_("Offset U"), ICON_NONE); | ||||
| uiItemR(col, &ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE); | uiItemR(col, ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE); | ||||
| } | } | ||||
| static void caps_panel_draw(const bContext *C, Panel *panel) | static void caps_panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *col; | uiLayout *col; | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ptr; | PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL); | ||||
| modifier_panel_get_property_pointers(C, panel, NULL, &ptr); | |||||
| uiLayoutSetPropSep(layout, true); | uiLayoutSetPropSep(layout, true); | ||||
| col = uiLayoutColumn(layout, false); | col = uiLayoutColumn(layout, false); | ||||
| uiItemR(col, &ptr, "start_cap", 0, IFACE_("Cap Start"), ICON_NONE); | uiItemR(col, ptr, "start_cap", 0, IFACE_("Cap Start"), ICON_NONE); | ||||
| uiItemR(col, &ptr, "end_cap", 0, IFACE_("End"), ICON_NONE); | uiItemR(col, ptr, "end_cap", 0, IFACE_("End"), ICON_NONE); | ||||
| } | } | ||||
| static void panelRegister(ARegionType *region_type) | static void panelRegister(ARegionType *region_type) | ||||
| { | { | ||||
| PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Array, panel_draw); | PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Array, panel_draw); | ||||
| modifier_subpanel_register(region_type, | modifier_subpanel_register(region_type, | ||||
| "relative_offset", | "relative_offset", | ||||
| "", | "", | ||||
| ▲ Show 20 Lines • Show All 52 Lines • Show Last 20 Lines | |||||