Blender  V3.3
Classes | Typedefs | Functions
lineart_ops.c File Reference
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "BLI_linklist.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_gpencil.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "DEG_depsgraph_query.h"
#include "WM_api.h"
#include "WM_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_scene_types.h"
#include "MOD_gpencil_lineart.h"
#include "MOD_lineart.h"

Go to the source code of this file.

Classes

struct  LineartBakeJob
 

Typedefs

typedef struct LineartBakeJob LineartBakeJob
 

Functions

static bool lineart_mod_is_disabled (GpencilModifierData *md)
 
static bool clear_strokes (Object *ob, GpencilModifierData *md, int frame)
 
static bool bake_strokes (Object *ob, Depsgraph *dg, LineartCache **lc, GpencilModifierData *md, int frame, bool is_first)
 
static bool lineart_gpencil_bake_single_target (LineartBakeJob *bj, Object *ob, int frame)
 
static void lineart_gpencil_guard_modifiers (LineartBakeJob *bj)
 
static void lineart_gpencil_bake_startjob (void *customdata, short *stop, short *do_update, float *progress)
 
static void lineart_gpencil_bake_endjob (void *customdata)
 
static int lineart_gpencil_bake_common (bContext *C, wmOperator *op, bool bake_all_targets, bool do_background)
 
static int lineart_gpencil_bake_strokes_all_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static int lineart_gpencil_bake_strokes_all_exec (bContext *C, wmOperator *op)
 
static int lineart_gpencil_bake_strokes_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static int lineart_gpencil_bake_strokes_exec (bContext *C, wmOperator *op)
 
static int lineart_gpencil_bake_strokes_commom_modal (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static void lineart_gpencil_clear_strokes_exec_common (Object *ob)
 
static int lineart_gpencil_clear_strokes_exec (bContext *C, wmOperator *UNUSED(op))
 
static int lineart_gpencil_clear_strokes_all_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_lineart_bake_strokes (wmOperatorType *ot)
 
void OBJECT_OT_lineart_bake_strokes_all (wmOperatorType *ot)
 
void OBJECT_OT_lineart_clear (wmOperatorType *ot)
 
void OBJECT_OT_lineart_clear_all (wmOperatorType *ot)
 
void WM_operatortypes_lineart (void)
 

Typedef Documentation

◆ LineartBakeJob

Function Documentation

◆ bake_strokes()

static bool bake_strokes ( Object ob,
Depsgraph dg,
LineartCache **  lc,
GpencilModifierData md,
int  frame,
bool  is_first 
)
static

Definition at line 76 of file lineart_ops.c.

References BKE_gpencil_layer_frame_find(), BKE_gpencil_layer_frame_get(), BKE_gpencil_layer_get_by_name(), BKE_gpencil_object_material_index_get(), LineartGpencilModifierData::cache, LineartGpencilModifierData::calculation_flags, Object::data, Object::dtx, LineartGpencilModifierData::edge_types, LineartGpencilModifierData::flags, GP_GETFRAME_ADD_NEW, LineartGpencilModifierData::intersection_mask, LineartGpencilModifierData::level_end, LineartGpencilModifierData::level_start, bGPdata_Runtime::lineart_cache, lineart_mod_is_disabled(), LRT_GPENCIL_USE_CACHE, LRT_SOURCE_OBJECT, LineartGpencilModifierData::mask_switches, LineartGpencilModifierData::material_mask_bits, MOD_lineart_chain_clear_picked_flag(), MOD_lineart_clear_cache(), MOD_lineart_compute_feature_lines(), MOD_lineart_destroy_render_data(), MOD_lineart_gpencil_generate(), OB_DRAW_IN_FRONT, LineartGpencilModifierData::opacity, bGPdata::runtime, LineartGpencilModifierData::shadow_selection, LineartGpencilModifierData::silhouette_selection, LineartGpencilModifierData::source_collection, LineartGpencilModifierData::source_object, LineartGpencilModifierData::source_type, LineartGpencilModifierData::source_vertex_group, LineartGpencilModifierData::target_layer, LineartGpencilModifierData::target_material, LineartGpencilModifierData::thickness, LineartGpencilModifierData::use_multiple_levels, and LineartGpencilModifierData::vgname.

Referenced by lineart_gpencil_bake_single_target().

◆ clear_strokes()

static bool clear_strokes ( Object ob,
GpencilModifierData md,
int  frame 
)
static

◆ lineart_gpencil_bake_common()

static int lineart_gpencil_bake_common ( bContext C,
wmOperator op,
bool  bake_all_targets,
bool  do_background 
)
static

◆ lineart_gpencil_bake_endjob()

static void lineart_gpencil_bake_endjob ( void customdata)
static

◆ lineart_gpencil_bake_single_target()

static bool lineart_gpencil_bake_single_target ( LineartBakeJob bj,
Object ob,
int  frame 
)
static

◆ lineart_gpencil_bake_startjob()

static void lineart_gpencil_bake_startjob ( void customdata,
short *  stop,
short *  do_update,
float progress 
)
static

◆ lineart_gpencil_bake_strokes_all_exec()

static int lineart_gpencil_bake_strokes_all_exec ( bContext C,
wmOperator op 
)
static

Definition at line 359 of file lineart_ops.c.

References C, and lineart_gpencil_bake_common().

Referenced by OBJECT_OT_lineart_bake_strokes_all().

◆ lineart_gpencil_bake_strokes_all_invoke()

static int lineart_gpencil_bake_strokes_all_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

Definition at line 353 of file lineart_ops.c.

References C, and lineart_gpencil_bake_common().

Referenced by OBJECT_OT_lineart_bake_strokes_all().

◆ lineart_gpencil_bake_strokes_commom_modal()

static int lineart_gpencil_bake_strokes_commom_modal ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ lineart_gpencil_bake_strokes_exec()

static int lineart_gpencil_bake_strokes_exec ( bContext C,
wmOperator op 
)
static

Definition at line 369 of file lineart_ops.c.

References C, and lineart_gpencil_bake_common().

Referenced by OBJECT_OT_lineart_bake_strokes().

◆ lineart_gpencil_bake_strokes_invoke()

static int lineart_gpencil_bake_strokes_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

Definition at line 363 of file lineart_ops.c.

References C, and lineart_gpencil_bake_common().

Referenced by OBJECT_OT_lineart_bake_strokes().

◆ lineart_gpencil_clear_strokes_all_exec()

static int lineart_gpencil_clear_strokes_all_exec ( bContext C,
wmOperator op 
)
static

◆ lineart_gpencil_clear_strokes_exec()

static int lineart_gpencil_clear_strokes_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ lineart_gpencil_clear_strokes_exec_common()

static void lineart_gpencil_clear_strokes_exec_common ( Object ob)
static

◆ lineart_gpencil_guard_modifiers()

static void lineart_gpencil_guard_modifiers ( LineartBakeJob bj)
static

◆ lineart_mod_is_disabled()

static bool lineart_mod_is_disabled ( GpencilModifierData md)
static

◆ OBJECT_OT_lineart_bake_strokes()

void OBJECT_OT_lineart_bake_strokes ( wmOperatorType ot)

◆ OBJECT_OT_lineart_bake_strokes_all()

void OBJECT_OT_lineart_bake_strokes_all ( wmOperatorType ot)

◆ OBJECT_OT_lineart_clear()

void OBJECT_OT_lineart_clear ( wmOperatorType ot)

◆ OBJECT_OT_lineart_clear_all()

void OBJECT_OT_lineart_clear_all ( wmOperatorType ot)

◆ WM_operatortypes_lineart()

void WM_operatortypes_lineart ( void  )