Blender  V3.3
Classes | Typedefs | Functions | Variables
MOD_gpencilbuild.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_math_vector.h"
#include "BLI_sort.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_gpencil.h"
#include "BKE_gpencil_geom.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_lib_query.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_gpencil_modifiertypes.h"
#include "MOD_gpencil_ui_common.h"

Go to the source code of this file.

Classes

struct  tStrokeBuildDetails
 

Typedefs

typedef struct tStrokeBuildDetails tStrokeBuildDetails
 

Functions

static void initData (GpencilModifierData *md)
 
static void copyData (const GpencilModifierData *md, GpencilModifierData *target)
 
static bool dependsOnTime (GpencilModifierData *UNUSED(md))
 
static void clear_stroke (bGPDframe *gpf, bGPDstroke *gps)
 
static void gpf_clear_all_strokes (bGPDframe *gpf)
 
static void reduce_stroke_points (bGPdata *gpd, bGPDframe *gpf, bGPDstroke *gps, const int points_num, const eBuildGpencil_Transition transition)
 
static void fade_stroke_points (bGPDstroke *gps, const int starting_index, const int ending_index, const float starting_weight, const float ending_weight, const int target_def_nr, const eBuildGpencil_Transition transition, const float thickness_strength, const float opacity_strength)
 
static int cmp_stroke_build_details (const void *ps1, const void *ps2)
 
static void build_sequential (Object *ob, BuildGpencilModifierData *mmd, bGPdata *gpd, bGPDframe *gpf, const int target_def_nr, float fac, bool additive)
 
static void build_concurrent (BuildGpencilModifierData *mmd, bGPdata *gpd, bGPDframe *gpf, const int target_def_nr, float fac)
 
static void generate_geometry (GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPdata *gpd, bGPDlayer *gpl, bGPDframe *gpf)
 
static void generateStrokes (GpencilModifierData *md, Depsgraph *depsgraph, Object *ob)
 
static void panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void frame_range_header_draw (const bContext *UNUSED(C), Panel *panel)
 
static void frame_range_panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void fading_header_draw (const bContext *UNUSED(C), Panel *panel)
 
static void fading_panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void mask_panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void panelRegister (ARegionType *region_type)
 
static void foreachIDLink (GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
 
static void updateDepsgraph (GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx, const int UNUSED(mode))
 

Variables

GpencilModifierTypeInfo modifierType_Gpencil_Build
 

Typedef Documentation

◆ tStrokeBuildDetails

Function Documentation

◆ build_concurrent()

static void build_concurrent ( BuildGpencilModifierData mmd,
bGPdata gpd,
bGPDframe gpf,
const int  target_def_nr,
float  fac 
)
static

◆ build_sequential()

static void build_sequential ( Object ob,
BuildGpencilModifierData mmd,
bGPdata gpd,
bGPDframe gpf,
const int  target_def_nr,
float  fac,
bool  additive 
)
static

◆ clear_stroke()

static void clear_stroke ( bGPDframe gpf,
bGPDstroke gps 
)
static

◆ cmp_stroke_build_details()

static int cmp_stroke_build_details ( const void ps1,
const void ps2 
)
static

Definition at line 248 of file MOD_gpencilbuild.c.

References tStrokeBuildDetails::distance.

Referenced by build_sequential().

◆ copyData()

static void copyData ( const GpencilModifierData md,
GpencilModifierData target 
)
static

Definition at line 59 of file MOD_gpencilbuild.c.

References BKE_gpencil_modifier_copydata_generic().

◆ dependsOnTime()

static bool dependsOnTime ( GpencilModifierData UNUSEDmd)
static

Definition at line 64 of file MOD_gpencilbuild.c.

◆ fade_stroke_points()

static void fade_stroke_points ( bGPDstroke gps,
const int  starting_index,
const int  ending_index,
const float  starting_weight,
const float  ending_weight,
const int  target_def_nr,
const eBuildGpencil_Transition  transition,
const float  thickness_strength,
const float  opacity_strength 
)
static

◆ fading_header_draw()

static void fading_header_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ fading_panel_draw()

static void fading_panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ foreachIDLink()

static void foreachIDLink ( GpencilModifierData md,
Object ob,
IDWalkFunc  walk,
void userData 
)
static

Definition at line 858 of file MOD_gpencilbuild.c.

References IDWALK_CB_NOP, and BuildGpencilModifierData::object.

◆ frame_range_header_draw()

static void frame_range_header_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ frame_range_panel_draw()

static void frame_range_panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ generate_geometry()

static void generate_geometry ( GpencilModifierData md,
Depsgraph depsgraph,
Object ob,
bGPdata gpd,
bGPDlayer gpl,
bGPDframe gpf 
)
static

◆ generateStrokes()

static void generateStrokes ( GpencilModifierData md,
Depsgraph depsgraph,
Object ob 
)
static

◆ gpf_clear_all_strokes()

static void gpf_clear_all_strokes ( bGPDframe gpf)
static

◆ initData()

static void initData ( GpencilModifierData md)
static

◆ mask_panel_draw()

static void mask_panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

Definition at line 841 of file MOD_gpencilbuild.c.

References gpencil_modifier_masking_panel_draw().

Referenced by panelRegister().

◆ panel_draw()

static void panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ panelRegister()

static void panelRegister ( ARegionType region_type)
static

◆ reduce_stroke_points()

static void reduce_stroke_points ( bGPdata gpd,
bGPDframe gpf,
bGPDstroke gps,
const int  points_num,
const eBuildGpencil_Transition  transition 
)
static

◆ updateDepsgraph()

static void updateDepsgraph ( GpencilModifierData md,
const ModifierUpdateDepsgraphContext ctx,
const int   UNUSEDmode 
)
static

Variable Documentation

◆ modifierType_Gpencil_Build

GpencilModifierTypeInfo modifierType_Gpencil_Build
Initial value:
= {
N_("Build"),
"BuildGpencilModifierData",
}
@ eGpencilModifierTypeFlag_NoApply
@ eGpencilModifierTypeType_Gpencil
struct BuildGpencilModifierData BuildGpencilModifierData
static bool dependsOnTime(GpencilModifierData *UNUSED(md))
static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx, const int UNUSED(mode))
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
static void panelRegister(ARegionType *region_type)
static void initData(GpencilModifierData *md)
static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Object *ob)
#define N_(msgid)

Definition at line 879 of file MOD_gpencilbuild.c.