Blender V5.0
DNA_curve_enums.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
12#define MAXTEXTBOX 256
13
14/* **************** CURVE ********************* */
15
17enum {
20};
21
23enum {
24 CU_3D = 1 << 0,
25 CU_FRONT = 1 << 1,
26 CU_BACK = 1 << 2,
27 CU_PATH = 1 << 3,
28 CU_FOLLOW = 1 << 4,
29 CU_PATH_CLAMP = 1 << 5,
31 CU_STRETCH = 1 << 7,
32 /* CU_OFFS_PATHDIST = 1 << 8, */ /* DEPRECATED */
33 CU_FAST = 1 << 9, /* Font: no filling inside editmode */
34 /* CU_RETOPO = 1 << 10, */ /* DEPRECATED */
35 CU_DS_EXPAND = 1 << 11,
37 CU_PATH_RADIUS = 1 << 12,
38 /* CU_DEFORM_FILL = 1 << 13, */ /* DEPRECATED */
40 CU_FILL_CAPS = 1 << 14,
42 CU_MAP_TAPER = 1 << 15,
43};
44
46enum {
48 /* CU_TWIST_Y_UP = 1, */ /* not used yet */
49 /* CU_TWIST_X_UP = 2, */
52};
53
54/* Curve.bevfac1_mapping, Curve.bevfac2_mapping, bevel factor mapping */
55enum {
59};
60
62enum {
68};
69
71enum {
77};
78
80enum {
84};
85
87enum {
94};
95
96/* Curve.overflow. */
97enum {
101};
102
104enum {
105 CU_SMOOTH = 1 << 0,
106};
107
109enum {
114
115 /* only for adding */
117
118 /* 2 or 4 points */
120 /* 8 points circle */
122 /* 4x4 patch NURB. */
127 /* 5 points, 5th order straight line (for anim path) */
129};
130
131/* Nurb.flagu, Nurb.flagv */
132enum {
137};
138
139#define CU_ACT_NONE -1
140
141/* *************** BEZTRIPLE **************** */
142
144typedef enum eBezTriple_Flag {
145 /* `SELECT = (1 << 0)` */
146 BEZT_FLAG_TEMP_TAG = (1 << 1), /* always clear. */
147 /* Can be used to ignore keyframe points for certain operations. */
150
151/* h1 h2 (beztriple) */
152typedef enum eBezTriple_Handle {
157 HD_AUTO_ANIM = 4, /* auto-clamped handles for animation */
158 HD_ALIGN_DOUBLESIDE = 5, /* align handles, displayed both of them. used for masks */
160
161/* auto_handle_type (beztriple) */
163 /* Normal automatic handle that can be refined further. */
165 /* Handle locked horizontal due to being an Auto Clamped local
166 * extreme or a curve endpoint with Constant extrapolation.
167 * Further smoothing is disabled. */
170
171/* interpolation modes (used only for BezTriple->ipo) */
173 /* traditional interpolation */
174 BEZT_IPO_CONST = 0, /* constant interpolation */
175 BEZT_IPO_LIN = 1, /* linear interpolation */
176 BEZT_IPO_BEZ = 2, /* bezier interpolation */
177
178 /* easing equations */
190
191/* easing modes (used only for Keyframes - BezTriple->easing) */
199
200/* types of keyframe (used only for BezTriple->hide when BezTriple is used in F-Curves) */
202 BEZT_KEYTYPE_KEYFRAME = 0, /* default - 'proper' Keyframe */
203 BEZT_KEYTYPE_EXTREME = 1, /* 'extreme' keyframe */
204 BEZT_KEYTYPE_BREAKDOWN = 2, /* 'breakdown' keyframe */
205 BEZT_KEYTYPE_JITTER = 3, /* 'jitter' keyframe (for adding 'filler' secondary motion) */
206 BEZT_KEYTYPE_MOVEHOLD = 4, /* one end of a 'moving hold' */
213
214/* *************** CHARINFO **************** */
215
222enum {
226 CU_CHINFO_UNUSED_3 = 1 << 3, /* Dirty. */
228 CU_CHINFO_UNUSED_5 = 1 << 5, /* Dirty. */
229 CU_CHINFO_UNUSED_6 = 1 << 6, /* Dirty. */
230};
231
233#define CU_CHINFO_STYLE_ALL \
234 (CU_CHINFO_BOLD | CU_CHINFO_ITALIC | CU_CHINFO_UNDERLINE | CU_CHINFO_SMALLCAPS)
235
236/* mixed with KEY_LINEAR but define here since only curve supports */
237#define KEY_CU_EASE 3
238
239/* indicates point has been seen during surface duplication */
240#define SURF_SEEN (1 << 2)
@ CU_ALIGN_Y_TOP
@ CU_ALIGN_Y_BOTTOM_BASELINE
@ CU_ALIGN_Y_CENTER
@ CU_ALIGN_Y_BOTTOM
@ CU_ALIGN_Y_TOP_BASELINE
@ CU_NURB_CYCLIC
@ CU_NURB_CUSTOM
@ CU_NURB_ENDPOINT
@ CU_NURB_BEZIER
@ CU_TWIST_MINIMUM
@ CU_TWIST_TANGENT
@ CU_TWIST_Z_UP
@ CU_ALIGN_X_FLUSH
@ CU_ALIGN_X_MIDDLE
@ CU_ALIGN_X_LEFT
@ CU_ALIGN_X_JUSTIFY
@ CU_ALIGN_X_RIGHT
@ CU_BEV_MODE_OBJECT
@ CU_BEV_MODE_ROUND
@ CU_BEV_MODE_CURVE_PROFILE
@ CU_OVERFLOW_SCALE
@ CU_OVERFLOW_TRUNCATE
@ CU_OVERFLOW_NONE
@ CU_SMOOTH
@ CU_FILL_CAPS
@ CU_FAST
@ CU_3D
@ CU_FRONT
@ CU_FOLLOW
@ CU_PATH
@ CU_STRETCH
@ CU_DS_EXPAND
@ CU_PATH_RADIUS
@ CU_PATH_CLAMP
@ CU_MAP_TAPER
@ CU_BACK
@ CU_DEFORM_BOUNDS_OFF
@ CU_PRIM_SPHERE
@ CU_PRIM_CURVE
@ CU_BEZIER
@ CU_PRIMITIVE
@ CU_TYPE
@ CU_POLY
@ CU_PRIM_DONUT
@ CU_PRIM_TUBE
@ CU_PRIM_CIRCLE
@ CU_NURBS
@ CU_PRIM_PATCH
@ CU_PRIM_PATH
eBezTriple_Handle
@ HD_AUTO_ANIM
@ HD_VECT
@ HD_FREE
@ HD_AUTO
@ HD_ALIGN_DOUBLESIDE
@ HD_ALIGN
@ CU_TEXSPACE_FLAG_AUTO
@ CU_TEXSPACE_FLAG_AUTO_EVALUATED
eBezTriple_Auto_Type
@ HD_AUTOTYPE_NORMAL
@ HD_AUTOTYPE_LOCKED_FINAL
@ CU_CHINFO_UNDERLINE
@ CU_CHINFO_BOLD
@ CU_CHINFO_ITALIC
@ CU_CHINFO_UNUSED_6
@ CU_CHINFO_UNUSED_5
@ CU_CHINFO_SMALLCAPS
@ CU_CHINFO_UNUSED_3
eBezTriple_Interpolation
@ BEZT_IPO_ELASTIC
@ BEZT_IPO_CIRC
@ BEZT_IPO_QUART
@ BEZT_IPO_BACK
@ BEZT_IPO_BOUNCE
@ BEZT_IPO_CUBIC
@ BEZT_IPO_EXPO
@ BEZT_IPO_CONST
@ BEZT_IPO_BEZ
@ BEZT_IPO_LIN
@ BEZT_IPO_SINE
@ BEZT_IPO_QUAD
@ BEZT_IPO_QUINT
@ CU_TAPER_RADIUS_OVERRIDE
@ CU_TAPER_RADIUS_MULTIPLY
@ CU_TAPER_RADIUS_ADD
eBezTriple_Easing
@ BEZT_IPO_EASE_OUT
@ BEZT_IPO_EASE_AUTO
@ BEZT_IPO_EASE_IN
@ BEZT_IPO_EASE_IN_OUT
eBezTriple_Flag
@ BEZT_FLAG_TEMP_TAG
@ BEZT_FLAG_IGNORE_TAG
@ CU_BEVFAC_MAP_SPLINE
@ CU_BEVFAC_MAP_RESOLU
@ CU_BEVFAC_MAP_SEGMENT
eBezTriple_KeyframeType
@ BEZT_KEYTYPE_EXTREME
@ BEZT_KEYTYPE_JITTER
@ BEZT_KEYTYPE_BREAKDOWN
@ BEZT_KEYTYPE_MOVEHOLD
@ BEZT_KEYTYPE_GENERATED
@ BEZT_KEYTYPE_KEYFRAME