86 if (
G.debug_value == 4000) {
87 printf(
"LRT: Generating from modifier.\n");
271 uiItemR(layout,
ptr,
"source_collection", 0,
NULL, ICON_OUTLINER_COLLECTION);
294 bool material_valid =
false;
309 material_valid ? ICON_SHADING_TEXTURE : ICON_ERROR);
312 uiItemR(layout,
ptr,
"use_edge_overlap", 0,
IFACE_(
"Overlapping Edges As Contour"), ICON_NONE);
314 uiItemR(layout,
ptr,
"use_clip_plane_boundaries", 0,
NULL, ICON_NONE);
348 if (use_multiple_levels) {
366 uiItemR(layout,
ptr,
"use_transparency", 0,
IFACE_(
"Transparency"), ICON_NONE);
387 for (
int i = 0; i < 8; i++, text[0]++) {
411 uiItemR(layout,
ptr,
"chaining_image_threshold", 0,
NULL, ICON_NONE);
431 uiItemR(row,
ptr,
"source_vertex_group", 0,
IFACE_(
"Filter Source"), ICON_GROUP_VERTEX);
436 const bool match_output =
RNA_boolean_get(
ptr,
"use_output_vertex_group_match_by_name");
439 col,
ptr,
"vertex_group", &ob_ptr,
"vertex_groups",
IFACE_(
"Target"), ICON_NONE);
464 uiItemO(
col,
NULL, ICON_NONE,
"OBJECT_OT_lineart_bake_strokes_all");
496 "LineartGpencilModifierData",
#define FOREACH_COLLECTION_VISIBLE_OBJECT_RECURSIVE_BEGIN(_collection, _object, _mode)
#define FOREACH_COLLECTION_VISIBLE_OBJECT_RECURSIVE_END
void BKE_gpencil_frame_active_set(struct Depsgraph *depsgraph, struct bGPdata *gpd)
int BKE_gpencil_object_material_index_get(struct Object *ob, struct Material *ma)
struct bGPDlayer * BKE_gpencil_layer_get_by_name(struct bGPdata *gpd, char *name, int first_if_not_found)
void BKE_gpencil_modifier_copydata_generic(const struct GpencilModifierData *md_src, struct GpencilModifierData *md_dst)
@ eGpencilModifierTypeFlag_SupportsEditmode
@ eGpencilModifierTypeType_Gpencil
void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
struct Depsgraph Depsgraph
void DEG_add_object_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
Object groups, one object can be in many groups at once.
#define DNA_struct_default_get(struct_name)
struct LineartGpencilModifierData LineartGpencilModifierData
@ eGpencilModifierType_Lineart
Object is a sort of wrapper for general info.
PointerRNA * gpencil_modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void gpencil_modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * gpencil_modifier_subpanel_register(ARegionType *region_type, const char *name, const char *label, PanelDrawFn draw_header, PanelDrawFn draw, PanelType *parent)
PanelType * gpencil_modifier_panel_register(ARegionType *region_type, GpencilModifierType type, PanelDrawFn draw)
static bool isDisabled(GpencilModifierData *md, int UNUSED(userRenderParams))
static void chaining_panel_draw(const bContext *UNUSED(C), Panel *panel)
static bool isModifierDisabled(GpencilModifierData *md)
static void occlusion_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void transparency_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
static void vgroup_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
static void transparency_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void style_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void bakeModifier(Main *UNUSED(bmain), Depsgraph *depsgraph, GpencilModifierData *md, Object *ob)
static void add_this_collection(Collection *c, const ModifierUpdateDepsgraphContext *ctx, const int mode)
static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panelRegister(ARegionType *region_type)
static void initData(GpencilModifierData *md)
static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Object *ob)
GpencilModifierTypeInfo modifierType_Gpencil_Lineart
static void generate_strokes_actual(GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx, const int mode)
static void baking_panel_draw(const bContext *UNUSED(C), Panel *panel)
void uiLayoutSetActive(uiLayout *layout, bool active)
uiLayout * uiLayoutColumnWithHeading(uiLayout *layout, bool align, const char *heading)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiLayoutSetRedAlert(uiLayout *layout, bool redalert)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void uiItemFullR(uiLayout *layout, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag, const char *name, int icon)
void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, struct PointerRNA *searchptr, const char *searchpropname, const char *name, int icon)
const Depsgraph * depsgraph
void MOD_lineart_destroy_render_data(LineartGpencilModifierData *lmd)
bool MOD_lineart_compute_feature_lines(Depsgraph *depsgraph, LineartGpencilModifierData *lmd)
void MOD_lineart_gpencil_generate(LineartRenderBuffer *rb, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, bGPDframe *gpf, char source_type, void *source_reference, int level_start, int level_end, int mat_nr, short edge_types, uchar transparency_flags, uchar transparency_mask, short thickness, float opacity, const char *source_vgname, const char *vgname, int modifier_flags)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_pointer_is_null(const PointerRNA *ptr)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
struct Collection * source_collection
char source_vertex_group[64]
unsigned char transparency_flags
unsigned char transparency_mask
struct Material * target_material
struct Object * source_object
struct DepsNodeHandle * node
struct Collection * master_collection
void WM_main_add_notifier(unsigned int type, void *reference)