Blender  V3.3
DNA_curves_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include "DNA_ID.h"
10 #include "DNA_customdata_types.h"
11 
12 #include "BLI_utildefines.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #ifdef __cplusplus
19 namespace blender::bke {
20 class CurvesGeometryRuntime;
21 } // namespace blender::bke
23 #else
25 #endif
26 
27 typedef enum CurveType {
33 #define CURVE_TYPES_NUM 4
34 
35 typedef enum HandleType {
45 
47 typedef enum KnotsMode {
53 
55 typedef enum NormalMode {
59 
68 typedef struct CurvesGeometry {
81 
87 
92 
96  int point_num;
101 
107 
108 typedef struct Curves {
110  /* Animation data (must be immediately after id). */
111  struct AnimData *adt;
112 
114 
115  int flag;
117 
118  /* Materials. */
119  struct Material **mat;
120  short totcol;
121 
126  char symmetry;
132  char _pad[4];
133 
141  struct Object *surface;
142 
149 
150  /* Draw Cache. */
151  void *batch_cache;
153 
155 enum {
156  HA_DS_EXPAND = (1 << 0),
158 };
159 
161 typedef enum eCurvesSymmetryType {
167 
168 /* Only one material supported currently. */
169 #define CURVES_MATERIAL_NR 1
170 
171 #ifdef __cplusplus
172 }
173 #endif
#define ENUM_OPERATORS(_type, _max)
ID and Library types, which are fundamental for sdna.
CurveType
@ CURVE_TYPE_BEZIER
@ CURVE_TYPE_NURBS
@ CURVE_TYPE_POLY
@ CURVE_TYPE_CATMULL_ROM
NormalMode
@ NORMAL_MODE_MINIMUM_TWIST
@ NORMAL_MODE_Z_UP
HandleType
@ BEZIER_HANDLE_FREE
@ BEZIER_HANDLE_ALIGN
@ BEZIER_HANDLE_VECTOR
@ BEZIER_HANDLE_AUTO
struct CurvesGeometry CurvesGeometry
eCurvesSymmetryType
@ CURVES_SYMMETRY_Y
@ CURVES_SYMMETRY_Z
@ CURVES_SYMMETRY_X
struct Curves Curves
struct CurvesGeometryRuntimeHandle CurvesGeometryRuntimeHandle
@ CV_SCULPT_SELECTION_ENABLED
@ HA_DS_EXPAND
KnotsMode
@ NURBS_KNOT_MODE_ENDPOINT
@ NURBS_KNOT_MODE_NORMAL
@ NURBS_KNOT_MODE_BEZIER
@ NURBS_KNOT_MODE_ENDPOINT_BEZIER
CustomData point_data
CurvesGeometryRuntimeHandle * runtime
CustomData curve_data
CurvesGeometry geometry
char selection_domain
void * batch_cache
struct Object * surface
struct Material ** mat
struct AnimData * adt
short totcol
int attributes_active_index
char * surface_uv_map
char _pad[4]
Definition: DNA_ID.h:368