Blender
V3.3
|
#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_node_tree_update.h"
#include "BKE_texture.h"
#include "BLO_read_write.h"
Go to the source code of this file.
Variables | |
IDTypeInfo | IDType_ID_LS |
static const char * | modifier_name [LS_MODIFIER_NUM] |
|
static |
Definition at line 829 of file linestyle.c.
References BLI_addtail(), BLI_uniquename(), modifier_name, LineStyleModifier::name, and LineStyleModifier::type.
Referenced by BKE_linestyle_alpha_modifier_add(), BKE_linestyle_alpha_modifier_copy(), BKE_linestyle_color_modifier_add(), BKE_linestyle_color_modifier_copy(), BKE_linestyle_geometry_modifier_add(), BKE_linestyle_geometry_modifier_copy(), BKE_linestyle_thickness_modifier_add(), and BKE_linestyle_thickness_modifier_copy().
|
static |
Definition at line 1057 of file linestyle.c.
References 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, new_modifier(), NULL, size(), and type.
Referenced by BKE_linestyle_alpha_modifier_add(), and BKE_linestyle_alpha_modifier_copy().
|
static |
Definition at line 836 of file linestyle.c.
References 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, new_modifier(), NULL, size(), and type.
Referenced by BKE_linestyle_color_modifier_add(), and BKE_linestyle_color_modifier_copy().
|
static |
Definition at line 1584 of file linestyle.c.
References 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, new_modifier(), NULL, size(), and type.
Referenced by BKE_linestyle_geometry_modifier_add(), and BKE_linestyle_geometry_modifier_copy().
|
static |
Definition at line 1296 of file linestyle.c.
References 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, new_modifier(), NULL, size(), and type.
Referenced by BKE_linestyle_thickness_modifier_add(), and BKE_linestyle_thickness_modifier_copy().
FreestyleLineStyle* BKE_linestyle_active_from_view_layer | ( | 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, | ||
const int | UNUSEDflag | ||
) |
Definition at line 1165 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().
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 * | m | ||
) |
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, | ||
const 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 * | m | ||
) |
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 bContext * | C, |
FreestyleLineStyle * | linestyle | ||
) |
Definition at line 2036 of file linestyle.c.
References BKE_ntree_update_main_tree(), BLI_assert, BLI_findlink(), C, CTX_data_main(), bNode::custom1, bNode::custom2, bNode::inputs, linestyle, bNode::locx, bNode::locy, MA_RAMP_BLEND, nodeAddLink(), nodeAddStaticNode(), nodeSetActive(), FreestyleLineStyle::nodetree, ntree, ntreeAddTree(), NULL, bNode::outputs, SH_NODE_OUTPUT_LINESTYLE, SH_NODE_TEX_IMAGE, and SH_NODE_UVALONGSTROKE.
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, | ||
const int | UNUSEDflag | ||
) |
Definition at line 1753 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().
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 * | m | ||
) |
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 | ( | 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, |
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, | ||
const 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 * | m | ||
) |
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, |
const 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.
|
static |
Definition at line 519 of file linestyle.c.
References BKE_curvemapping_blend_read(), BLO_read_data_address, 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, 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_blend_read_data().
|
static |
Definition at line 470 of file linestyle.c.
References BLO_read_data_address, 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, 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_blend_read_data().
|
static |
Definition at line 630 of file linestyle.c.
Referenced by linestyle_blend_read_data().
|
static |
Definition at line 576 of file linestyle.c.
References BKE_curvemapping_blend_read(), BLO_read_data_address, LineStyleThicknessModifier_AlongStroke::curve, LineStyleThicknessModifier_DistanceFromCamera::curve, LineStyleThicknessModifier_DistanceFromObject::curve, LineStyleThicknessModifier_Curvature_3D::curve, LineStyleThicknessModifier_CreaseAngle::curve, LineStyleThicknessModifier_Tangent::curve, LineStyleThicknessModifier_Material::curve, 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_TANGENT, and LineStyleModifier::type.
Referenced by linestyle_blend_read_data().
|
static |
Definition at line 635 of file linestyle.c.
References Freestyle::a, FreestyleLineStyle::adt, FreestyleLineStyle::alpha_modifiers, BKE_animdata_blend_read_data(), BLO_read_data_address, BLO_read_list(), FreestyleLineStyle::color_modifiers, direct_link_linestyle_alpha_modifier(), direct_link_linestyle_color_modifier(), direct_link_linestyle_geometry_modifier(), direct_link_linestyle_thickness_modifier(), FreestyleLineStyle::geometry_modifiers, linestyle, LISTBASE_FOREACH, MAX_MTEX, FreestyleLineStyle::mtex, and FreestyleLineStyle::thickness_modifiers.
|
static |
Definition at line 705 of file linestyle.c.
References Freestyle::a, FreestyleLineStyle::alpha_modifiers, BLO_expand, FreestyleLineStyle::color_modifiers, linestyle, LISTBASE_FOREACH, LS_MODIFIER_DISTANCE_FROM_OBJECT, MAX_MTEX, FreestyleLineStyle::mtex, MTex::object, MTex::tex, and FreestyleLineStyle::thickness_modifiers.
|
static |
Definition at line 662 of file linestyle.c.
References Freestyle::a, FreestyleLineStyle::alpha_modifiers, BLO_read_id_address, FreestyleLineStyle::color_modifiers, FreestyleLineStyle::id, ID::lib, linestyle, LISTBASE_FOREACH, LS_MODIFIER_DISTANCE_FROM_OBJECT, MAX_MTEX, FreestyleLineStyle::mtex, MTex::object, LineStyleColorModifier_DistanceFromObject::target, LineStyleAlphaModifier_DistanceFromObject::target, LineStyleThicknessModifier_DistanceFromObject::target, MTex::tex, and FreestyleLineStyle::thickness_modifiers.
|
static |
Definition at line 444 of file linestyle.c.
References Freestyle::a, FreestyleLineStyle::adt, FreestyleLineStyle::alpha_modifiers, BKE_animdata_blend_write(), BKE_id_blend_write(), BLO_write_id_struct, BLO_write_struct, FreestyleLineStyle::color_modifiers, FreestyleLineStyle::geometry_modifiers, FreestyleLineStyle::id, linestyle, MAX_MTEX, FreestyleLineStyle::mtex, FreestyleLineStyle::nodetree, ntreeBlendWrite(), FreestyleLineStyle::thickness_modifiers, write_linestyle_alpha_modifiers(), write_linestyle_color_modifiers(), write_linestyle_geometry_modifiers(), and write_linestyle_thickness_modifiers().
|
static |
Definition at line 53 of file linestyle.c.
References Freestyle::a, FreestyleLineStyle::alpha_modifiers, BKE_id_copy_ex(), BKE_linestyle_alpha_modifier_copy(), BKE_linestyle_color_modifier_copy(), BKE_linestyle_geometry_modifier_copy(), BKE_linestyle_thickness_modifier_copy(), BLI_listbase_clear(), FreestyleLineStyle::color_modifiers, ListBase::first, FreestyleLineStyle::geometry_modifiers, LIB_ID_CREATE_NO_ALLOCATE, LIB_ID_CREATE_NO_USER_REFCOUNT, MAX_MTEX, MEM_mallocN, FreestyleLineStyle::mtex, LineStyleModifier::next, FreestyleLineStyle::nodetree, and FreestyleLineStyle::thickness_modifiers.
|
static |
Definition at line 137 of file linestyle.c.
References FreestyleLineStyle::alpha_modifiers, BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_library_foreach_ID_embedded(), BKE_texture_mtex_foreach_id(), FreestyleLineStyle::color_modifiers, data, IDWALK_CB_NOP, linestyle, LISTBASE_FOREACH, LS_MODIFIER_DISTANCE_FROM_OBJECT, MAX_MTEX, FreestyleLineStyle::mtex, FreestyleLineStyle::nodetree, LineStyleColorModifier_DistanceFromObject::target, LineStyleAlphaModifier_DistanceFromObject::target, LineStyleThicknessModifier_DistanceFromObject::target, and FreestyleLineStyle::thickness_modifiers.
Definition at line 107 of file linestyle.c.
References FreestyleLineStyle::alpha_modifiers, BKE_linestyle_alpha_modifier_remove(), BKE_linestyle_color_modifier_remove(), BKE_linestyle_geometry_modifier_remove(), BKE_linestyle_thickness_modifier_remove(), FreestyleLineStyle::color_modifiers, ListBase::first, FreestyleLineStyle::geometry_modifiers, linestyle, MAX_MTEX, MEM_freeN, MEM_SAFE_FREE, FreestyleLineStyle::mtex, FreestyleLineStyle::nodetree, ntreeFreeEmbeddedTree(), NULL, and FreestyleLineStyle::thickness_modifiers.
Definition at line 42 of file linestyle.c.
References BKE_linestyle_geometry_modifier_add(), BLI_assert, DNA_struct_default_get, linestyle, LS_MODIFIER_SAMPLING, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, and NULL.
Referenced by BKE_linestyle_init().
|
static |
Definition at line 813 of file linestyle.c.
References BLI_strncpy(), LineStyleModifier::flags, LineStyleModifier::influence, LS_MODIFIER_ENABLED, LS_MODIFIER_EXPANDED, MEM_callocN, modifier_name, LineStyleModifier::name, size(), type, and LineStyleModifier::type.
Referenced by alloc_alpha_modifier(), alloc_color_modifier(), alloc_geometry_modifier(), and alloc_thickness_modifier().
|
static |
Definition at line 251 of file linestyle.c.
References BKE_curvemapping_blend_write(), BLO_write_struct_by_id(), curve, ListBase::first, 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::next, and LineStyleModifier::type.
Referenced by linestyle_blend_write().
|
static |
Definition at line 182 of file linestyle.c.
References BLO_write_struct, BLO_write_struct_by_id(), ListBase::first, 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::next, and LineStyleModifier::type.
Referenced by linestyle_blend_write().
|
static |
Definition at line 388 of file linestyle.c.
References BLO_write_struct_by_id(), ListBase::first, 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::next, and LineStyleModifier::type.
Referenced by linestyle_blend_write().
|
static |
Definition at line 319 of file linestyle.c.
References BKE_curvemapping_blend_write(), BLO_write_struct_by_id(), curve, ListBase::first, 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, LineStyleModifier::next, and LineStyleModifier::type.
Referenced by linestyle_blend_write().
IDTypeInfo IDType_ID_LS |
Definition at line 733 of file linestyle.c.
|
static |
Definition at line 763 of file linestyle.c.
Referenced by add_to_modifier_list(), ED_spreadsheet_context_path_exists(), ED_spreadsheet_context_path_is_active(), edit_modifier_property_get(), blender::nodes::geometry_nodes_eval_log::ModifierLog::find_node_by_spreadsheet_editor_context(), geometry_nodes_input_attribute_toggle_exec(), gpencil_edit_modifier_property_get(), and new_modifier().