Blender  V2.93
Functions | Variables
linestyle.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_defaults.h"
#include "DNA_material_types.h"
#include "DNA_object_types.h"
#include "DNA_texture_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_string_utils.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_colorband.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_freestyle.h"
#include "BKE_idtype.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_linestyle.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_texture.h"
#include "BLO_read_write.h"

Go to the source code of this file.

Functions

static void linestyle_init_data (ID *id)
 
static void linestyle_copy_data (Main *bmain, ID *id_dst, const ID *id_src, const int flag)
 
static void linestyle_free_data (ID *id)
 
static void linestyle_foreach_id (ID *id, LibraryForeachIDData *data)
 
static void write_linestyle_color_modifiers (BlendWriter *writer, ListBase *modifiers)
 
static void write_linestyle_alpha_modifiers (BlendWriter *writer, ListBase *modifiers)
 
static void write_linestyle_thickness_modifiers (BlendWriter *writer, ListBase *modifiers)
 
static void write_linestyle_geometry_modifiers (BlendWriter *writer, ListBase *modifiers)
 
static void linestyle_blend_write (BlendWriter *writer, ID *id, const void *id_address)
 
static void direct_link_linestyle_color_modifier (BlendDataReader *reader, LineStyleModifier *modifier)
 
static void direct_link_linestyle_alpha_modifier (BlendDataReader *reader, LineStyleModifier *modifier)
 
static void direct_link_linestyle_thickness_modifier (BlendDataReader *reader, LineStyleModifier *modifier)
 
static void direct_link_linestyle_geometry_modifier (BlendDataReader *UNUSED(reader), LineStyleModifier *UNUSED(modifier))
 
static void linestyle_blend_read_data (BlendDataReader *reader, ID *id)
 
static void linestyle_blend_read_lib (BlendLibReader *reader, ID *id)
 
static void linestyle_blend_read_expand (BlendExpander *expander, ID *id)
 
void BKE_linestyle_init (FreestyleLineStyle *linestyle)
 
FreestyleLineStyleBKE_linestyle_new (struct Main *bmain, const char *name)
 
FreestyleLineStyleBKE_linestyle_active_from_view_layer (ViewLayer *view_layer)
 
static LineStyleModifiernew_modifier (const char *name, int type, size_t size)
 
static void add_to_modifier_list (ListBase *lb, LineStyleModifier *m)
 
static LineStyleModifieralloc_color_modifier (const char *name, int type)
 
LineStyleModifierBKE_linestyle_color_modifier_add (FreestyleLineStyle *linestyle, const char *name, int type)
 
LineStyleModifierBKE_linestyle_color_modifier_copy (FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int flag)
 
int BKE_linestyle_color_modifier_remove (FreestyleLineStyle *linestyle, LineStyleModifier *m)
 
static LineStyleModifieralloc_alpha_modifier (const char *name, int type)
 
LineStyleModifierBKE_linestyle_alpha_modifier_add (FreestyleLineStyle *linestyle, const char *name, int type)
 
LineStyleModifierBKE_linestyle_alpha_modifier_copy (FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int UNUSED(flag))
 
int BKE_linestyle_alpha_modifier_remove (FreestyleLineStyle *linestyle, LineStyleModifier *m)
 
static LineStyleModifieralloc_thickness_modifier (const char *name, int type)
 
LineStyleModifierBKE_linestyle_thickness_modifier_add (FreestyleLineStyle *linestyle, const char *name, int type)
 
LineStyleModifierBKE_linestyle_thickness_modifier_copy (FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int flag)
 
int BKE_linestyle_thickness_modifier_remove (FreestyleLineStyle *linestyle, LineStyleModifier *m)
 
static LineStyleModifieralloc_geometry_modifier (const char *name, int type)
 
LineStyleModifierBKE_linestyle_geometry_modifier_add (FreestyleLineStyle *linestyle, const char *name, int type)
 
LineStyleModifierBKE_linestyle_geometry_modifier_copy (FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int UNUSED(flag))
 
int BKE_linestyle_geometry_modifier_remove (FreestyleLineStyle *linestyle, LineStyleModifier *m)
 
bool BKE_linestyle_color_modifier_move (FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
 
bool BKE_linestyle_alpha_modifier_move (FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
 
bool BKE_linestyle_thickness_modifier_move (FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
 
bool BKE_linestyle_geometry_modifier_move (FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
 
void BKE_linestyle_modifier_list_color_ramps (FreestyleLineStyle *linestyle, ListBase *listbase)
 
char * BKE_linestyle_path_to_color_ramp (FreestyleLineStyle *linestyle, ColorBand *color_ramp)
 
bool BKE_linestyle_use_textures (FreestyleLineStyle *linestyle, const bool use_shading_nodes)
 
void BKE_linestyle_default_shader (const bContext *C, FreestyleLineStyle *linestyle)
 

Variables

IDTypeInfo IDType_ID_LS
 
static const char * modifier_name [LS_MODIFIER_NUM]
 

Function Documentation

◆ add_to_modifier_list()

static void add_to_modifier_list ( ListBase lb,
LineStyleModifier m 
)
static

◆ alloc_alpha_modifier()

static LineStyleModifier* alloc_alpha_modifier ( const char *  name,
int  type 
)
static

◆ alloc_color_modifier()

static LineStyleModifier* alloc_color_modifier ( const char *  name,
int  type 
)
static

◆ alloc_geometry_modifier()

static LineStyleModifier* alloc_geometry_modifier ( const char *  name,
int  type 
)
static

◆ alloc_thickness_modifier()

static LineStyleModifier* alloc_thickness_modifier ( const char *  name,
int  type 
)
static

◆ BKE_linestyle_active_from_view_layer()

FreestyleLineStyle* BKE_linestyle_active_from_view_layer ( ViewLayer view_layer)

◆ BKE_linestyle_alpha_modifier_add()

LineStyleModifier* BKE_linestyle_alpha_modifier_add ( FreestyleLineStyle linestyle,
const char *  name,
int  type 
)

◆ BKE_linestyle_alpha_modifier_copy()

LineStyleModifier* BKE_linestyle_alpha_modifier_copy ( FreestyleLineStyle linestyle,
const LineStyleModifier m,
const int   UNUSEDflag 
)

Definition at line 1177 of file linestyle.c.

References add_to_modifier_list(), alloc_alpha_modifier(), FreestyleLineStyle::alpha_modifiers, LineStyleAlphaModifier_Noise::amplitude, BKE_curvemapping_copy(), LineStyleModifier::blend, LineStyleAlphaModifier_AlongStroke::curve, LineStyleAlphaModifier_DistanceFromCamera::curve, LineStyleAlphaModifier_DistanceFromObject::curve, LineStyleAlphaModifier_Curvature_3D::curve, LineStyleAlphaModifier_Noise::curve, LineStyleAlphaModifier_CreaseAngle::curve, LineStyleAlphaModifier_Tangent::curve, LineStyleAlphaModifier_Material::curve, LineStyleModifier::flags, LineStyleAlphaModifier_AlongStroke::flags, LineStyleAlphaModifier_DistanceFromCamera::flags, LineStyleAlphaModifier_DistanceFromObject::flags, LineStyleAlphaModifier_Curvature_3D::flags, LineStyleAlphaModifier_Noise::flags, LineStyleAlphaModifier_CreaseAngle::flags, LineStyleAlphaModifier_Tangent::flags, LineStyleAlphaModifier_Material::flags, Object::id, id_us_plus(), LineStyleModifier::influence, linestyle, LS_MODIFIER_ALONG_STROKE, LS_MODIFIER_CREASE_ANGLE, LS_MODIFIER_CURVATURE_3D, LS_MODIFIER_DISTANCE_FROM_CAMERA, LS_MODIFIER_DISTANCE_FROM_OBJECT, LS_MODIFIER_MATERIAL, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, LineStyleAlphaModifier_Material::mat_attr, LineStyleAlphaModifier_CreaseAngle::max_angle, LineStyleAlphaModifier_Curvature_3D::max_curvature, LineStyleAlphaModifier_CreaseAngle::min_angle, LineStyleAlphaModifier_Curvature_3D::min_curvature, LineStyleModifier::name, NULL, LineStyleAlphaModifier_Noise::period, LineStyleAlphaModifier_DistanceFromCamera::range_max, LineStyleAlphaModifier_DistanceFromObject::range_max, LineStyleAlphaModifier_DistanceFromCamera::range_min, LineStyleAlphaModifier_DistanceFromObject::range_min, LineStyleAlphaModifier_Noise::seed, LineStyleAlphaModifier_DistanceFromObject::target, and LineStyleModifier::type.

Referenced by linestyle_copy_data().

◆ BKE_linestyle_alpha_modifier_move()

bool BKE_linestyle_alpha_modifier_move ( FreestyleLineStyle linestyle,
LineStyleModifier modifier,
int  direction 
)

◆ BKE_linestyle_alpha_modifier_remove()

int BKE_linestyle_alpha_modifier_remove ( FreestyleLineStyle linestyle,
LineStyleModifier m 
)

◆ BKE_linestyle_color_modifier_add()

LineStyleModifier* BKE_linestyle_color_modifier_add ( FreestyleLineStyle linestyle,
const char *  name,
int  type 
)

◆ BKE_linestyle_color_modifier_copy()

LineStyleModifier* BKE_linestyle_color_modifier_copy ( FreestyleLineStyle linestyle,
const LineStyleModifier m,
const int  flag 
)

Definition at line 942 of file linestyle.c.

References add_to_modifier_list(), alloc_color_modifier(), LineStyleColorModifier_Noise::amplitude, LineStyleModifier::blend, FreestyleLineStyle::color_modifiers, LineStyleColorModifier_AlongStroke::color_ramp, LineStyleColorModifier_DistanceFromCamera::color_ramp, LineStyleColorModifier_DistanceFromObject::color_ramp, LineStyleColorModifier_Curvature_3D::color_ramp, LineStyleColorModifier_Noise::color_ramp, LineStyleColorModifier_CreaseAngle::color_ramp, LineStyleColorModifier_Tangent::color_ramp, LineStyleColorModifier_Material::color_ramp, LineStyleModifier::flags, LineStyleColorModifier_Material::flags, id_us_plus(), LineStyleModifier::influence, LIB_ID_CREATE_NO_USER_REFCOUNT, linestyle, LS_MODIFIER_ALONG_STROKE, LS_MODIFIER_CREASE_ANGLE, LS_MODIFIER_CURVATURE_3D, LS_MODIFIER_DISTANCE_FROM_CAMERA, LS_MODIFIER_DISTANCE_FROM_OBJECT, LS_MODIFIER_MATERIAL, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, LineStyleColorModifier_Material::mat_attr, LineStyleColorModifier_CreaseAngle::max_angle, LineStyleColorModifier_Curvature_3D::max_curvature, MEM_dupallocN, LineStyleColorModifier_CreaseAngle::min_angle, LineStyleColorModifier_Curvature_3D::min_curvature, LineStyleModifier::name, NULL, LineStyleColorModifier_Noise::period, LineStyleColorModifier_DistanceFromCamera::range_max, LineStyleColorModifier_DistanceFromObject::range_max, LineStyleColorModifier_DistanceFromCamera::range_min, LineStyleColorModifier_DistanceFromObject::range_min, LineStyleColorModifier_Noise::seed, LineStyleColorModifier_DistanceFromObject::target, LineStyleModifier::type, and UNLIKELY.

Referenced by linestyle_copy_data().

◆ BKE_linestyle_color_modifier_move()

bool BKE_linestyle_color_modifier_move ( FreestyleLineStyle linestyle,
LineStyleModifier modifier,
int  direction 
)

Reinsert modifier in modifier list with an offset of direction.

Returns
if position of modifier has changed.

Definition at line 1916 of file linestyle.c.

References BLI_listbase_link_move(), FreestyleLineStyle::color_modifiers, and linestyle.

◆ BKE_linestyle_color_modifier_remove()

int BKE_linestyle_color_modifier_remove ( FreestyleLineStyle linestyle,
LineStyleModifier m 
)

◆ BKE_linestyle_default_shader()

void BKE_linestyle_default_shader ( const bContext C,
FreestyleLineStyle linestyle 
)

◆ BKE_linestyle_geometry_modifier_add()

LineStyleModifier* BKE_linestyle_geometry_modifier_add ( FreestyleLineStyle linestyle,
const char *  name,
int  type 
)

Definition at line 1650 of file linestyle.c.

References add_to_modifier_list(), alloc_geometry_modifier(), LineStyleGeometryModifier_SinusDisplacement::amplitude, LineStyleGeometryModifier_SpatialNoise::amplitude, LineStyleGeometryModifier_PerlinNoise1D::amplitude, LineStyleGeometryModifier_PerlinNoise2D::amplitude, LineStyleGeometryModifier_PerlinNoise1D::angle, LineStyleGeometryModifier_PerlinNoise2D::angle, LineStyleGeometryModifier_2DTransform::angle, LineStyleGeometryModifier_BackboneStretcher::backbone_length, LineStyleGeometryModifier_Blueprint::backbone_length, DEG2RADF, LineStyleGeometryModifier_2DOffset::end, LineStyleGeometryModifier_BezierCurve::error, LineStyleGeometryModifier_Polygonalization::error, LineStyleGeometryModifier_SpatialNoise::flags, LineStyleGeometryModifier_Blueprint::flags, LineStyleGeometryModifier_PerlinNoise1D::frequency, LineStyleGeometryModifier_PerlinNoise2D::frequency, FreestyleLineStyle::geometry_modifiers, linestyle, LS_MODIFIER_2D_OFFSET, LS_MODIFIER_2D_TRANSFORM, LS_MODIFIER_2D_TRANSFORM_PIVOT_CENTER, LS_MODIFIER_BACKBONE_STRETCHER, LS_MODIFIER_BEZIER_CURVE, LS_MODIFIER_BLUEPRINT, LS_MODIFIER_BLUEPRINT_CIRCLES, LS_MODIFIER_GUIDING_LINES, LS_MODIFIER_PERLIN_NOISE_1D, LS_MODIFIER_PERLIN_NOISE_2D, LS_MODIFIER_POLYGONIZATION, LS_MODIFIER_SAMPLING, LS_MODIFIER_SIMPLIFICATION, LS_MODIFIER_SINUS_DISPLACEMENT, LS_MODIFIER_SPATIAL_NOISE, LS_MODIFIER_SPATIAL_NOISE_PURERANDOM, LS_MODIFIER_SPATIAL_NOISE_SMOOTH, LS_MODIFIER_TIP_REMOVER, NULL, LineStyleGeometryModifier_SpatialNoise::octaves, LineStyleGeometryModifier_PerlinNoise1D::octaves, LineStyleGeometryModifier_PerlinNoise2D::octaves, LineStyleGeometryModifier_GuidingLines::offset, LineStyleGeometryModifier_SinusDisplacement::phase, LineStyleGeometryModifier_2DTransform::pivot, LineStyleGeometryModifier_2DTransform::pivot_u, LineStyleGeometryModifier_2DTransform::pivot_x, LineStyleGeometryModifier_2DTransform::pivot_y, LineStyleGeometryModifier_Blueprint::random_backbone, LineStyleGeometryModifier_Blueprint::random_center, LineStyleGeometryModifier_Blueprint::random_radius, LineStyleGeometryModifier_Blueprint::rounds, LineStyleGeometryModifier_Sampling::sampling, LineStyleGeometryModifier_SpatialNoise::scale, LineStyleGeometryModifier_2DTransform::scale_x, LineStyleGeometryModifier_2DTransform::scale_y, LineStyleGeometryModifier_2DOffset::start, LineStyleGeometryModifier_TipRemover::tip_length, LineStyleGeometryModifier_Simplification::tolerance, type, LineStyleGeometryModifier_SinusDisplacement::wavelength, LineStyleGeometryModifier_2DOffset::x, and LineStyleGeometryModifier_2DOffset::y.

Referenced by linestyle_init_data().

◆ BKE_linestyle_geometry_modifier_copy()

LineStyleModifier* BKE_linestyle_geometry_modifier_copy ( FreestyleLineStyle linestyle,
const LineStyleModifier m,
const int   UNUSEDflag 
)

Definition at line 1765 of file linestyle.c.

References add_to_modifier_list(), alloc_geometry_modifier(), LineStyleGeometryModifier_SinusDisplacement::amplitude, LineStyleGeometryModifier_SpatialNoise::amplitude, LineStyleGeometryModifier_PerlinNoise1D::amplitude, LineStyleGeometryModifier_PerlinNoise2D::amplitude, LineStyleGeometryModifier_PerlinNoise1D::angle, LineStyleGeometryModifier_PerlinNoise2D::angle, LineStyleGeometryModifier_2DTransform::angle, LineStyleGeometryModifier_BackboneStretcher::backbone_length, LineStyleGeometryModifier_Blueprint::backbone_length, LineStyleGeometryModifier_2DOffset::end, LineStyleGeometryModifier_BezierCurve::error, LineStyleGeometryModifier_Polygonalization::error, LineStyleModifier::flags, LineStyleGeometryModifier_SpatialNoise::flags, LineStyleGeometryModifier_Blueprint::flags, LineStyleGeometryModifier_PerlinNoise1D::frequency, LineStyleGeometryModifier_PerlinNoise2D::frequency, FreestyleLineStyle::geometry_modifiers, linestyle, LS_MODIFIER_2D_OFFSET, LS_MODIFIER_2D_TRANSFORM, LS_MODIFIER_BACKBONE_STRETCHER, LS_MODIFIER_BEZIER_CURVE, LS_MODIFIER_BLUEPRINT, LS_MODIFIER_GUIDING_LINES, LS_MODIFIER_PERLIN_NOISE_1D, LS_MODIFIER_PERLIN_NOISE_2D, LS_MODIFIER_POLYGONIZATION, LS_MODIFIER_SAMPLING, LS_MODIFIER_SIMPLIFICATION, LS_MODIFIER_SINUS_DISPLACEMENT, LS_MODIFIER_SPATIAL_NOISE, LS_MODIFIER_TIP_REMOVER, LineStyleModifier::name, NULL, LineStyleGeometryModifier_SpatialNoise::octaves, LineStyleGeometryModifier_PerlinNoise1D::octaves, LineStyleGeometryModifier_PerlinNoise2D::octaves, LineStyleGeometryModifier_GuidingLines::offset, LineStyleGeometryModifier_SinusDisplacement::phase, LineStyleGeometryModifier_2DTransform::pivot, LineStyleGeometryModifier_2DTransform::pivot_u, LineStyleGeometryModifier_2DTransform::pivot_x, LineStyleGeometryModifier_2DTransform::pivot_y, LineStyleGeometryModifier_Blueprint::random_backbone, LineStyleGeometryModifier_Blueprint::random_center, LineStyleGeometryModifier_Blueprint::random_radius, LineStyleGeometryModifier_Blueprint::rounds, LineStyleGeometryModifier_Sampling::sampling, LineStyleGeometryModifier_SpatialNoise::scale, LineStyleGeometryModifier_2DTransform::scale_x, LineStyleGeometryModifier_2DTransform::scale_y, LineStyleGeometryModifier_PerlinNoise1D::seed, LineStyleGeometryModifier_PerlinNoise2D::seed, LineStyleGeometryModifier_2DOffset::start, LineStyleGeometryModifier_TipRemover::tip_length, LineStyleGeometryModifier_Simplification::tolerance, LineStyleModifier::type, LineStyleGeometryModifier_SinusDisplacement::wavelength, LineStyleGeometryModifier_2DOffset::x, and LineStyleGeometryModifier_2DOffset::y.

Referenced by linestyle_copy_data().

◆ BKE_linestyle_geometry_modifier_move()

bool BKE_linestyle_geometry_modifier_move ( FreestyleLineStyle linestyle,
LineStyleModifier modifier,
int  direction 
)

◆ BKE_linestyle_geometry_modifier_remove()

int BKE_linestyle_geometry_modifier_remove ( FreestyleLineStyle linestyle,
LineStyleModifier m 
)

◆ BKE_linestyle_init()

void BKE_linestyle_init ( FreestyleLineStyle linestyle)

Definition at line 802 of file linestyle.c.

References FreestyleLineStyle::id, linestyle, and linestyle_init_data().

Referenced by BKE_linestyle_new().

◆ BKE_linestyle_modifier_list_color_ramps()

void BKE_linestyle_modifier_list_color_ramps ( FreestyleLineStyle linestyle,
ListBase listbase 
)

◆ BKE_linestyle_new()

FreestyleLineStyle* BKE_linestyle_new ( struct Main bmain,
const char *  name 
)

Definition at line 807 of file linestyle.c.

References BKE_libblock_alloc(), BKE_linestyle_init(), ID_LS, and linestyle.

Referenced by BKE_freestyle_lineset_add().

◆ BKE_linestyle_path_to_color_ramp()

char* BKE_linestyle_path_to_color_ramp ( FreestyleLineStyle linestyle,
ColorBand color_ramp 
)

◆ BKE_linestyle_thickness_modifier_add()

LineStyleModifier* BKE_linestyle_thickness_modifier_add ( FreestyleLineStyle linestyle,
const char *  name,
int  type 
)

Definition at line 1347 of file linestyle.c.

References add_to_modifier_list(), alloc_thickness_modifier(), LineStyleThicknessModifier_Noise::amplitude, BKE_curvemapping_add(), LineStyleModifier::blend, LineStyleThicknessModifier_AlongStroke::curve, LineStyleThicknessModifier_DistanceFromCamera::curve, LineStyleThicknessModifier_DistanceFromObject::curve, LineStyleThicknessModifier_Curvature_3D::curve, LineStyleThicknessModifier_CreaseAngle::curve, LineStyleThicknessModifier_Tangent::curve, LineStyleThicknessModifier_Material::curve, DEG2RADF, LineStyleThicknessModifier_Noise::flags, linestyle, LS_MODIFIER_ALONG_STROKE, LS_MODIFIER_CALLIGRAPHY, LS_MODIFIER_CREASE_ANGLE, LS_MODIFIER_CURVATURE_3D, LS_MODIFIER_DISTANCE_FROM_CAMERA, LS_MODIFIER_DISTANCE_FROM_OBJECT, LS_MODIFIER_MATERIAL, LS_MODIFIER_MATERIAL_LINE, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, LS_THICKNESS_ASYMMETRIC, LS_VALUE_BLEND, LineStyleThicknessModifier_Material::mat_attr, LineStyleThicknessModifier_CreaseAngle::max_angle, LineStyleThicknessModifier_Curvature_3D::max_curvature, LineStyleThicknessModifier_Curvature_3D::max_thickness, LineStyleThicknessModifier_CreaseAngle::max_thickness, LineStyleThicknessModifier_Tangent::max_thickness, LineStyleThicknessModifier_Calligraphy::max_thickness, LineStyleThicknessModifier_CreaseAngle::min_angle, LineStyleThicknessModifier_Curvature_3D::min_curvature, LineStyleThicknessModifier_Curvature_3D::min_thickness, LineStyleThicknessModifier_CreaseAngle::min_thickness, LineStyleThicknessModifier_Tangent::min_thickness, LineStyleThicknessModifier_Calligraphy::min_thickness, NULL, LineStyleThicknessModifier_Calligraphy::orientation, LineStyleThicknessModifier_Noise::period, LineStyleThicknessModifier_DistanceFromCamera::range_max, LineStyleThicknessModifier_DistanceFromObject::range_max, LineStyleThicknessModifier_DistanceFromCamera::range_min, LineStyleThicknessModifier_DistanceFromObject::range_min, LineStyleThicknessModifier_Noise::seed, LineStyleThicknessModifier_DistanceFromObject::target, FreestyleLineStyle::thickness_modifiers, type, LineStyleThicknessModifier_AlongStroke::value_max, LineStyleThicknessModifier_DistanceFromCamera::value_max, LineStyleThicknessModifier_DistanceFromObject::value_max, LineStyleThicknessModifier_Material::value_max, LineStyleThicknessModifier_AlongStroke::value_min, LineStyleThicknessModifier_DistanceFromCamera::value_min, LineStyleThicknessModifier_DistanceFromObject::value_min, and LineStyleThicknessModifier_Material::value_min.

◆ BKE_linestyle_thickness_modifier_copy()

LineStyleModifier* BKE_linestyle_thickness_modifier_copy ( FreestyleLineStyle linestyle,
const LineStyleModifier m,
const int  flag 
)

Definition at line 1441 of file linestyle.c.

References add_to_modifier_list(), alloc_thickness_modifier(), LineStyleThicknessModifier_Noise::amplitude, BKE_curvemapping_copy(), LineStyleModifier::blend, LineStyleThicknessModifier_AlongStroke::curve, LineStyleThicknessModifier_DistanceFromCamera::curve, LineStyleThicknessModifier_DistanceFromObject::curve, LineStyleThicknessModifier_Curvature_3D::curve, LineStyleThicknessModifier_CreaseAngle::curve, LineStyleThicknessModifier_Tangent::curve, LineStyleThicknessModifier_Material::curve, LineStyleModifier::flags, LineStyleThicknessModifier_AlongStroke::flags, LineStyleThicknessModifier_DistanceFromCamera::flags, LineStyleThicknessModifier_DistanceFromObject::flags, LineStyleThicknessModifier_Curvature_3D::flags, LineStyleThicknessModifier_Noise::flags, LineStyleThicknessModifier_CreaseAngle::flags, LineStyleThicknessModifier_Tangent::flags, LineStyleThicknessModifier_Material::flags, id_us_plus(), LineStyleModifier::influence, LIB_ID_CREATE_NO_USER_REFCOUNT, linestyle, LS_MODIFIER_ALONG_STROKE, LS_MODIFIER_CALLIGRAPHY, LS_MODIFIER_CREASE_ANGLE, LS_MODIFIER_CURVATURE_3D, LS_MODIFIER_DISTANCE_FROM_CAMERA, LS_MODIFIER_DISTANCE_FROM_OBJECT, LS_MODIFIER_MATERIAL, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, LineStyleThicknessModifier_Material::mat_attr, LineStyleThicknessModifier_CreaseAngle::max_angle, LineStyleThicknessModifier_Curvature_3D::max_curvature, LineStyleThicknessModifier_Curvature_3D::max_thickness, LineStyleThicknessModifier_CreaseAngle::max_thickness, LineStyleThicknessModifier_Tangent::max_thickness, LineStyleThicknessModifier_Calligraphy::max_thickness, LineStyleThicknessModifier_CreaseAngle::min_angle, LineStyleThicknessModifier_Curvature_3D::min_curvature, LineStyleThicknessModifier_Curvature_3D::min_thickness, LineStyleThicknessModifier_CreaseAngle::min_thickness, LineStyleThicknessModifier_Tangent::min_thickness, LineStyleThicknessModifier_Calligraphy::min_thickness, LineStyleModifier::name, NULL, LineStyleThicknessModifier_Calligraphy::orientation, LineStyleThicknessModifier_Noise::period, LineStyleThicknessModifier_DistanceFromCamera::range_max, LineStyleThicknessModifier_DistanceFromObject::range_max, LineStyleThicknessModifier_DistanceFromCamera::range_min, LineStyleThicknessModifier_DistanceFromObject::range_min, LineStyleThicknessModifier_Noise::seed, LineStyleThicknessModifier_DistanceFromObject::target, FreestyleLineStyle::thickness_modifiers, LineStyleModifier::type, LineStyleThicknessModifier_AlongStroke::value_max, LineStyleThicknessModifier_DistanceFromCamera::value_max, LineStyleThicknessModifier_DistanceFromObject::value_max, LineStyleThicknessModifier_Material::value_max, LineStyleThicknessModifier_AlongStroke::value_min, LineStyleThicknessModifier_DistanceFromCamera::value_min, LineStyleThicknessModifier_DistanceFromObject::value_min, and LineStyleThicknessModifier_Material::value_min.

Referenced by linestyle_copy_data().

◆ BKE_linestyle_thickness_modifier_move()

bool BKE_linestyle_thickness_modifier_move ( FreestyleLineStyle linestyle,
LineStyleModifier modifier,
int  direction 
)

◆ BKE_linestyle_thickness_modifier_remove()

int BKE_linestyle_thickness_modifier_remove ( FreestyleLineStyle linestyle,
LineStyleModifier m 
)

◆ BKE_linestyle_use_textures()

bool BKE_linestyle_use_textures ( FreestyleLineStyle linestyle,
const bool  use_shading_nodes 
)

◆ direct_link_linestyle_alpha_modifier()

static void direct_link_linestyle_alpha_modifier ( BlendDataReader reader,
LineStyleModifier modifier 
)
static

◆ direct_link_linestyle_color_modifier()

static void direct_link_linestyle_color_modifier ( BlendDataReader reader,
LineStyleModifier modifier 
)
static

◆ direct_link_linestyle_geometry_modifier()

static void direct_link_linestyle_geometry_modifier ( BlendDataReader UNUSEDreader,
LineStyleModifier UNUSEDmodifier 
)
static

Definition at line 644 of file linestyle.c.

Referenced by linestyle_blend_read_data().

◆ direct_link_linestyle_thickness_modifier()

static void direct_link_linestyle_thickness_modifier ( BlendDataReader reader,
LineStyleModifier modifier 
)
static

◆ linestyle_blend_read_data()

static void linestyle_blend_read_data ( BlendDataReader reader,
ID id 
)
static

◆ linestyle_blend_read_expand()

static void linestyle_blend_read_expand ( BlendExpander expander,
ID id 
)
static

◆ linestyle_blend_read_lib()

static void linestyle_blend_read_lib ( BlendLibReader reader,
ID id 
)
static

◆ linestyle_blend_write()

static void linestyle_blend_write ( BlendWriter writer,
ID id,
const void *  id_address 
)
static

◆ linestyle_copy_data()

static void linestyle_copy_data ( Main bmain,
ID id_dst,
const ID id_src,
const int  flag 
)
static

◆ linestyle_foreach_id()

static void linestyle_foreach_id ( ID id,
LibraryForeachIDData data 
)
static

◆ linestyle_free_data()

static void linestyle_free_data ( ID id)
static

◆ linestyle_init_data()

static void linestyle_init_data ( ID id)
static

◆ new_modifier()

static LineStyleModifier* new_modifier ( const char *  name,
int  type,
size_t  size 
)
static

◆ write_linestyle_alpha_modifiers()

static void write_linestyle_alpha_modifiers ( BlendWriter writer,
ListBase modifiers 
)
static

◆ write_linestyle_color_modifiers()

static void write_linestyle_color_modifiers ( BlendWriter writer,
ListBase modifiers 
)
static

◆ write_linestyle_geometry_modifiers()

static void write_linestyle_geometry_modifiers ( BlendWriter writer,
ListBase modifiers 
)
static

◆ write_linestyle_thickness_modifiers()

static void write_linestyle_thickness_modifiers ( BlendWriter writer,
ListBase modifiers 
)
static

Variable Documentation

◆ IDType_ID_LS

IDTypeInfo IDType_ID_LS
Initial value:
= {
.id_code = ID_LS,
.id_filter = FILTER_ID_LS,
.main_listbase_index = INDEX_ID_LS,
.struct_size = sizeof(FreestyleLineStyle),
.name = "FreestyleLineStyle",
.name_plural = "linestyles",
.translation_context = BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE,
.flags = 0,
.copy_data = linestyle_copy_data,
.free_data = linestyle_free_data,
.make_local = NULL,
.foreach_id = linestyle_foreach_id,
.foreach_cache = NULL,
.owner_get = NULL,
.blend_write = linestyle_blend_write,
.blend_read_data = linestyle_blend_read_data,
.blend_read_lib = linestyle_blend_read_lib,
.blend_read_expand = linestyle_blend_read_expand,
.blend_read_undo_preserve = NULL,
.lib_override_apply_post = NULL,
}
#define BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE
#define FILTER_ID_LS
Definition: DNA_ID.h:714
@ INDEX_ID_LS
Definition: DNA_ID.h:814
@ ID_LS
Definition: DNA_ID_enums.h:87
struct FreestyleLineStyle FreestyleLineStyle
static void init_data(ModifierData *md)
static void linestyle_free_data(ID *id)
Definition: linestyle.c:122
static void linestyle_init_data(ID *id)
Definition: linestyle.c:57
static void linestyle_blend_read_lib(BlendLibReader *reader, ID *id)
Definition: linestyle.c:676
static void linestyle_blend_read_data(BlendDataReader *reader, ID *id)
Definition: linestyle.c:649
static void linestyle_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition: linestyle.c:457
static void linestyle_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
Definition: linestyle.c:68
static void linestyle_foreach_id(ID *id, LibraryForeachIDData *data)
Definition: linestyle.c:152
static void linestyle_blend_read_expand(BlendExpander *expander, ID *id)
Definition: linestyle.c:719

Definition at line 747 of file linestyle.c.

◆ modifier_name

const char* modifier_name[LS_MODIFIER_NUM]
static
Initial value:
= {
"Along Stroke",
"Distance from Camera",
"Distance from Object",
"Material",
"Sampling",
"Bezier Curve",
"Sinus Displacement",
"Spatial Noise",
"Perlin Noise 1D",
"Perlin Noise 2D",
"Backbone Stretcher",
"Tip Remover",
"Calligraphy",
"Polygonalization",
"Guiding Lines",
"Blueprint",
"2D Offset",
"2D Transform",
"Tangent",
"Noise",
"Crease Angle",
"Simplification",
"3D Curvature",
}

Definition at line 775 of file linestyle.c.

Referenced by add_to_modifier_list(), edit_modifier_property_get(), gpencil_edit_modifier_property_get(), and new_modifier().