Blender V5.0
grease_pencil_lineart.cc File Reference
#include <algorithm>
#include "BLI_listbase.h"
#include "BKE_context.hh"
#include "BKE_curves.hh"
#include "BKE_global.hh"
#include "BKE_grease_pencil.hh"
#include "BKE_material.hh"
#include "BKE_modifier.hh"
#include "BKE_report.hh"
#include "BKE_scene.hh"
#include "BKE_screen.hh"
#include "DNA_curves_types.h"
#include "DNA_modifier_types.h"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "ED_grease_pencil.hh"
#include "ED_view3d.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"
#include "MOD_lineart.hh"

Go to the source code of this file.

Classes

struct  LineartBakeJob

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::greasepencil

Functions

void blender::ed::greasepencil::get_lineart_modifier_limits (const Object &ob, blender::ed::greasepencil::LineartLimitInfo &info)
void blender::ed::greasepencil::set_lineart_modifier_limits (GreasePencilLineartModifierData &lmd, const blender::ed::greasepencil::LineartLimitInfo &info, const bool cache_is_ready)
GreasePencilLineartModifierDatablender::ed::greasepencil::get_first_lineart_modifier (const Object &ob)
static bool clear_strokes (Object *ob, ModifierData *md, int frame)
static bool lineart_mod_is_disabled (Scene *scene, GreasePencilLineartModifierData *md)
static bool bake_strokes (Object *ob, Depsgraph *dg, LineartCache **lc, GreasePencilLineartModifierData *lmd, int frame, bool is_first)
static bool bake_single_target (LineartBakeJob *bj, Object *ob, int frame)
static void guard_modifiers (LineartBakeJob &bj)
static void lineart_bake_startjob (void *customdata, wmJobWorkerStatus *worker_status)
static void lineart_bake_endjob (void *customdata)
static void lineart_bake_job_free (void *customdata)
static wmOperatorStatus lineart_bake_common (bContext *C, wmOperator *op, bool bake_all_targets, bool do_background)
static wmOperatorStatus lineart_bake_strokes_invoke (bContext *C, wmOperator *op, const wmEvent *)
static wmOperatorStatus lineart_bake_strokes_exec (bContext *C, wmOperator *op)
static wmOperatorStatus lineart_bake_strokes_common_modal (bContext *C, wmOperator *op, const wmEvent *)
static void lineart_gpencil_clear_strokes_exec_common (Object *ob)
static wmOperatorStatus lineart_gpencil_clear_strokes_exec (bContext *C, wmOperator *op)
static void OBJECT_OT_lineart_bake_strokes (wmOperatorType *ot)
static void OBJECT_OT_lineart_clear (wmOperatorType *ot)
void ED_operatortypes_grease_pencil_lineart ()

Function Documentation

◆ bake_single_target()

◆ bake_strokes()

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

Definition at line 155 of file grease_pencil_lineart.cc.

References blender::bke::greasepencil::TreeNode::as_layer(), BKE_object_material_index_get(), GreasePencilLineartModifierData::cache, GreasePencilLineartModifierData::calculation_flags, Object::data, DEG_get_evaluated_scene(), Object::dtx, GreasePencilLineartModifierData::edge_types, GreasePencilLineartModifierData::flags, GreasePencilLineartModifierData::intersection_mask, blender::bke::greasepencil::TreeNode::is_layer(), GreasePencilLineartModifierData::level_end, GreasePencilLineartModifierData::level_start, lineart_mod_is_disabled(), GreasePencilLineartModifierData::mask_switches, GreasePencilLineartModifierData::material_mask_bits, MOD_lineart_chain_clear_picked_flag(), MOD_lineart_clear_cache(), MOD_lineart_compute_feature_lines_v3(), MOD_lineart_destroy_render_data_v3(), MOD_lineart_gpencil_generate_v3(), MOD_LINEART_USE_CACHE, OB_DRAW_IN_FRONT, GreasePencilLineartModifierData::opacity, GreasePencilLineartModifierData::radius, GreasePencilLineartModifierData::shadow_selection, GreasePencilLineartModifierData::silhouette_selection, GreasePencilLineartModifierData::source_collection, GreasePencilLineartModifierData::source_object, GreasePencilLineartModifierData::source_type, GreasePencilLineartModifierData::source_vertex_group, blender::bke::greasepencil::Layer::start_frame_at(), GreasePencilLineartModifierData::target_layer, GreasePencilLineartModifierData::target_material, UNLIKELY, GreasePencilLineartModifierData::use_multiple_levels, and GreasePencilLineartModifierData::vgname.

Referenced by bake_single_target().

◆ clear_strokes()

◆ ED_operatortypes_grease_pencil_lineart()

void ED_operatortypes_grease_pencil_lineart ( )

◆ guard_modifiers()

◆ lineart_bake_common()

◆ lineart_bake_endjob()

◆ lineart_bake_job_free()

void lineart_bake_job_free ( void * customdata)
static

Definition at line 347 of file grease_pencil_lineart.cc.

Referenced by lineart_bake_common().

◆ lineart_bake_startjob()

◆ lineart_bake_strokes_common_modal()

wmOperatorStatus lineart_bake_strokes_common_modal ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ lineart_bake_strokes_exec()

wmOperatorStatus lineart_bake_strokes_exec ( bContext * C,
wmOperator * op )
static

◆ lineart_bake_strokes_invoke()

wmOperatorStatus lineart_bake_strokes_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ lineart_gpencil_clear_strokes_exec()

◆ lineart_gpencil_clear_strokes_exec_common()

◆ lineart_mod_is_disabled()

◆ OBJECT_OT_lineart_bake_strokes()

◆ OBJECT_OT_lineart_clear()