Blender
V3.3
|
Blender kernel freestyle line style functionality. More...
#include "DNA_linestyle_types.h"
Go to the source code of this file.
Macros | |
#define | LS_MODIFIER_TYPE_COLOR 1 |
#define | LS_MODIFIER_TYPE_ALPHA 2 |
#define | LS_MODIFIER_TYPE_THICKNESS 3 |
#define | LS_MODIFIER_TYPE_GEOMETRY 4 |
Blender kernel freestyle line style functionality.
Definition in file BKE_linestyle.h.
#define LS_MODIFIER_TYPE_ALPHA 2 |
Definition at line 18 of file BKE_linestyle.h.
#define LS_MODIFIER_TYPE_COLOR 1 |
Definition at line 17 of file BKE_linestyle.h.
#define LS_MODIFIER_TYPE_GEOMETRY 4 |
Definition at line 20 of file BKE_linestyle.h.
#define LS_MODIFIER_TYPE_THICKNESS 3 |
Definition at line 19 of file BKE_linestyle.h.
FreestyleLineStyle* BKE_linestyle_active_from_view_layer | ( | struct ViewLayer * | view_layer | ) |
Definition at line 806 of file linestyle.c.
References BKE_freestyle_lineset_get_active(), ViewLayer::freestyle_config, FreestyleLineSet::linestyle, and NULL.
Referenced by buttons_context_path_linestyle(), buttons_texture_users_from_context(), blender::ed::space_node::get_context_path_node_shader(), shader_get_from_context(), and texture_get_from_context().
LineStyleModifier* BKE_linestyle_alpha_modifier_add | ( | FreestyleLineStyle * | linestyle, |
const char * | name, | ||
int | type | ||
) |
Definition at line 1092 of file linestyle.c.
References add_to_modifier_list(), alloc_alpha_modifier(), FreestyleLineStyle::alpha_modifiers, BKE_curvemapping_add(), 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, DEG2RADF, 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_MATERIAL_LINE_A, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, LS_VALUE_BLEND, LineStyleAlphaModifier_Material::mat_attr, NULL, LineStyleAlphaModifier_DistanceFromCamera::range_max, LineStyleAlphaModifier_DistanceFromObject::range_max, LineStyleAlphaModifier_DistanceFromCamera::range_min, LineStyleAlphaModifier_DistanceFromObject::range_min, LineStyleAlphaModifier_DistanceFromObject::target, and type.
LineStyleModifier* BKE_linestyle_alpha_modifier_copy | ( | FreestyleLineStyle * | linestyle, |
const LineStyleModifier * | m, | ||
int | flag | ||
) |
bool BKE_linestyle_alpha_modifier_move | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier, | ||
int | direction | ||
) |
Definition at line 1906 of file linestyle.c.
References FreestyleLineStyle::alpha_modifiers, BLI_listbase_link_move(), and linestyle.
int BKE_linestyle_alpha_modifier_remove | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier | ||
) |
Definition at line 1261 of file linestyle.c.
References FreestyleLineStyle::alpha_modifiers, BKE_curvemapping_free(), BLI_findindex(), BLI_freelinkN(), curve, 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, and LineStyleModifier::type.
Referenced by linestyle_free_data().
LineStyleModifier* BKE_linestyle_color_modifier_add | ( | FreestyleLineStyle * | linestyle, |
const char * | name, | ||
int | type | ||
) |
Definition at line 872 of file linestyle.c.
References add_to_modifier_list(), alloc_color_modifier(), BKE_colorband_add(), LineStyleModifier::blend, FreestyleLineStyle::color_modifiers, DEG2RADF, 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_MATERIAL_LINE, LS_MODIFIER_NOISE, LS_MODIFIER_TANGENT, MA_RAMP_BLEND, NULL, type, and UNLIKELY.
LineStyleModifier* BKE_linestyle_color_modifier_copy | ( | FreestyleLineStyle * | linestyle, |
const LineStyleModifier * | m, | ||
int | flag | ||
) |
Definition at line 930 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().
bool BKE_linestyle_color_modifier_move | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier, | ||
int | direction | ||
) |
Reinsert modifier in modifier list with an offset of direction.
Definition at line 1900 of file linestyle.c.
References BLI_listbase_link_move(), FreestyleLineStyle::color_modifiers, and linestyle.
int BKE_linestyle_color_modifier_remove | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier | ||
) |
Definition at line 1022 of file linestyle.c.
References BLI_findindex(), BLI_freelinkN(), FreestyleLineStyle::color_modifiers, 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, MEM_freeN, and LineStyleModifier::type.
Referenced by linestyle_free_data().
void BKE_linestyle_default_shader | ( | const struct bContext * | C, |
FreestyleLineStyle * | linestyle | ||
) |
LineStyleModifier* BKE_linestyle_geometry_modifier_add | ( | FreestyleLineStyle * | linestyle, |
const char * | name, | ||
int | type | ||
) |
Definition at line 1638 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().
LineStyleModifier* BKE_linestyle_geometry_modifier_copy | ( | FreestyleLineStyle * | linestyle, |
const LineStyleModifier * | m, | ||
int | flag | ||
) |
bool BKE_linestyle_geometry_modifier_move | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier, | ||
int | direction | ||
) |
Definition at line 1918 of file linestyle.c.
References BLI_listbase_link_move(), FreestyleLineStyle::geometry_modifiers, and linestyle.
int BKE_linestyle_geometry_modifier_remove | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier | ||
) |
Definition at line 1891 of file linestyle.c.
References BLI_findindex(), BLI_freelinkN(), FreestyleLineStyle::geometry_modifiers, and linestyle.
Referenced by linestyle_free_data().
void BKE_linestyle_init | ( | struct FreestyleLineStyle * | linestyle | ) |
Definition at line 790 of file linestyle.c.
References FreestyleLineStyle::id, linestyle, and linestyle_init_data().
Referenced by BKE_linestyle_new().
void BKE_linestyle_modifier_list_color_ramps | ( | FreestyleLineStyle * | linestyle, |
ListBase * | listbase | ||
) |
Definition at line 1925 of file linestyle.c.
References BLI_addtail(), BLI_listbase_clear(), FreestyleLineStyle::color_modifiers, LinkData::data, ListBase::first, linestyle, LS_MODIFIER_ALONG_STROKE, LS_MODIFIER_DISTANCE_FROM_CAMERA, LS_MODIFIER_DISTANCE_FROM_OBJECT, LS_MODIFIER_MATERIAL, MEM_callocN, LineStyleModifier::next, and LineStyleModifier::type.
FreestyleLineStyle* BKE_linestyle_new | ( | struct Main * | bmain, |
const char * | name | ||
) |
Definition at line 795 of file linestyle.c.
References BKE_libblock_alloc(), BKE_linestyle_init(), ID_LS, and linestyle.
Referenced by BKE_freestyle_lineset_add().
char* BKE_linestyle_path_to_color_ramp | ( | FreestyleLineStyle * | linestyle, |
struct ColorBand * | color_ramp | ||
) |
Definition at line 1956 of file linestyle.c.
References BLI_sprintfN(), BLI_str_escape(), FreestyleLineStyle::color_modifiers, ListBase::first, 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, LineStyleModifier::name, LineStyleModifier::next, NULL, and LineStyleModifier::type.
LineStyleModifier* BKE_linestyle_thickness_modifier_add | ( | FreestyleLineStyle * | linestyle, |
const char * | name, | ||
int | type | ||
) |
Definition at line 1335 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.
LineStyleModifier* BKE_linestyle_thickness_modifier_copy | ( | FreestyleLineStyle * | linestyle, |
const LineStyleModifier * | m, | ||
int | flag | ||
) |
Definition at line 1429 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().
bool BKE_linestyle_thickness_modifier_move | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier, | ||
int | direction | ||
) |
Definition at line 1912 of file linestyle.c.
References BLI_listbase_link_move(), linestyle, and FreestyleLineStyle::thickness_modifiers.
int BKE_linestyle_thickness_modifier_remove | ( | FreestyleLineStyle * | linestyle, |
LineStyleModifier * | modifier | ||
) |
Definition at line 1550 of file linestyle.c.
References BKE_curvemapping_free(), BLI_findindex(), BLI_freelinkN(), curve, 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, FreestyleLineStyle::thickness_modifiers, and LineStyleModifier::type.
Referenced by linestyle_free_data().
bool BKE_linestyle_use_textures | ( | FreestyleLineStyle * | linestyle, |
bool | use_shading_nodes | ||
) |
Definition at line 2015 of file linestyle.c.
References ListBase::first, FreestyleLineStyle::flag, linestyle, LS_TEXTURE, FreestyleLineStyle::mtex, node, NODE_CLASS_TEXTURE, bNodeTree::nodes, FreestyleLineStyle::nodetree, NULL, and FreestyleLineStyle::use_nodes.