Blender V5.0
DNA_linestyle_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2010 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11#include "DNA_ID.h"
12#include "DNA_listBase.h"
13
14#ifndef MAX_MTEX
15# define MAX_MTEX 18
16#endif
17
18/* texco (also in DNA_material_types.h) */
19#define TEXCO_STROKE 16 /* actually its UV */
20
21struct AnimData;
22struct ColorBand;
23struct CurveMapping;
24struct MTex;
25struct Object;
26struct bNodeTree;
27
39
41enum {
66};
67
69enum {
72};
73
75enum {
77};
78
80enum {
83};
84
86enum {
88};
89
91enum {
100};
101
102/* Along Stroke modifiers */
103
111
121
132
133/* Distance from Camera modifiers */
134
143
154
166
167/* Distance from Object modifiers */
168
178
190
203
204/* 3D curvature modifiers */
205
215
226
238
239/* Noise modifiers (for color, alpha and thickness) */
240
251
262
272
273/* Crease Angle modifiers */
274
283
294
306
307/* Tangent modifiers */
308
316
326
337
338/* Material modifiers */
339
340/* mat_attr */
341enum {
357};
358
368
378
389
390/* Geometry modifiers */
391
400
409
418
420enum {
423};
424
434
447
460
469
478
487
496
498enum {
502};
503
516
525
527enum {
533};
534
548
557
558/* Calligraphic thickness modifier */
559
570
572enum {
580};
581
583enum {
584 LS_DS_EXPAND = 1 << 0, /* for animation editors */
595 LS_NO_SORTING = 1 << 11,
596 LS_REVERSE_ORDER = 1 << 12, /* for sorting */
597 LS_TEXTURE = 1 << 13,
598 LS_CHAIN_COUNT = 1 << 14,
599};
600
602enum {
605};
606
608enum {
612};
613
615enum {
621};
622
624enum {
629};
630
632enum {
638};
639
640typedef struct FreestyleLineStyle {
641#ifdef __cplusplus
644 static constexpr ID_Type id_type = ID_LS;
645#endif
646
648 struct AnimData *adt;
649
650 float r, g, b, alpha;
654 int flag, caps;
656 unsigned int rounds;
661 unsigned int chain_count;
662 unsigned short split_dash1, split_gap1;
663 unsigned short split_dash2, split_gap2;
664 unsigned short split_dash3, split_gap3;
666 float texstep;
669 char _pad[6];
670 unsigned short dash1, gap1, dash2, gap2, dash3, gap3;
672 int panel;
673 struct MTex *mtex[/*MAX_MTEX*/ 18];
674 /* nodes */
676
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_LS
#define DNA_DEFINE_CXX_METHODS(class_name)
Definition DNA_defs.h:66
struct FreestyleLineStyle FreestyleLineStyle
@ LS_MODIFIER_SPATIAL_NOISE_PURERANDOM
@ LS_MODIFIER_SPATIAL_NOISE_SMOOTH
@ LS_MODIFIER_SAMPLING
@ LS_MODIFIER_BEZIER_CURVE
@ LS_MODIFIER_NOISE
@ LS_MODIFIER_BACKBONE_STRETCHER
@ LS_MODIFIER_SPATIAL_NOISE
@ LS_MODIFIER_PERLIN_NOISE_2D
@ LS_MODIFIER_POLYGONIZATION
@ LS_MODIFIER_GUIDING_LINES
@ LS_MODIFIER_SIMPLIFICATION
@ LS_MODIFIER_TANGENT
@ LS_MODIFIER_CREASE_ANGLE
@ LS_MODIFIER_NUM
@ LS_MODIFIER_2D_TRANSFORM
@ LS_MODIFIER_DISTANCE_FROM_OBJECT
@ LS_MODIFIER_BLUEPRINT
@ LS_MODIFIER_CALLIGRAPHY
@ LS_MODIFIER_CURVATURE_3D
@ LS_MODIFIER_SINUS_DISPLACEMENT
@ LS_MODIFIER_ALONG_STROKE
@ LS_MODIFIER_MATERIAL
@ LS_MODIFIER_DISTANCE_FROM_CAMERA
@ LS_MODIFIER_PERLIN_NOISE_1D
@ LS_MODIFIER_2D_OFFSET
@ LS_MODIFIER_TIP_REMOVER
@ LS_CHAINING_SKETCHY
@ LS_CHAINING_PLAIN
@ LS_MODIFIER_MATERIAL_SPEC_B
@ LS_MODIFIER_MATERIAL_SPEC_G
@ LS_MODIFIER_MATERIAL_DIFF_G
@ LS_MODIFIER_MATERIAL_DIFF_B
@ LS_MODIFIER_MATERIAL_SPEC_R
@ LS_MODIFIER_MATERIAL_LINE_G
@ LS_MODIFIER_MATERIAL_LINE_R
@ LS_MODIFIER_MATERIAL_LINE_B
@ LS_MODIFIER_MATERIAL_LINE
@ LS_MODIFIER_MATERIAL_ALPHA
@ LS_MODIFIER_MATERIAL_SPEC
@ LS_MODIFIER_MATERIAL_DIFF_R
@ LS_MODIFIER_MATERIAL_LINE_A
@ LS_MODIFIER_MATERIAL_DIFF
@ LS_MODIFIER_MATERIAL_SPEC_HARD
@ LS_MODIFIER_BLUEPRINT_SQUARES
@ LS_MODIFIER_BLUEPRINT_CIRCLES
@ LS_MODIFIER_BLUEPRINT_ELLIPSES
@ LS_MODIFIER_2D_TRANSFORM_PIVOT_PARAM
@ LS_MODIFIER_2D_TRANSFORM_PIVOT_START
@ LS_MODIFIER_2D_TRANSFORM_PIVOT_CENTER
@ LS_MODIFIER_2D_TRANSFORM_PIVOT_ABSOLUTE
@ LS_MODIFIER_2D_TRANSFORM_PIVOT_END
@ LS_THICKNESS_RELATIVE
@ LS_THICKNESS_CENTER
@ LS_THICKNESS_INSIDE
@ LS_THICKNESS_OUTSIDE
@ LS_THICKNESS_ASYMMETRIC
@ LS_INTEGRATION_MEAN
@ LS_INTEGRATION_FIRST
@ LS_INTEGRATION_MAX
@ LS_INTEGRATION_LAST
@ LS_INTEGRATION_MIN
@ LS_VALUE_MULT
@ LS_VALUE_SUB
@ LS_VALUE_BLEND
@ LS_VALUE_DIFF
@ LS_VALUE_ADD
@ LS_VALUE_MIN
@ LS_VALUE_DIV
@ LS_VALUE_MAX
@ LS_MODIFIER_USE_RAMP
@ LS_MIN_2D_LENGTH
@ LS_SAME_OBJECT
@ LS_DASHED_LINE
@ LS_MIN_2D_ANGLE
@ LS_CHAIN_COUNT
@ LS_NO_SORTING
@ LS_SPLIT_LENGTH
@ LS_SPLIT_PATTERN
@ LS_MAX_2D_ANGLE
@ LS_REVERSE_ORDER
@ LS_MAX_2D_LENGTH
@ LS_NO_CHAINING
@ LS_MATERIAL_BOUNDARY
@ LS_DS_EXPAND
@ LS_MODIFIER_INVERT
@ LS_MODIFIER_USE_CURVE
@ LS_CAPS_SQUARE
@ LS_CAPS_BUTT
@ LS_CAPS_ROUND
@ LS_PANEL_GEOMETRY
@ LS_PANEL_STROKES
@ LS_PANEL_ALPHA
@ LS_PANEL_TEXTURE
@ LS_PANEL_MISC
@ LS_PANEL_COLOR
@ LS_PANEL_THICKNESS
@ LS_SORT_KEY_PROJECTED_X
@ LS_SORT_KEY_2D_LENGTH
@ LS_SORT_KEY_DISTANCE_FROM_CAMERA
@ LS_SORT_KEY_PROJECTED_Y
@ LS_MODIFIER_EXPANDED
@ LS_MODIFIER_ENABLED
These structs are the foundation for all linked lists in the library system.
#define typedef
struct AnimData * adt
struct bNodeTree * nodetree
struct MTex * mtex[18]
Definition DNA_ID.h:414
struct LineStyleModifier modifier
struct LineStyleModifier modifier
struct LineStyleModifier modifier
struct LineStyleModifier modifier
struct LineStyleModifier modifier
struct LineStyleModifier modifier
struct LineStyleModifier * next
struct LineStyleModifier * prev