Blender
V3.3
|
#include <stdio.h>
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_material_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BKE_deform.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_material.h"
#include "BKE_scene.h"
#include "MOD_gpencil_modifiertypes.h"
#include "MOD_gpencil_util.h"
#include "DEG_depsgraph_query.h"
Go to the source code of this file.
Macros | |
#define | INIT_GP_TYPE(typeName) (types[eGpencilModifierType_##typeName] = &modifierType_Gpencil_##typeName) |
Functions | |
void | gpencil_modifier_type_init (GpencilModifierTypeInfo *types[]) |
bool | is_stroke_affected_by_modifier (Object *ob, char *mlayername, Material *material, const int mpassindex, const int gpl_passindex, const int minpoints, bGPDlayer *gpl, bGPDstroke *gps, const bool inv1, const bool inv2, const bool inv3, const bool inv4) |
float | get_modifier_point_weight (MDeformVert *dvert, bool inverse, int def_nr) |
void | generic_bake_deform_stroke (Depsgraph *depsgraph, GpencilModifierData *md, Object *ob, const bool retime, gpBakeCb bake_cb) |
#define INIT_GP_TYPE | ( | typeName | ) | (types[eGpencilModifierType_##typeName] = &modifierType_Gpencil_##typeName) |
void generic_bake_deform_stroke | ( | Depsgraph * | depsgraph, |
GpencilModifierData * | md, | ||
Object * | ob, | ||
const bool | retime, | ||
gpBakeCb | bake_cb | ||
) |
Definition at line 175 of file MOD_gpencil_util.c.
References BKE_scene_graph_update_for_newframe(), RenderData::cfra, Object::data, DEG_get_ctime(), DEG_get_evaluated_scene(), depsgraph, bGPdata::layers, LISTBASE_FOREACH, Scene::r, and scene.
Referenced by bakeModifier().
float get_modifier_point_weight | ( | struct MDeformVert * | dvert, |
bool | inverse, | ||
int | def_nr | ||
) |
Verify if valid vertex group *and return weight.
Definition at line 142 of file MOD_gpencil_util.c.
References BKE_defvert_find_index(), inverse(), NULL, and MDeformWeight::weight.
Referenced by apply_stroke_envelope(), and deformStroke().
void gpencil_modifier_type_init | ( | GpencilModifierTypeInfo * | types[] | ) |
Definition at line 31 of file MOD_gpencil_util.c.
References Color, INIT_GP_TYPE, Length(), KDL::Multiply(), Noise, and Texture.
Referenced by BKE_gpencil_modifier_init().
bool is_stroke_affected_by_modifier | ( | struct Object * | ob, |
char * | mlayername, | ||
struct Material * | material, | ||
int | mpassindex, | ||
int | gpl_passindex, | ||
int | minpoints, | ||
bGPDlayer * | gpl, | ||
bGPDstroke * | gps, | ||
bool | inv1, | ||
bool | inv2, | ||
bool | inv3, | ||
bool | inv4 | ||
) |
Verify if valid layer, material and pass index.
Definition at line 63 of file MOD_gpencil_util.c.
References BKE_gpencil_material(), DEG_get_original_id(), Material::gp_style, Material::id, MaterialGPencilStyle::index, bGPDlayer::info, bGPDstroke::mat_nr, material, NULL, bGPDlayer::pass_index, STREQ, and bGPDstroke::totpoints.
Referenced by apply_dash_for_frame(), deformStroke(), generate_geometry(), and gpencil_data_selected_minmax().