Blender  V3.3
Functions | Variables
MOD_gpencilenvelope.c File Reference
#include <stdio.h>
#include "BLI_listbase.h"
#include "BLI_math_geom.h"
#include "BLI_math_vector.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 "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "MOD_gpencil_modifiertypes.h"
#include "MOD_gpencil_ui_common.h"
#include "MOD_gpencil_util.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Functions

static void initData (GpencilModifierData *md)
 
static void copyData (const GpencilModifierData *md, GpencilModifierData *target)
 
static float calc_min_radius_v3v3 (float p1[3], float p2[3], float dir[3])
 
static float calc_radius_limit (bGPDstroke *gps, bGPDspoint *points, float dir[3], int spread, const int i)
 
static void apply_stroke_envelope (bGPDstroke *gps, int spread, const int def_nr, const bool invert_vg, const float thickness, const float pixfactor)
 
static void deformStroke (GpencilModifierData *md, Depsgraph *UNUSED(depsgraph), Object *ob, bGPDlayer *gpl, bGPDframe *UNUSED(gpf), bGPDstroke *gps)
 
static void add_stroke (Object *ob, bGPDstroke *gps, const int point_index, const int connection_index, const int size2, const int size1, const int mat_nr, const float thickness, const float strength, ListBase *results)
 
static void add_stroke_cyclic (Object *ob, bGPDstroke *gps, const int point_index, const int connection_index, const int size, const int mat_nr, const float thickness, const float strength, ListBase *results)
 
static void add_stroke_simple (Object *ob, bGPDstroke *gps, const int point_index, const int connection_index, const int mat_nr, const float thickness, const float strength, ListBase *results)
 
static void generate_geometry (GpencilModifierData *md, Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
 
static void generateStrokes (GpencilModifierData *md, Depsgraph *depsgraph, Object *ob)
 
static void bakeModifier (struct Main *UNUSED(bmain), Depsgraph *depsgraph, GpencilModifierData *md, Object *ob)
 
static void foreachIDLink (GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
 
static void 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)
 

Variables

GpencilModifierTypeInfo modifierType_Gpencil_Envelope
 

Function Documentation

◆ add_stroke()

static void add_stroke ( Object *  ob,
bGPDstroke *  gps,
const int  point_index,
const int  connection_index,
const int  size2,
const int  size1,
const int  mat_nr,
const float  thickness,
const float  strength,
ListBase *  results 
)
static

◆ add_stroke_cyclic()

static void add_stroke_cyclic ( Object *  ob,
bGPDstroke *  gps,
const int  point_index,
const int  connection_index,
const int  size,
const int  mat_nr,
const float  thickness,
const float  strength,
ListBase *  results 
)
static

◆ add_stroke_simple()

static void add_stroke_simple ( Object *  ob,
bGPDstroke *  gps,
const int  point_index,
const int  connection_index,
const int  mat_nr,
const float  thickness,
const float  strength,
ListBase *  results 
)
static

◆ apply_stroke_envelope()

static void apply_stroke_envelope ( bGPDstroke *  gps,
int  spread,
const int  def_nr,
const bool  invert_vg,
const float  thickness,
const float  pixfactor 
)
static

◆ bakeModifier()

static void bakeModifier ( struct Main *  UNUSEDbmain,
Depsgraph *  depsgraph,
GpencilModifierData *  md,
Object *  ob 
)
static

◆ calc_min_radius_v3v3()

static float calc_min_radius_v3v3 ( float  p1[3],
float  p2[3],
float  dir[3] 
)
static

◆ calc_radius_limit()

static float calc_radius_limit ( bGPDstroke *  gps,
bGPDspoint *  points,
float  dir[3],
int  spread,
const int  i 
)
static

◆ copyData()

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

Definition at line 58 of file MOD_gpencilenvelope.c.

References BKE_gpencil_modifier_copydata_generic().

◆ deformStroke()

static void deformStroke ( GpencilModifierData *  md,
Depsgraph *  UNUSEDdepsgraph,
Object *  ob,
bGPDlayer *  gpl,
bGPDframe *  UNUSEDgpf,
bGPDstroke *  gps 
)
static

◆ foreachIDLink()

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

Definition at line 604 of file MOD_gpencilenvelope.c.

References IDWALK_CB_USER, and EnvelopeGpencilModifierData::material.

◆ generate_geometry()

static void generate_geometry ( GpencilModifierData *  md,
Object *  ob,
bGPDlayer *  gpl,
bGPDframe *  gpf 
)
static

◆ generateStrokes()

static void generateStrokes ( GpencilModifierData *  md,
Depsgraph *  depsgraph,
Object *  ob 
)
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 634 of file MOD_gpencilenvelope.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

Variable Documentation

◆ modifierType_Gpencil_Envelope

GpencilModifierTypeInfo modifierType_Gpencil_Envelope
Initial value:
= {
N_("Envelope"),
"EnvelopeGpencilModifierData",
}
@ eGpencilModifierTypeFlag_SupportsEditmode
@ eGpencilModifierTypeType_Gpencil
struct EnvelopeGpencilModifierData EnvelopeGpencilModifierData
static void deformStroke(GpencilModifierData *md, Depsgraph *UNUSED(depsgraph), Object *ob, bGPDlayer *gpl, bGPDframe *UNUSED(gpf), bGPDstroke *gps)
static void bakeModifier(struct Main *UNUSED(bmain), Depsgraph *depsgraph, GpencilModifierData *md, Object *ob)
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 647 of file MOD_gpencilenvelope.c.