Blender V5.0
DNA_curve_types.h File Reference
#include "DNA_ID.h"
#include "DNA_curve_enums.h"
#include "DNA_defs.h"
#include "DNA_listBase.h"
#include "DNA_vec_types.h"

Go to the source code of this file.

Classes

struct  BevPoint
struct  BevList
struct  BezTriple
struct  BPoint
struct  Nurb
struct  CharInfo
struct  TextBox
struct  EditNurb
struct  Curve

Macros

#define BEZKEYTYPE(bezt)
#define BEZKEYTYPE_LVALUE(bezt)
#define BEZT_ISSEL_ANY(bezt)
#define BEZT_ISSEL_ALL(bezt)
#define BEZT_ISSEL_ALL_HIDDENHANDLES(v3d, bezt)
#define BEZT_ISSEL_ANY_HIDDENHANDLES(v3d, bezt)
#define BEZT_ISSEL_IDX(bezt, i)
#define BEZT_SEL_ALL(bezt)
#define BEZT_DESEL_ALL(bezt)
#define BEZT_SEL_INVERT(bezt)
#define BEZT_SEL_IDX(bezt, i)
#define BEZT_DESEL_IDX(bezt, i)
#define BEZT_IS_AUTOH(bezt)

Typedefs

typedef struct BevPoint BevPoint
typedef struct BevList BevList
typedef struct BezTriple BezTriple
typedef struct BPoint BPoint
typedef struct Nurb Nurb
typedef struct CharInfo CharInfo
typedef struct TextBox TextBox
typedef struct EditNurb EditNurb
typedef struct Curve Curve

Macro Definition Documentation

◆ BEZKEYTYPE

#define BEZKEYTYPE ( bezt)
Value:
(eBezTriple_KeyframeType((bezt)->hide))
eBezTriple_KeyframeType

Provide access to Keyframe Type info eBezTriple_KeyframeType in BezTriple::hide.

Note
this is so that we can change it to another location.

Definition at line 115 of file DNA_curve_types.h.

Referenced by compute_keyblock_data(), nalloc_ak_bezt(), and nupdate_ak_bezt().

◆ BEZKEYTYPE_LVALUE

◆ BEZT_DESEL_ALL

◆ BEZT_DESEL_IDX

#define BEZT_DESEL_IDX ( bezt,
i )
Value:
{ \
switch (i) { \
case 0: \
(bezt)->f1 &= ~SELECT; \
break; \
case 1: \
(bezt)->f2 &= ~SELECT; \
break; \
case 2: \
(bezt)->f3 &= ~SELECT; \
break; \
default: \
break; \
} \
} \
((void)0)
i
Definition text_draw.cc:230

Definition at line 392 of file DNA_curve_types.h.

Referenced by graphkeys_select_key_handles(), and toggle_select_bezt().

◆ BEZT_IS_AUTOH

#define BEZT_IS_AUTOH ( bezt)
Value:
(ELEM((bezt)->h1, HD_AUTO, HD_AUTO_ANIM) && ELEM((bezt)->h2, HD_AUTO, HD_AUTO_ANIM))
#define ELEM(...)
@ HD_AUTO_ANIM
@ HD_AUTO

Definition at line 410 of file DNA_curve_types.h.

Referenced by BKE_fcurve_handles_recalc_ex(), is_free_auto_point(), and blender::animrig::subdivide_nonauto_handles().

◆ BEZT_ISSEL_ALL

#define BEZT_ISSEL_ALL ( bezt)
Value:
(((bezt)->f2 & SELECT) && ((bezt)->f1 & SELECT) && ((bezt)->f3 & SELECT))

Definition at line 337 of file DNA_curve_types.h.

Referenced by ED_curve_nurb_select_all().

◆ BEZT_ISSEL_ALL_HIDDENHANDLES

#define BEZT_ISSEL_ALL_HIDDENHANDLES ( v3d,
bezt )
Value:
((((v3d) != NULL) && ((v3d)->overlay.handle_display == CURVE_HANDLE_NONE)) ? \
(bezt)->f2 & SELECT : \
BEZT_ISSEL_ALL(bezt))
@ CURVE_HANDLE_NONE

Definition at line 339 of file DNA_curve_types.h.

◆ BEZT_ISSEL_ANY

◆ BEZT_ISSEL_ANY_HIDDENHANDLES

◆ BEZT_ISSEL_IDX

#define BEZT_ISSEL_IDX ( bezt,
i )
Value:
((i == 0 && (bezt)->f1 & SELECT) || (i == 1 && (bezt)->f2 & SELECT) || \
(i == 2 && (bezt)->f3 & SELECT))

Definition at line 348 of file DNA_curve_types.h.

Referenced by copy_animedit_keys(), curve_pen_invoke(), get_selected_center(), move_adjacent_handle(), move_all_selected_points(), nearest_fcurve_vert_store(), ok_bezier_selected_key(), and toggle_select_bezt().

◆ BEZT_SEL_ALL

#define BEZT_SEL_ALL ( bezt)

◆ BEZT_SEL_IDX

#define BEZT_SEL_IDX ( bezt,
i )
Value:
{ \
switch (i) { \
case 0: \
(bezt)->f1 |= SELECT; \
break; \
case 1: \
(bezt)->f2 |= SELECT; \
break; \
case 2: \
(bezt)->f3 |= SELECT; \
break; \
default: \
break; \
} \
} \
((void)0)

Definition at line 374 of file DNA_curve_types.h.

Referenced by curve_pen_invoke(), extrude_vertices_from_selected_endpoints(), graphkeys_select_key_handles(), init_selected_bezt_handles(), insert_bezt_to_nurb(), and toggle_select_bezt().

◆ BEZT_SEL_INVERT

#define BEZT_SEL_INVERT ( bezt)
Value:
{ \
(bezt)->f1 ^= SELECT; \
(bezt)->f2 ^= SELECT; \
(bezt)->f3 ^= SELECT; \
} \
((void)0)

Definition at line 366 of file DNA_curve_types.h.

Typedef Documentation

◆ BevList

typedef struct BevList BevList

◆ BevPoint

typedef struct BevPoint BevPoint

◆ BezTriple

typedef struct BezTriple BezTriple

Keyframes on F-Curves (allows code reuse of Bezier eval code) and Points on Bezier Curves/Paths are generally BezTriples.

Note
BezTriple.tilt location in struct is abused by Key system.
vec in BezTriple looks like this:
  • vec[0][0] = x location of handle 1
  • vec[0][1] = y location of handle 1
  • vec[0][2] = z location of handle 1 (not used for FCurve Points(2d))
  • vec[1][0] = x location of control point
  • vec[1][1] = y location of control point
  • vec[1][2] = z location of control point
  • vec[2][0] = x location of handle 2
  • vec[2][1] = y location of handle 2
  • vec[2][2] = z location of handle 2 (not used for FCurve Points(2d))

◆ BPoint

typedef struct BPoint BPoint
Note
BPoint.tilt location in struct is abused by Key system.

◆ CharInfo

typedef struct CharInfo CharInfo

◆ Curve

typedef struct Curve Curve

Definition at line 71 of file CurveAdvancedIterators.h.

◆ EditNurb

typedef struct EditNurb EditNurb

◆ Nurb

typedef struct Nurb Nurb
Note
Nurb name is misleading, since it can be used for polygons too, also, it should be NURBS (Nurb isn't the singular of Nurbs).

◆ TextBox

typedef struct TextBox TextBox